diff options
author | Ruslan Ermilov <ru@nginx.com> | 2018-01-29 15:54:36 +0300 |
---|---|---|
committer | Ruslan Ermilov <ru@nginx.com> | 2018-01-29 15:54:36 +0300 |
commit | 34cf5d5e6a8e8c5ed0dea198b47448c5b33a9544 (patch) | |
tree | 1c72e0519fd8d2eb199508808aebb2ab243d7084 /src | |
parent | 63a4dab7b0c5e99ed273fb51ef0f6e1714d39e56 (diff) | |
download | nginx-34cf5d5e6a8e8c5ed0dea198b47448c5b33a9544.tar.gz nginx-34cf5d5e6a8e8c5ed0dea198b47448c5b33a9544.zip |
HTTP/2: handle duplicate INITIAL_WINDOW_SIZE settings.
Diffstat (limited to 'src')
-rw-r--r-- | src/http/v2/ngx_http_v2.c | 4 |
1 files 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); |