List for cgit developers and users
 help / color / mirror / Atom feed
* [PATCH 1/1] make sure to send http headers
@ 2015-08-13 22:02 list
  2015-08-14  9:08 ` john
  0 siblings, 1 reply; 3+ messages in thread
From: list @ 2015-08-13 22:02 UTC (permalink / raw)


From: Christian Hesse <mail at eworm.de>

Requesting a text/plain patch with bad commit id made cgit send text
without proper http headers. This results in "500 Internal Server Error"
with "Premature end of script headers" in server logs.
So print http headers before error message and return.

Signed-off-by: Christian Hesse <mail at eworm.de>
---
 ui-patch.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ui-patch.c b/ui-patch.c
index 6ec89b4..57ca2f8 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -25,21 +25,25 @@ void cgit_print_patch(const char *new_rev, const char *old_rev,
 		new_rev = ctx.qry.head;
 
 	if (get_sha1(new_rev, new_rev_sha1)) {
+		cgit_print_http_headers();
 		cgit_print_error("Bad object id: %s", new_rev);
 		return;
 	}
 	commit = lookup_commit_reference(new_rev_sha1);
 	if (!commit) {
+		cgit_print_http_headers();
 		cgit_print_error("Bad commit reference: %s", new_rev);
 		return;
 	}
 
 	if (old_rev) {
 		if (get_sha1(old_rev, old_rev_sha1)) {
+			cgit_print_http_headers();
 			cgit_print_error("Bad object id: %s", old_rev);
 			return;
 		}
 		if (!lookup_commit_reference(old_rev_sha1)) {
+			cgit_print_http_headers();
 			cgit_print_error("Bad commit reference: %s", old_rev);
 			return;
 		}
-- 
2.5.0



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-14 10:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-13 22:02 [PATCH 1/1] make sure to send http headers list
2015-08-14  9:08 ` john
2015-08-14 10:35   ` Jason

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).