BUG/MINOR: stream: properly clear the previous error mask on L7 retries

The cleanup of the previous error was incorrect on L7 retries, it would
OR two values while they're part of an enum, leaving some bits set.
Depending on the errors it was possible to occasionally see an internal
error ("I" flag) being logged.

This should be backported as far as 2.0, though the do_l7_retry() function
in in proto_htx.c in older versions.

(cherry picked from commit 75a4284babf50feecac17f9b32d07509b6c519ed)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 77ec58de4723f7b77bfb024c2f68e445e96a042a)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 57905228a8d24ed5db605c14c47d6e8877c7a0ca)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/proto_htx.c b/src/proto_htx.c
index 355e338..c5cc70c 100644
--- a/src/proto_htx.c
+++ b/src/proto_htx.c
@@ -1427,7 +1427,7 @@
 	res->to_forward = 0;
 	res->analyse_exp = TICK_ETERNITY;
 	res->total = 0;
-	s->flags &= ~(SF_ERR_SRVTO | SF_ERR_SRVCL);
+	s->flags &= ~SF_ERR_MASK;
 	si_release_endpoint(&s->si[1]);
 	b_free(&req->buf);
 	/* Swap the L7 buffer with the channel buffer */