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

* [PATCH 1/1] make sure to send http headers
  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
  0 siblings, 1 reply; 3+ messages in thread
From: john @ 2015-08-14  9:08 UTC (permalink / raw)


On Fri, Aug 14, 2015 at 12:02:50AM +0200, Christian Hesse wrote:
> 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>
> ---

Reviewed-by: John Keeping <john at keeping.me.uk>

This should change to use cgit_print_error_page() when
jk/http-status-codes lands, but it looks like I missed ui-patch.c in
that series (probably because it doesn't use want_layout in cmd.c).

>  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

* [PATCH 1/1] make sure to send http headers
  2015-08-14  9:08 ` john
@ 2015-08-14 10:35   ` Jason
  0 siblings, 0 replies; 3+ messages in thread
From: Jason @ 2015-08-14 10:35 UTC (permalink / raw)


Merged, thanks Christian.

John -- feel free to resubmit v2 of that branch when you're ready.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zx2c4.com/pipermail/cgit/attachments/20150814/0098d716/attachment.html>


^ 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).