From aed68d4390a15b35716f2f875db50ffd63482f80 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Thu, 28 Mar 2019 18:12:46 +0100 Subject: [PATCH] BUG/MINOR: proto_htx: Reset to_forward value when a message is set to DONE Because we try to forward infinitly message body, when its state is set to DONE, we must be sure to reset to_foward value of the corresponding channel. Otherwise, some errors can be errornously triggered. No need to backport this patch. --- src/proto_htx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/proto_htx.c b/src/proto_htx.c index 23a6faea2..e27f24e1b 100644 --- a/src/proto_htx.c +++ b/src/proto_htx.c @@ -1253,6 +1253,7 @@ int htx_request_forward_body(struct stream *s, struct channel *req, int an_bit) goto missing_data_or_waiting; msg->msg_state = HTTP_MSG_DONE; + req->to_forward = 0; done: /* other states, DONE...TUNNEL */ @@ -2183,6 +2184,7 @@ int htx_response_forward_body(struct stream *s, struct channel *res, int an_bit) goto missing_data_or_waiting; msg->msg_state = HTTP_MSG_DONE; + res->to_forward = 0; done: /* other states, DONE...TUNNEL */