# HG changeset patch
# User Roman Arutyunyan <arut@nginx.com>
# 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);
