aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPiotr Sikora <piotrsikora@google.com>2017-06-02 15:05:24 +0300
committerPiotr Sikora <piotrsikora@google.com>2017-06-02 15:05:24 +0300
commit1429139c570dbe9b60e30e79306b436fb249056b (patch)
treeef976fc2042a1b220e0316ffe047a6f299546917 /src
parent6cfc65c993ca7612083ffb247dc46aa69caf14f5 (diff)
downloadnginx-1429139c570dbe9b60e30e79306b436fb249056b.tar.gz
nginx-1429139c570dbe9b60e30e79306b436fb249056b.zip
HTTP/2: send SETTINGS ACK after applying all SETTINGS params.
This avoids sending unnecessary SETTINGS ACK in case of PROTOCOL_ERROR. Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/http/v2/ngx_http_v2.c4
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 0a0dcd72b..be7850940 100644
--- a/src/http/v2/ngx_http_v2.c
+++ b/src/http/v2/ngx_http_v2.c
@@ -1959,8 +1959,6 @@ ngx_http_v2_state_settings(ngx_http_v2_connection_t *h2c, u_char *pos,
return ngx_http_v2_connection_error(h2c, NGX_HTTP_V2_SIZE_ERROR);
}
- ngx_http_v2_send_settings(h2c, 1);
-
return ngx_http_v2_state_settings_params(h2c, pos, end);
}
@@ -2026,6 +2024,8 @@ ngx_http_v2_state_settings_params(ngx_http_v2_connection_t *h2c, u_char *pos,
pos += NGX_HTTP_V2_SETTINGS_PARAM_SIZE;
}
+ ngx_http_v2_send_settings(h2c, 1);
+
if (window_delta) {
if (ngx_http_v2_adjust_windows(h2c, window_delta) != NGX_OK) {
return ngx_http_v2_connection_error(h2c,