about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Fleischer <cgit@cryptocrack.de>2015-01-15 19:47:42 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2015-01-15 19:48:44 +0100
commited7e3bc822856c30066a4ff0178033b22046fe96 (patch)
treed0cfb14346d8f14f5dbb0ae75fe5071013666b19
parentgit: update to v2.2.2 (diff)
downloadcgit-pink-ed7e3bc822856c30066a4ff0178033b22046fe96.tar.gz
cgit-pink-ed7e3bc822856c30066a4ff0178033b22046fe96.zip
Return proper HTTP response when accessing info/
Currently, when a user directly accesses the info command of a
repository, we exit cgit without printing anything to stdout, bringing
up error messages like "502 Bad Gateway" or "An error occurred while
reading CGI reply (no response received)". Instead of bailing out, at
least print the HTTP headers, including a reasonable error message.

Reported-by: Janus Troelsen
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
-rw-r--r--ui-clone.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ui-clone.c b/ui-clone.c
index a4ffd6e..50569d6 100644
--- a/ui-clone.c
+++ b/ui-clone.c
@@ -71,8 +71,10 @@ static void send_file(char *path)
 
 void cgit_clone_info(void)
 {
-	if (!ctx.qry.path || strcmp(ctx.qry.path, "refs"))
+	if (!ctx.qry.path || strcmp(ctx.qry.path, "refs")) {
+		html_status(400, "Bad request", 0);
 		return;
+	}
 
 	ctx.page.mimetype = "text/plain";
 	ctx.page.filename = "info/refs";
0:44:14 -0400'>2019-10-27Reload certificate on SIGUSR1June McEnroe 2019-10-27Drop clients on zero-length readsJune McEnroe 2019-10-27Explicitly tls_handshake new clientsJune McEnroe This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately. 2019-10-26Document rationaleJune McEnroe 2019-10-26Handle nick collisionJune McEnroe 2019-10-26Wait for AUTHENTICATE + from serverJune McEnroe 2019-10-26Respond to PING with same parameterJune McEnroe 2019-10-26Add undocumented flag to disable verificationJune McEnroe 2019-10-26Do not require RPL_ISUPPORT for stateReadyJune McEnroe 2019-10-26Implement graceful shutdownJune McEnroe 2019-10-26Require PASS before USERJune McEnroe Prevent creating a ring consumer without authentication. 2019-10-26Track channel topicsJune McEnroe 2019-10-26Set AWAY when no clients are connectedJune McEnroe 2019-10-26Add flags to request TOPIC and NAMES on client connectJune McEnroe 2019-10-26OopsJune McEnroe 2019-10-26Disconnect client on unknown commandJune McEnroe During registration, no other commands should be sent. Afterwards, only intercepted commands will get parsed. 2019-10-26Allow reading sensitive information from filesJune McEnroe 2019-10-26Add rc scriptJune McEnroe 2019-10-25Add install and uninstall targetsJune McEnroe 2019-10-25Expand documentationJune McEnroe 2019-10-25Add AGPLv3 notice on client registrationJune McEnroe OwO 2019-10-25Rename project pounceJune McEnroe