[nginx] HTTP/2: fix $bytes_sent variable.

2017-03-29 Thread Valentin Bartenev
details: http://hg.nginx.org/nginx/rev/afc60bd9008f branches: changeset: 6952:afc60bd9008f user: Piotr Sikora date: Sun Mar 26 01:25:02 2017 -0700 description: HTTP/2: fix $bytes_sent variable. Previously, its value accounted for payloads of HEADERS, CONTINUATION and DATA frames, as

[nginx] HTTP/2: fix $body_bytes_sent variable.

2017-03-29 Thread Valentin Bartenev
details: http://hg.nginx.org/nginx/rev/663e6a48bfcb branches: changeset: 6953:663e6a48bfcb user: Piotr Sikora date: Sun Mar 26 01:25:03 2017 -0700 description: HTTP/2: fix $body_bytes_sent variable. Previously, its value included payloads and frame headers of HEADERS and CONTINUATIO

[njs] A small Array.prototype.sort() optimization.

2017-03-29 Thread Igor Sysoev
details: http://hg.nginx.org/njs/rev/90743d1bb614 branches: changeset: 323:90743d1bb614 user: Igor Sysoev date: Wed Mar 29 15:54:37 2017 +0300 description: A small Array.prototype.sort() optimization. diffstat: njs/njs_array.c | 34 ++ 1 files chan

[nginx] HTTP/2: fix flow control with padded DATA frames.

2017-03-29 Thread Valentin Bartenev
details: http://hg.nginx.org/nginx/rev/052305810ca4 branches: changeset: 6954:052305810ca4 user: Piotr Sikora date: Sun Mar 26 01:25:04 2017 -0700 description: HTTP/2: fix flow control with padded DATA frames. Previously, flow control didn't account for padding in DATA frames, which

[njs] Large indexes processing has been fixed in array iterator

2017-03-29 Thread Igor Sysoev
details: http://hg.nginx.org/njs/rev/8cdbd57379e8 branches: changeset: 322:8cdbd57379e8 user: Igor Sysoev date: Wed Mar 29 15:54:33 2017 +0300 description: Large indexes processing has been fixed in array iterator functions. diffstat: njs/njs_array.c | 26 +--

[nginx] HTTP/2: emit PROTOCOL_ERROR on padding errors.

2017-03-29 Thread Valentin Bartenev
details: http://hg.nginx.org/nginx/rev/d38161da62cd branches: changeset: 6955:d38161da62cd user: Piotr Sikora date: Sun Mar 26 01:25:05 2017 -0700 description: HTTP/2: emit PROTOCOL_ERROR on padding errors. Signed-off-by: Piotr Sikora diffstat: src/http/v2/ngx_http_v2.c | 6 +++

Re: [PATCH 1 of 2] HTTP/2: fix $bytes_sent variable

2017-03-29 Thread Valentin V. Bartenev
On Sunday 26 March 2017 01:41:09 Piotr Sikora via nginx-devel wrote: > # HG changeset patch > # User Piotr Sikora > # Date 1490516702 25200 > # Sun Mar 26 01:25:02 2017 -0700 > # Node ID 74ee816e712ee3b731437947470383555653338d > # Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061 > HTTP/2: fi

Re: [PATCH 2 of 2] HTTP/2: fix $body_bytes_sent variable

2017-03-29 Thread Valentin V. Bartenev
On Sunday 26 March 2017 01:41:10 Piotr Sikora via nginx-devel wrote: > # HG changeset patch > # User Piotr Sikora > # Date 1490516703 25200 > # Sun Mar 26 01:25:03 2017 -0700 > # Node ID dd6c656ed7a327641b2ddfc34768f9551e44bb0f > # Parent 74ee816e712ee3b731437947470383555653338d > HTTP/2: fi

Re: [PATCH] HTTP/2: emit PROTOCOL_ERROR on padding errors

2017-03-29 Thread Valentin V. Bartenev
On Sunday 26 March 2017 01:41:13 Piotr Sikora via nginx-devel wrote: > # HG changeset patch > # User Piotr Sikora > # Date 1490516705 25200 > # Sun Mar 26 01:25:05 2017 -0700 > # Node ID 8d3fb456411018e286345ba92a855ca42ca8af2f > # Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061 > HTTP/2: em

Re: [PATCH] HTTP/2: fix flow control with padded DATA frames

