]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: quic: Possible wrong PTO computing
authorFrédéric Lécaille <flecaille@haproxy.com>
Tue, 4 Apr 2023 13:47:16 +0000 (15:47 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 4 Apr 2023 16:24:28 +0000 (18:24 +0200)
As timestamps based on now_ms values are used to compute the probing timeout,
they may wrap. So, use ticks API to compared them.

Must be backported to 2.7 and 2.6.

src/quic_loss.c

index eff8e6c36c80bb6f7f8124a5993df96553de2b6e..bb518ca253972a744e8b740430b0cd923a9b9c83 100644 (file)
@@ -128,7 +128,7 @@ struct quic_pktns *quic_pto_pktns(struct quic_conn *qc,
 
                p = &qc->pktns[i];
                tmp_pto = tick_add(p->tx.time_of_last_eliciting, duration);
-               if (!tick_isset(lpto) || tmp_pto < lpto) {
+               if (!tick_isset(lpto) || tick_is_lt(tmp_pto, lpto)) {
                        lpto = tmp_pto;
                        pktns = p;
                }