[nginx] HTTP/2: send SETTINGS ACK after applying all SETTINGS params.

Valentin Bartenev vbart at nginx.com
Fri Jun 2 12:08:29 UTC 2017


details:   http://hg.nginx.org/nginx/rev/859d80f57aab
branches:  
changeset: 7023:859d80f57aab
user:      Piotr Sikora <piotrsikora at google.com>
date:      Fri Jun 02 15:05:24 2017 +0300
description:
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 at google.com>

diffstat:

 src/http/v2/ngx_http_v2.c |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (21 lines):

diff -r 645ed7112a01 -r 859d80f57aab src/http/v2/ngx_http_v2.c
--- a/src/http/v2/ngx_http_v2.c	Fri Jun 02 15:05:20 2017 +0300
+++ b/src/http/v2/ngx_http_v2.c	Fri Jun 02 15:05:24 2017 +0300
@@ -1959,8 +1959,6 @@ ngx_http_v2_state_settings(ngx_http_v2_c
         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_ht
         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,


More information about the nginx-devel mailing list