curl/lib/vquic
Graham Campbell b8c061c751
ngtcp2: let verify failures win over expiry processing errors
A flaky CI failure of `test_17_05_bad_ip_addr[h3]` (GnuTLS, event-based)
had curl detect the certificate name mismatch yet exit with
`CURLE_RECV_ERROR` (56) instead of `CURLE_PEER_FAILED_VERIFICATION`
(60). `Curl_cf_ngtcp2_cmn_connect` calls `Curl_cf_ngtcp2_cmn_set_expiry`
after its `ctx->tls_vrfy_result` override and returns the error
unfiltered, so when the server's final handshake flight happens to be
processed by the ingress inside set_expiry, the verify failure surfaces
as a generic receive error.

This PR makes set_expiry prefer `ctx->tls_vrfy_result` over generic
progress errors, as the recv and send paths already do after calling it,
and also covers the `cf-ngtcp2-proxy.c` call sites that lack the
override. Completes #21712. Seen in
https://github.com/curl/curl/actions/runs/29243256619/job/86794119412.

Closes #22317
2026-07-15 22:04:38 +02:00
..
capsule.c cf-capsule: complete filter 2026-06-15 15:42:22 +02:00
capsule.h cf-capsule: complete filter 2026-06-15 15:42:22 +02:00
cf-capsule.c cf-capsule: complete filter 2026-06-15 15:42:22 +02:00
cf-capsule.h cf-capsule: complete filter 2026-06-15 15:42:22 +02:00
cf-ngtcp2-cmn.c ngtcp2: let verify failures win over expiry processing errors 2026-07-15 22:04:38 +02:00
cf-ngtcp2-cmn.h ngtcp2: share common functionality 2026-06-10 13:28:05 +02:00
cf-ngtcp2-proxy.c lib: ratelimit timestamps 2026-07-13 11:53:00 +02:00
cf-ngtcp2-proxy.h ngtcp2: share common functionality 2026-06-10 13:28:05 +02:00
cf-ngtcp2.c lib: ratelimit timestamps 2026-07-13 11:53:00 +02:00
cf-ngtcp2.h ngtcp2: share common functionality 2026-06-10 13:28:05 +02:00
cf-quiche.c quiche: set the max field section size 2026-07-15 21:52:07 +02:00
cf-quiche.h ngtcp2: share common functionality 2026-06-10 13:28:05 +02:00
vquic-tls.c ngtcp2: share common functionality 2026-06-10 13:28:05 +02:00
vquic-tls.h ngtcp2: share common functionality 2026-06-10 13:28:05 +02:00
vquic.c vquic: add Curl_ prefix to some global functions 2026-07-03 09:54:15 +02:00
vquic.h ngtcp2: share common functionality 2026-06-10 13:28:05 +02:00
vquic_int.h vquic: add Curl_ prefix to some global functions 2026-07-03 09:54:15 +02:00