]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: http: don't log a 503 on client errors while waiting for requests
authorWilly Tarreau <w@1wt.eu>
Tue, 4 Dec 2012 09:39:01 +0000 (10:39 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 4 Dec 2012 09:52:22 +0000 (10:52 +0100)
If a client aborts a request with an error (typically a TCP reset), we must
log a 400. Till now we did not set the status nor close the stream interface,
causing the request to attempt to be forwarded and logging a 503.

Should be backported to 1.4 which is affected as well.

src/proto_http.c

index 0e51c089f45a5907870f22188b8e67bd09fcaeed..54850d7829043a854336a776bfc8783401ac2c76 100644 (file)
@@ -2334,6 +2334,8 @@ int http_wait_for_request(struct session *s, struct channel *req, int an_bit)
                                session_inc_http_err_ctr(s);
                        }
 
+                       txn->status = 400;
+                       stream_int_retnclose(req->prod, NULL);
                        msg->msg_state = HTTP_MSG_ERROR;
                        req->analysers = 0;