2017-03-29 Thread Valentin V. Bartenev
On Sunday 26 March 2017 01:41:11 Piotr Sikora via nginx-devel wrote: > # HG changeset patch > # User Piotr Sikora > # Date 1490516704 25200 > # Sun Mar 26 01:25:04 2017 -0700 > # Node ID 899a53d2789b8c6bafdd5e40d78b4e92dd32dd10 > # Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061 > HTTP/2: fi

[nginx] HTTP/2: fixed connection finalization.

2017-03-29 Thread Valentin Bartenev
details: http://hg.nginx.org/nginx/rev/83bae3d354ab branches: changeset: 6957:83bae3d354ab user: Valentin Bartenev date: Wed Mar 29 20:21:01 2017 +0300 description: HTTP/2: fixed connection finalization. All streams in connection must be finalized before the connection itself can be

[nginx] HTTP/2: fixed stream finalization.

2017-03-29 Thread Valentin Bartenev
details: http://hg.nginx.org/nginx/rev/9b5f31fdb850 branches: changeset: 6956:9b5f31fdb850 user: Valentin Bartenev date: Wed Mar 29 20:16:23 2017 +0300 description: HTTP/2: fixed stream finalization. In order to finalize stream the error flag is set on fake connection and either "wr

Re: [PATCH] HTTP/2: emit PROTOCOL_ERROR on invalid WINDOW_UPDATE increments

2017-03-29 Thread Piotr Sikora via nginx-devel
Hey Valentin, > Here's my version of the patch. > It's made similar to ngx_http_v2_state_priority(). > > # HG changeset patch > # User Valentin Bartenev > # Date 1490721720 -10800 > # Tue Mar 28 20:22:00 2017 +0300 > # Node ID 3e798c552767068056c0251d7b6bd9ffd2587fc0 > # Parent ce37362a7a70

Re: [PATCH] HTTP/2: add logging of RST_STREAM frames with NO_ERROR code

2017-03-29 Thread Piotr Sikora via nginx-devel
Hey Valentin, > Currently such frames are logged with message: > > "client terminated stream %ui with status 0" > > Could you explain why NO_ERROR needs special handling here? The same reason that "client canceled stream %ui" does, it's more appropriate error message. > I haven't found in RFC

Re: [PATCH] HTTP/2: reject HTTP/2 requests without ":scheme" pseudo-header

2017-03-29 Thread Piotr Sikora via nginx-devel
Hey Valentin, > IMHO it's not a good idea to combine style fixes with behavior changes. > Behavior changing commits are occasionally reverted. Fair enough, I'll update both patches shortly. > That's why it's still TODO (in other words intentionally skipped). > We discussed it with QA and decided

[PATCH] HTTP/2: style and typos

2017-03-29 Thread Piotr Sikora via nginx-devel
# HG changeset patch # User Piotr Sikora # Date 1490516701 25200 # Sun Mar 26 01:25:01 2017 -0700 # Node ID c76c2cedb2b2a1af16d77448e81801954713961f # Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061 HTTP/2: style and typos. Signed-off-by: Piotr Sikora diff -r 22be63bf21ed -r c76c2cedb2b2

[PATCH] HTTP/2: reject HTTP/2 requests without ":scheme" pseudo-header

2017-03-29 Thread Piotr Sikora via nginx-devel
# HG changeset patch # User Piotr Sikora # Date 1490516708 25200 # Sun Mar 26 01:25:08 2017 -0700 # Node ID 970f063ddc7aa1faa646514418abd6a9b2eff889 # Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061 HTTP/2: reject HTTP/2 requests without ":scheme" pseudo-header. Signed-off-by: Piotr Sikora

Re: [PATCH] HTTP/2: add fast-path for HTTP/2 requests without request body

2017-03-29 Thread Piotr Sikora via nginx-devel
Hey Valentin, > That doesn't look like a correct patch to me as it changes behavior > of ngx_http_read_client_request_body() specifically for HTTP/2 case. Well, the behavior is already different, which is what this patch is trying to mitigate. In case of HTTP/1.x, a single buffer with headers is

[PATCH] HTTP/2: add fast-path for HTTP/2 requests without request body

2017-03-29 Thread Piotr Sikora via nginx-devel
# HG changeset patch # User Piotr Sikora # Date 1490516712 25200 # Sun Mar 26 01:25:12 2017 -0700 # Node ID 630a8209defe25add7094dfc7b9bc9bcabe0933d # Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061 HTTP/2: add fast-path for HTTP/2 requests without request body. Signed-off-by: Piotr Sikora