Welcome! Log In Create A New Profile

Advanced

Re: [PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Valentin V. Bartenev
June 01, 2017 01:56PM
On Thursday 01 June 2017 17:48:25 Valentin V. Bartenev wrote:
> On Monday 24 April 2017 15:48:23 Piotr Sikora via nginx-devel wrote:
> > # HG changeset patch
> > # User Piotr Sikora <piotrsikora@google.com>
> > # Date 1493073310 25200
> > # Mon Apr 24 15:35:10 2017 -0700
> > # Node ID 07adf0a7009c3244de4b795c0c06927f4316a87f
> > # Parent 2c4dbcd6f2e4c9c2a1eb8dc1f0d39c99975ae208
> > HTTP/2: emit new frames only after applying all SETTINGS params.
> >
> > Previously, new frames could be emitted in the middle of applying
> > new (and already acknowledged) SETTINGS params, which is illegal.
> >
> > Signed-off-by: Piotr Sikora <piotrsikora@google.com>
> >
> > diff -r 2c4dbcd6f2e4 -r 07adf0a7009c src/http/v2/ngx_http_v2.c
> > --- a/src/http/v2/ngx_http_v2.c
> > +++ b/src/http/v2/ngx_http_v2.c
> > @@ -1982,7 +1982,9 @@ static u_char *
> > ngx_http_v2_state_settings_params(ngx_http_v2_connection_t *h2c, u_char *pos,
> > u_char *end)
> > {
> > - ngx_uint_t id, value;
> > + ngx_uint_t id, value, adjustment;
>
> The new initial window size can be lower than the previous one,
> so the difference can be negative (that's why the delta parameter
> of ngx_http_v2_adjust_windows() is ssize_t).
>
> Please consider the patch below:
>
> diff -r 00015416ae79 src/http/v2/ngx_http_v2.c
> --- a/src/http/v2/ngx_http_v2.c Mon Apr 24 15:35:10 2017 -0700
> +++ b/src/http/v2/ngx_http_v2.c Thu Jun 01 17:45:37 2017 +0300
> @@ -1969,7 +1969,8 @@ static u_char *
> ngx_http_v2_state_settings_params(ngx_http_v2_connection_t *h2c, u_char *pos,
> u_char *end)
> {
> - ngx_uint_t id, value, adjustment;
> + ssize_t window_delta;
> + ngx_uint_t id, value;
>
> adjustment = 0;
>
[..]

Err.. of course here should be "window_delta = 0;".

wbr, Valentin V. Bartenev
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Piotr Sikora via nginx-devel 497 April 24, 2017 06:50PM

[PATCH 3 of 4] HTTP/2: make SETTINGS ACK frame reusable

Piotr Sikora via nginx-devel 231 April 24, 2017 06:50PM

Re: [PATCH 3 of 4] HTTP/2: make SETTINGS ACK frame reusable

Valentin V. Bartenev 167 June 01, 2017 01:54PM

[PATCH 2 of 4] HTTP/2: send SETTINGS ACK after applying all SETTINGS params

Piotr Sikora via nginx-devel 261 April 24, 2017 06:50PM

Re: [PATCH 2 of 4] HTTP/2: send SETTINGS ACK after applying all SETTINGS params

Valentin V. Bartenev 193 June 01, 2017 01:24PM

[PATCH 4 of 4] HTTP/2: don't send SETTINGS ACK before already queued DATA frames

Piotr Sikora via nginx-devel 231 April 24, 2017 06:50PM

Re: [PATCH 4 of 4] HTTP/2: don't send SETTINGS ACK before already queued DATA frames

Valentin V. Bartenev 233 June 01, 2017 01:54PM

Re: [PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Piotr Sikora via nginx-devel 237 May 30, 2017 05:24PM

Re: [PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Valentin V. Bartenev 189 June 01, 2017 10:50AM

Re: [PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Valentin V. Bartenev 189 June 01, 2017 01:56PM

Re: [PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Piotr Sikora via nginx-devel 189 June 01, 2017 05:56PM

Re: [PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Valentin V. Bartenev 349 June 02, 2017 08:12AM

[PATCH 1 of 4] HTTP/2: emit new frames only after applying all SETTINGS params

Piotr Sikora via nginx-devel 208 June 01, 2017 05:54PM

[PATCH 2 of 4] HTTP/2: send SETTINGS ACK after applying all SETTINGS params

Piotr Sikora via nginx-devel 213 June 01, 2017 05:54PM

[PATCH 3 of 4] HTTP/2: make SETTINGS ACK frame reusable

Piotr Sikora via nginx-devel 244 June 01, 2017 05:54PM

[PATCH 4 of 4] HTTP/2: don't send SETTINGS ACK before already queued DATA frames

Piotr Sikora via nginx-devel 197 June 01, 2017 05:54PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 271
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready