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 10a2948..ca7de95 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;
        }