]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: quic: Wrong Retry token generation timestamp computing
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 19 Apr 2023 15:31:28 +0000 (17:31 +0200)
committerFrédéric Lécaille <flecaille@haproxy.com>
Wed, 19 Apr 2023 15:31:28 +0000 (17:31 +0200)
Again a now_ms variable value used without the ticks API. It is used
to store the generation time of the Retry token to be received back
from the client.

Must be backported to 2.6 and 2.7.

src/quic_conn.c

index 10a2948a0e3f041a9225869a15a3398e98eea6fe..ca7de95102e99cf2a941c5e6b7dbdf4a9b32aafa 100644 (file)
@@ -5414,7 +5414,7 @@ static int parse_retry_token(struct quic_conn *qc,
        }
 
        timestamp = ntohl(read_u32(token + odcid_len));
-       if (timestamp + MS_TO_TICKS(QUIC_RETRY_DURATION_MS) <= now_ms) {
+       if (tick_is_expired(tick_add(timestamp, MS_TO_TICKS(QUIC_RETRY_DURATION_MS)), now_ms)) {
                TRACE_ERROR("token has expired", QUIC_EV_CONN_LPKT, qc);
                goto leave;
        }