HTTP/2: handle duplicate INITIAL_WINDOW_SIZE settings.
diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c
index 2c62190..98eeabc 100644
--- a/src/http/v2/ngx_http_v2.c
+++ b/src/http/v2/ngx_http_v2.c
@@ -2000,8 +2000,6 @@
}
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_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);