From 34cf5d5e6a8e8c5ed0dea198b47448c5b33a9544 Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Mon, 29 Jan 2018 15:54:36 +0300 Subject: [PATCH] HTTP/2: handle duplicate INITIAL_WINDOW_SIZE settings. --- src/http/v2/ngx_http_v2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c index 2c621907b..98eeabce2 100644 --- a/src/http/v2/ngx_http_v2.c +++ b/src/http/v2/ngx_http_v2.c @@ -2000,8 +2000,6 @@ ngx_http_v2_state_settings_params(ngx_http_v2_connection_t *h2c, u_char *pos, } window_delta = value - h2c->init_window; - - h2c->init_window = value; break; case NGX_HTTP_V2_MAX_FRAME_SIZE_SETTING: @@ -2037,6 +2035,8 @@ ngx_http_v2_state_settings_params(ngx_http_v2_connection_t *h2c, u_char *pos, ngx_http_v2_queue_ordered_frame(h2c, frame); if (window_delta) { + h2c->init_window += window_delta; + if (ngx_http_v2_adjust_windows(h2c, window_delta) != NGX_OK) { return ngx_http_v2_connection_error(h2c, NGX_HTTP_V2_INTERNAL_ERROR);