BUG/MINOR: http-ana: Properly catch aborts during the payload forwarding

When no data filter are registered on a channel, if the message length is known,
the HTTP payload is infinitely forwarded to save calls to process_stream(). When
we finally fall back again in XFER_BODY analyzers, we detect the end of the
message by checking channel flags. If CF_EOI or CF_SHUTR is set, we switch the
message in DONE state. For CF_EOI, it is relevant. But not for CF_SHUTR. a
shutdown for reads without the end of input must be interpreted as an abort for
messages with a known length.

Because of this bug, some aborts are not properly handled and reported. Instead,
we interpret it as a legitimate shutdown.

This patch must be backported to 2.0.

(cherry picked from commit 145719a722def08c079589bf132160ac50911f9f)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/proto_htx.c b/src/proto_htx.c
index 857e820..3de33b5 100644
--- a/src/proto_htx.c
+++ b/src/proto_htx.c
@@ -1204,7 +1204,7 @@
 
 	if (req->to_forward) {
 		if (req->to_forward == CHN_INFINITE_FORWARD) {
-			if (req->flags & (CF_SHUTR|CF_EOI)) {
+			if (req->flags & CF_EOI) {
 				msg->msg_state = HTTP_MSG_DONE;
 				req->to_forward = 0;
 				goto done;
@@ -2205,7 +2205,7 @@
 
 	if (res->to_forward) {
 		if (res->to_forward == CHN_INFINITE_FORWARD) {
-			if (res->flags & (CF_SHUTR|CF_EOI)) {
+			if (res->flags & CF_EOI) {
 				msg->msg_state = HTTP_MSG_DONE;
 				res->to_forward = 0;
 				goto done;