summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2026-02-19 07:26:42 +0000
committerSergey Kandaurov <s.kandaurov@f5.com>2026-03-16 11:37:33 +0400
commitbcd1a01d3bf54fb20de23356df0a23aa16487fd5 (patch)
tree070a1d102b6ca35e117473dc1b3eeb15408b1afd /src/http/modules
parente23e7dd83a75b073773c3bc1e57bdb36c27bcc3f (diff)
downloadnginx-bcd1a01d3bf54fb20de23356df0a23aa16487fd5.tar.gz
nginx-bcd1a01d3bf54fb20de23356df0a23aa16487fd5.tar.bz2
Proxy: reset pending control frames on HTTP/2 upstream reinit.
Previously, ctx->out was not cleared in ngx_http_proxy_v2_reinit_request(), which could cause stale HTTP/2 control frames (SETTINGS ACK, PING ACK, WINDOW_UPDATE) queued for the old upstream connection to be sent to a new upstream connection during a retry.
Diffstat (limited to 'src/http/modules')
-rw-r--r--src/http/modules/ngx_http_proxy_v2_module.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_proxy_v2_module.c b/src/http/modules/ngx_http_proxy_v2_module.c
index 2c8a3d4d1..4c282a864 100644
--- a/src/http/modules/ngx_http_proxy_v2_module.c
+++ b/src/http/modules/ngx_http_proxy_v2_module.c
@@ -946,6 +946,7 @@ ngx_http_proxy_v2_reinit_request(ngx_http_request_t *r)
ctx->connection = NULL;
ctx->in = NULL;
ctx->busy = NULL;
+ ctx->out = NULL;
return NGX_OK;
}