From dae2a8a5a542e8a166b7bbb2164c666334c9fcea Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 23 Jul 2012 10:55:43 +0200 Subject: [PATCH] BUG/MINOR: tarpit: fix condition to return the HTTP 500 message Commit fa7e1025 (1.3.16-rc1) introduced a minor bug by comparing req->flags with BF_READ_ERROR instead of checking for the bit. The result is that the error message is always returned even in case of client error. This has no real impact but this must be fixed. It may be backported to 1.4 and 1.3. --- src/proto_http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_http.c b/src/proto_http.c index 820f6434f..7e1d738d8 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -3540,7 +3540,7 @@ int http_process_tarpit(struct session *s, struct buffer *req, int an_bit) s->logs.t_queue = tv_ms_elapsed(&s->logs.tv_accept, &now); txn->status = 500; - if (req->flags != BF_READ_ERROR) + if (!(req->flags & BF_READ_ERROR)) stream_int_retnclose(req->prod, error_message(s, HTTP_ERR_500)); req->analysers = 0;