]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: tevt/mux-h2: Set truncated receive/eos events at SE level on error
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 4 Feb 2025 07:21:06 +0000 (08:21 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 6 Feb 2025 10:19:32 +0000 (11:19 +0100)
When receive or EOS termination events are reported at the SE level, a
truncation was erroneously reported when no error was detected. Of course, it
must be the opposite.

No backport needed.

src/mux_h2.c

index 0dab728fbeca104705da970cd988f97b23283c25..6070c2e096e63274b5cdcac0feeb71144d226a63 100644 (file)
@@ -1828,10 +1828,10 @@ static inline void h2s_propagate_term_flags(struct h2c *h2c, struct h2s *h2s)
                se_fl_set(h2s->sd, SE_FL_EOS);
                if (!se_fl_test(h2s->sd, SE_FL_EOI)) {
                        se_fl_set(h2s->sd, SE_FL_ERROR);
-                       se_report_term_evt(h2s->sd, (h2c->flags & H2_CF_ERROR ? se_tevt_type_rcv_err : se_tevt_type_eos));
+                       se_report_term_evt(h2s->sd, (h2c->flags & H2_CF_ERROR ? se_tevt_type_truncated_rcv_err : se_tevt_type_truncated_eos));
                }
                else
-                       se_report_term_evt(h2s->sd, (h2c->flags & H2_CF_ERROR ? se_tevt_type_truncated_rcv_err : se_tevt_type_truncated_eos));
+                       se_report_term_evt(h2s->sd, (h2c->flags & H2_CF_ERROR ? se_tevt_type_rcv_err : se_tevt_type_eos));
        }
        if (se_fl_test(h2s->sd, SE_FL_ERR_PENDING))
                se_fl_set(h2s->sd, SE_FL_ERROR);