summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--html.c21
1 files changed, 3 insertions, 18 deletions
diff --git a/html.c b/html.c
index 5104667..981dc4c 100644
--- a/html.c
+++ b/html.c
@@ -91,14 +91,6 @@ htmlAddressList(FILE *file, const char *name, struct AddressList list) {
 	return templateRender(file, Q(</div>), NULL, NULL);
 }
 
-static char *htmlFragment(const char *messageID) {
-	struct Variable vars[] = {
-		{ "messageID", messageID },
-		{0},
-	};
-	return templateString("#[messageID]", vars, escapeURL);
-}
-
 static char *htmlMbox(const char *messageID) {
 	struct Variable vars[] = {
 		{ "messageID", messageID },
@@ -155,40 +147,35 @@ static char *htmlReply(const struct Envelope *envelope) {
 }
 
 int htmlMessageNav(FILE *file, const struct Envelope *envelope) {
-	char *parent = envelope->inReplyTo
-		? htmlFragment(envelope->inReplyTo)
-		: NULL;
 	char *mbox = htmlMbox(envelope->messageID);
 	char *reply = htmlReply(envelope);
 	const char *template = Q(
 		<nav>
 			[+parent]
-			<a href="[parent]">parent</a>
+			<a href="#[parent]">parent</a>
 			[-]
 			<a href="[mbox]">download</a>
 			<a href="[reply]">reply</a>
 		</nav>
 	);
 	struct Variable vars[] = {
-		{ "parent", parent },
+		{ "parent", envelope->inReplyTo },
 		{ "mbox", mbox },
 		{ "reply", reply },
 		{0},
 	};
 	int error = templateRender(file, template, vars, escapeXML);
-	free(parent);
 	free(mbox);
 	free(reply);
 	return error;
 }
 
 int htmlMessageOpen(FILE *file, const struct Envelope *envelope, bool nested) {
-	char *fragment = htmlFragment(envelope->messageID);
 	char *mailto = htmlMailto(envelope->from);
 	const char *template = Q(
 		<article class="message" id="[messageID]">
 		<header>
-			<h2 class="Subject"><a href="[fragment]">[subject]</a></h2>
+			<h2 class="Subject"><a href="#[messageID]">[subject]</a></h2>
 			<div class="From">
 				From: <a href="[mailto]">[from]</a>
 				<time datetime="[utc]">[date]</time>
@@ -196,7 +183,6 @@ int htmlMessageOpen(FILE *file, const struct Envelope *envelope, bool nested) {
 	);
 	struct Variable vars[] = {
 		{ "messageID", envelope->messageID },
-		{ "fragment", fragment },
 		{ "subject", envelope->subject },
 		{ "mailto", mailto },
 		{ "from", addressName(envelope->from) },
@@ -210,7 +196,6 @@ int htmlMessageOpen(FILE *file, const struct Envelope *envelope, bool nested) {
 		|| htmlAddressList(file, "Cc", envelope->cc)
 		|| (nested ? 0 : htmlMessageNav(file, envelope))
 		|| templateRender(file, Q(</header>), NULL, NULL);
-	free(fragment);
 	free(mailto);
 	return error;
 }
it version v2.20.0. Required changes follow upstream commits: * 00436bf1b1c2a8fe6cf5d2c2457d419d683042f4 (archive: initialize archivers earlier) * 611e42a5980a3a9f8bb3b1b49c1abde63c7a191e (xdiff: provide a separate emit callback for hunks) Signed-off-by: Christian Hesse <mail@eworm.de> 2018-11-25ui-blame: set repo for sbJason A. Donenfeld Otherwise recent git complains and crashes with: "BUG: blame.c:1787: repo is NULL". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 2018-11-25auth-filter: pass url with query string attachedJason A. Donenfeld Otherwise redirections come out wrong. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 2018-11-21git: use xz compressed archive for downloadChristian Hesse Upstream will stop providing gz compressed source tarballs [0], so stop using them. [0] https://lists.zx2c4.com/pipermail/cgit/2018-November/004254.html Signed-off-by: Christian Hesse <mail@eworm.de> 2018-10-12git: update to v2.19.1Christian Hesse Update to git version v2.19.1. Required changes follow upstream commits: * commit: add repository argument to get_cached_commit_buffer (3ce85f7e5a41116145179f0fae2ce6d86558d099) * commit: add repository argument to lookup_commit_reference (2122f6754c93be8f02bfb5704ed96c88fc9837a8) * object: add repository argument to parse_object (109cd76dd3467bd05f8d2145b857006649741d5c) * tag: add repository argument to deref_tag (a74093da5ed601a09fa158e5ba6f6f14c1142a3e) * tag: add repository argument to lookup_tag (ce71efb713f97f476a2d2ab541a0c73f684a5db3) * tree: add repository argument to lookup_tree (f86bcc7b2ce6cad68ba1a48a528e380c6126705e) * archive.c: avoid access to the_index (b612ee202a48f129f81f8f6a5af6cf71d1a9caef) * for_each_*_object: move declarations to object-store.h (0889aae1cd18c1804ba01c1a4229e516dfb9fe9b) Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11ui-ssdiff: ban strcat()Christian Hesse Git upstream bans strcat() with commit: banned.h: mark strcat() as banned 1b11b64b815db62f93a04242e4aed5687a448748 Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11ui-ssdiff: ban strncpy()Christian Hesse Git upstream bans strncpy() with commit: banned.h: mark strncpy() as banned e488b7aba743d23b830d239dcc33d9ca0745a9ad Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11ui-shared: ban strcat()Christian Hesse Git upstream bans strcat() with commit: banned.h: mark strcat() as banned 1b11b64b815db62f93a04242e4aed5687a448748 To avoid compiler warnings from gcc 8.1.x we get the hard way. Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11ui-patch: ban sprintf()Christian Hesse Git upstream bans sprintf() with commit: banned.h: mark sprintf() as banned cc8fdaee1eeaf05d8dd55ff11f111b815f673c58 Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11ui-log: ban strncpy()Christian Hesse Git upstream bans strncpy() with commit: banned.h: mark strncpy() as banned e488b7aba743d23b830d239dcc33d9ca0745a9ad Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11ui-log: ban strcpy()Christian Hesse Git upstream bans strcpy() with commit: automatically ban strcpy() c8af66ab8ad7cd78557f0f9f5ef6a52fd46ee6dd Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11parsing: ban sprintf()Christian Hesse Git upstream bans sprintf() with commit: banned.h: mark sprintf() as banned cc8fdaee1eeaf05d8dd55ff11f111b815f673c58 Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11parsing: ban strncpy()Christian Hesse Git upstream bans strncpy() with commit: banned.h: mark strncpy() as banned e488b7aba743d23b830d239dcc33d9ca0745a9ad Signed-off-by: Christian Hesse <mail@eworm.de> 2018-08-28filters: generate anchor links from markdownChristian Hesse This makes the markdown filter generate anchor links for headings. Signed-off-by: Christian Hesse <mail@eworm.de> Tested-by: jean-christophe manciot <actionmystique@gmail.com> 2018-08-03Bump version.Jason A. Donenfeld Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 2018-08-03clone: fix directory traversalJason A. Donenfeld This was introduced in the initial version of this code, way back when in 2008. $ curl http://127.0.0.1/cgit/repo/objects/?path=../../../../../../../../../etc/passwd root:x:0:0:root:/root:/bin/sh ... Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reported-by: Jann Horn <jannh@google.com> 2018-08-03config: record repo.snapshot-prefix in the per-repo configKonstantin Ryabitsev