changeset 7190:e11a0679d349

HTTP/2: handle duplicate INITIAL_WINDOW_SIZE settings.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 29 Jan 2018 15:54:36 +0300
parents cbf59d483c9c
children 61d276dcd493
files src/http/v2/ngx_http_v2.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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_ht
             }
 
             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_ht
     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);