# HG changeset patch # User Roman Arutyunyan # Date 1693294448 -14400 # Tue Aug 29 11:34:08 2023 +0400 # Node ID 31823ea0fd2ee88b5399f387587f9e11f48ae1fc # Parent 7f451ca6f449958011e29aee5231e70be4992374 QUIC: ignore old path validation error (ticket #2532). After apparent client migration, nginx validates the old path. However, this path may already be unavailable by the time of validation, which may result in a socket error returned directly by sendmsg(). In this case nginx used to close the connection. Now the error is ignored and path validation proceeds as usual, with several retries and a timeout. diff --git a/src/event/quic/ngx_event_quic_migration.c b/src/event/quic/ngx_event_quic_migration.c --- a/src/event/quic/ngx_event_quic_migration.c +++ b/src/event/quic/ngx_event_quic_migration.c @@ -518,9 +518,7 @@ ngx_quic_validate_path(ngx_connection_t return NGX_ERROR; } - if (ngx_quic_send_path_challenge(c, path) != NGX_OK) { - return NGX_ERROR; - } + (void) ngx_quic_send_path_challenge(c, path); ctx = ngx_quic_get_send_ctx(qc, ssl_encryption_application); pto = ngx_max(ngx_quic_pto(c, ctx), 1000);