← Commit list

0061b2bfaa

Joshua Rogers
Joshua Rogers
2025-10-07
SUCCESS Duration: 192s

Subject

vquic: fix idle-timeout checks (ngtcp2 ms<-->ns), 64-bit log & honor 0=no-timeout (osslquic)

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/vquic/curl_ngtcp2.c+3 -2
@@ -2744,8 +2744,9 @@ static bool cf_ngtcp2_conn_is_alive(struct Curl_cfilter *cf,
* it will close the connection when it expires. */
rp = ngtcp2_conn_get_remote_transport_params(ctx->qconn);
if(rp && rp->max_idle_timeout) {
- timediff_t idletime = curlx_timediff(curlx_now(), ctx->q.last_io);
- if(idletime > 0 && (uint64_t)idletime > rp->max_idle_timeout)
+ timediff_t idletime_ms = curlx_timediff(curlx_now(), ctx->q.last_io);
+ if(idletime_ms > 0 &&
+ ((uint64_t)idletime_ms * NGTCP2_MILLISECONDS) > rp->max_idle_timeout)
goto out;
}
lib/vquic/curl_osslq.c+4 -3
@@ -2251,10 +2251,11 @@ static bool cf_osslq_conn_is_alive(struct Curl_cfilter *cf,
"assume connection is dead.");
goto out;
}
- CURL_TRC_CF(data, cf, "negotiated idle timeout: %zums", (size_t)idle_ms);
+ CURL_TRC_CF(data, cf, "negotiated idle timeout: %" FMT_PRIu64 "ms",
+ (curl_uint64_t)idle_ms);
idletime = curlx_timediff(curlx_now(), ctx->q.last_io);
- if(idletime > 0 && (uint64_t)idletime > idle_ms)
- goto out;
+ if(idle_ms != 0 && idletime > 0 && (uint64_t)idletime > idle_ms)
+ goto out;
}
#endif