Re: [nginx] QUIC: "handshake_timeout" configuration parameter.

2024-04-10 Thread Vladimir Homutov via nginx-devel
On Tue, Apr 09, 2024 at 03:02:21PM +0400, Roman Arutyunyan wrote: > Hello Vladimir, > > On Mon, Apr 08, 2024 at 03:03:27PM +0300, Vladimir Homutov via nginx-devel > wrote: > > On Fri, Sep 22, 2023 at 03:36:25PM +, Roman Arutyunyan wrote: > > > details: htt

Re: [nginx] QUIC: "handshake_timeout" configuration parameter.

2024-04-08 Thread Vladimir Homutov via nginx-devel
On Fri, Sep 22, 2023 at 03:36:25PM +, Roman Arutyunyan wrote: > details: https://hg.nginx.org/nginx/rev/ad3d34ddfdcc > branches: > changeset: 9158:ad3d34ddfdcc > user: Roman Arutyunyan > date: Wed Sep 13 17:59:37 2023 +0400 > description: > QUIC: "handshake_timeout" configuration

Re: nginxQuic: скорость загрузки при активации kTLS

2024-01-03 Thread Vladimir Homutov via nginx-ru
On Wed, Jan 03, 2024 at 05:12:19PM +0300, izor...@gmail.com wrote: > Здравствуйте, Илья. > Результат анализа дампа: > Using local file > /nix/store/dd7van8jrcmnxmwdsbkyyzhd98myzg2j-nginxQuic-1.25.3/bin/nginx. > Argument "MSWin32" isn't numeric in numeric eq (==) at >

Re: [PATCH 00 of 12] HTTP/3 proxying to upstreams

2023-12-28 Thread Vladimir Homutov via nginx-devel
On Thu, Dec 28, 2023 at 04:31:41PM +0300, Maxim Dounin wrote: > Hello! > > On Wed, Dec 27, 2023 at 04:17:38PM +0300, Vladimir Homutov via nginx-devel > wrote: > > > On Wed, Dec 27, 2023 at 02:48:04PM +0300, Maxim Dounin wrote: > > > Hello! > > > > &g

Re: [PATCH 00 of 12] HTTP/3 proxying to upstreams

2023-12-27 Thread Vladimir Homutov via nginx-devel
On Wed, Dec 27, 2023 at 02:48:04PM +0300, Maxim Dounin wrote: > Hello! > > On Mon, Dec 25, 2023 at 07:52:41PM +0300, Vladimir Homutov via nginx-devel > wrote: > > > Hello, everyone, > > > > and Merry Christmas to all! > > > > I'm a developer of

[PATCH 11 of 12] Proxy: HTTP/3 support

2023-12-25 Thread Vladimir Homutov via nginx-devel
Example configuration: location /foo { proxy_http_version 3; proxy_pass https://http3-server.example.com:4433; } src/http/modules/ngx_http_proxy_module.c | 2276 - src/http/modules/ngx_http_upstream_keepalive_module.c |47 +-

[PATCH 10 of 12] Added host/host_set logic to proxy module

2023-12-25 Thread Vladimir Homutov via nginx-devel
Patch is to be merged with next. This is basically a copy from grpc proxy. src/http/modules/ngx_http_proxy_module.c | 67 1 files changed, 67 insertions(+), 0 deletions(-) # HG changeset patch # User Vladimir Khomutov # Date 1703082897 -10800 # Wed Dec

[PATCH 09 of 12] HTTP/3: added $quic_connection variable

2023-12-25 Thread Vladimir Homutov via nginx-devel
The variable contains number of main quic connection (shared between streams). This is useful for keepalive tests. src/http/v3/ngx_http_v3_module.c | 40 1 files changed, 40 insertions(+), 0 deletions(-) # HG changeset patch # User Vladimir Khomutov

[PATCH 08 of 12] Upstream: separate function to handle upstream connection closing

2023-12-25 Thread Vladimir Homutov via nginx-devel
No functional changes. src/http/ngx_http_upstream.c | 91 --- 1 files changed, 43 insertions(+), 48 deletions(-) # HG changeset patch # User Vladimir Khomutov # Date 1695647888 -10800 # Mon Sep 25 16:18:08 2023 +0300 # Node ID

[PATCH 07 of 12] Upstream: refactored upstream initialization

2023-12-25 Thread Vladimir Homutov via nginx-devel
No functional changes. This will be used by the following patches. src/http/ngx_http_upstream.c | 133 +++--- 1 files changed, 74 insertions(+), 59 deletions(-) # HG changeset patch # User Vladimir Khomutov # Date 1703082747 -10800 # Wed Dec 20

[PATCH 05 of 12] QUIC: client loss detection updates

2023-12-25 Thread Vladimir Homutov via nginx-devel
Patch subject is complete summary. src/event/quic/ngx_event_quic_ack.c | 69 +++- 1 files changed, 66 insertions(+), 3 deletions(-) # HG changeset patch # User Vladimir Khomutov # Date 1703081117 -10800 # Wed Dec 20 17:05:17 2023 +0300 # Node ID

[PATCH 06 of 12] HTTP/3: make http/3 request defines available

2023-12-25 Thread Vladimir Homutov via nginx-devel
Patch subject is complete summary. src/http/v3/ngx_http_v3.h | 20 src/http/v3/ngx_http_v3_filter_module.c | 20 +--- 2 files changed, 21 insertions(+), 19 deletions(-) # HG changeset patch # User Vladimir Khomutov # Date 1703082710 -10800

[PATCH 04 of 12] QUIC: client support

2023-12-25 Thread Vladimir Homutov via nginx-devel
Patch subject is complete summary. src/event/quic/ngx_event_quic.c| 617 - src/event/quic/ngx_event_quic.h| 11 + src/event/quic/ngx_event_quic_ack.c| 13 + src/event/quic/ngx_event_quic_ack.h|2 +

[PATCH 02 of 12] QUIC: renamed "ctp" to "peer_tp"

2023-12-25 Thread Vladimir Homutov via nginx-devel
The "ctp" refers to "client transport parameters", but in the code that supports both client and server, the name is confusing, thus rename. src/event/quic/ngx_event_quic.c| 41 + src/event/quic/ngx_event_quic_ack.c| 8 ++--

[PATCH 03 of 12] QUIC: added a structure for stream limits/counters

2023-12-25 Thread Vladimir Homutov via nginx-devel
To simplify code dealing with stream states when both client and server are supported, instead of 8 named fields, use two structures split into uni/bidi and client/server. src/event/quic/ngx_event_quic.c| 8 ++-- src/event/quic/ngx_event_quic_ack.c| 4 +-

[PATCH 00 of 12] HTTP/3 proxying to upstreams

2023-12-25 Thread Vladimir Homutov via nginx-devel
Hello, everyone, and Merry Christmas to all! I'm a developer of an nginx fork Angie. Recently we implemented an HTTP/3 proxy support in our fork [1]. We'd like to contribute this functionality to nginx OSS community. Hence here is a patch series backported from Angie to the current head of

[PATCH 01 of 12] QUIC: fixed accounting of in-flight PING frames

2023-12-25 Thread Vladimir Homutov via nginx-devel
Previously, such frames were not accounted as in-flight, and they were not stored in sent queue. This prevented proper PTO calculation and ACK handling. src/event/quic/ngx_event_quic_ack.c | 62 +--- 1 files changed, 43 insertions(+), 19 deletions(-) # HG

Re: [PATCH 1 of 2] HTTP: uniform overflow checks in ngx_http_alloc_large_header_buffer

2023-11-29 Thread Vladimir Homutov via nginx-devel
On Tue, Nov 28, 2023 at 05:58:23AM +0300, Maxim Dounin wrote: > Hello! > > On Fri, Nov 10, 2023 at 12:11:54PM +0300, Vladimir Homutov via nginx-devel > wrote: > > > If URI is not fully parsed yet, some pointers are not set. > > As a result, the calculation of &qu

Re: [PATCH 2 of 2] HTTP: removed unused r->port_start

2023-11-29 Thread Vladimir Homutov via nginx-devel
On Tue, Nov 28, 2023 at 05:57:39AM +0300, Maxim Dounin wrote: > Hello! > > On Fri, Nov 10, 2023 at 12:11:55PM +0300, Vladimir Homutov via nginx-devel > wrote: > > > > > It is no longer used since the refactoring in 8e5bf1bc87e2 (2008). > > Neither r->port_

[PATCH 1 of 2] HTTP: uniform overflow checks in ngx_http_alloc_large_header_buffer

2023-11-10 Thread Vladimir Homutov via nginx-devel
If URI is not fully parsed yet, some pointers are not set. As a result, the calculation of "new + (ptr - old)" expression may overflow. In such a case, just avoid calculating it, as value will be set correctly later by the parser in any case. The issue was found by GCC undefined behaviour

[PATCH 0 of 2] [patch] some issues found by gcc undef sanitizer

2023-11-10 Thread Vladimir Homutov via nginx-devel
> As already noted off-list, this is certainly not the only field > which might be not yet set when > ngx_http_alloc_large_header_buffer() is called. From the patch > context as shown, at least r->method_end and r->uri_start might > not be set as well, leading to similar overflows. And

[PATCH 2 of 2] HTTP: removed unused r->port_start

2023-11-10 Thread Vladimir Homutov via nginx-devel
It is no longer used since the refactoring in 8e5bf1bc87e2 (2008). src/http/ngx_http_request.c | 3 +-- src/http/ngx_http_request.h | 1 - 2 files changed, 1 insertions(+), 3 deletions(-) # HG changeset patch # User Vladimir Khomutov # Date 1699603821 -10800 # Fri Nov 10 11:10:21 2023

Re: [patch] quic PTO counter fixes

2023-11-09 Thread Vladimir Homutov via nginx-devel
> On Thu, Oct 26, 2023 at 03:08:55AM +0400, Sergey Kandaurov wrote: > > # HG changeset patch > > # User Vladimir Khomutov > > # Date 1697031803 -10800 > > # Wed Oct 11 16:43:23 2023 +0300 > > # Node ID 9ba2840e88f62343b3bd794e43900781dab43686 > > # Parent

[PATCH 2 of 2] HTTP: suppressed possible overflow in interim r->uri_end calculation

2023-10-27 Thread Vladimir Homutov via nginx-devel
If URI is not fully parsed yet, the r->uri_end pointer is NULL. As a result, calculation of "new + (r->uri_end - old)" expression may overflow. In such case, just avoid calculating it, as r->uri_end will be set correctly later by the parser in any case. The issue was found by GCC undefined

[PATCH 1 of 2] Core: avoid calling memcpy() in edge cases

2023-10-27 Thread Vladimir Homutov via nginx-devel
Patch subject is complete summary. src/core/ngx_cycle.c | 10 ++ src/core/ngx_resolver.c | 2 +- src/core/ngx_string.c| 15 +++ src/http/modules/ngx_http_proxy_module.c | 4 ++-- src/http/ngx_http_file_cache.c

[PATCH 0 of 2] [patch] some issues found by gcc undef sanitizer

2023-10-27 Thread Vladimir Homutov via nginx-devel
Hello, Below are two patches, created by results of running nginx-tests with GCC undefined behaviour sanitizer enabled. The first one is about memcpy() with NULL second argument calls, which are considere undefined behaviour by sanitizer. While the actual harm is arguable, having such calls is

Re: [patch] quic PTO counter fixes

2023-10-26 Thread Vladimir Homutov via nginx-devel
On Fri, Oct 27, 2023 at 12:27:22AM +0400, Sergey Kandaurov wrote: > On Thu, Oct 26, 2023 at 05:20:39PM +0300, Vladimir Homutov wrote: > > On Thu, Oct 26, 2023 at 03:08:55AM +0400, Sergey Kandaurov wrote: > > > On Wed, Oct 11, 2023 at 04:58:47PM +0300, Vladimir Homutov via >

Re: [patch] quic PTO counter fixes

2023-10-26 Thread Vladimir Homutov via nginx-devel
On Thu, Oct 26, 2023 at 03:08:55AM +0400, Sergey Kandaurov wrote: > On Wed, Oct 11, 2023 at 04:58:47PM +0300, Vladimir Homutov via nginx-devel > wrote: [..] > > diff --git a/src/event/quic/ngx_event_quic_output.c > > b/src/event/quic/ngx_event_quic_output.c > &

[patch] quic PTO counter fixes

2023-10-11 Thread Vladimir Homutov via nginx-devel
Hello, a couple of patches in the quic code: first patch improves a bit debugging, and the second patch contains fixes for PTO counter calculation - see commit log for details. This helps with some clients in interop handshakeloss/handshakecorruption testcases # HG changeset patch # User

Re: [PATCH] QUIC openssl compat mode error handling

2023-09-22 Thread Vladimir Homutov via nginx-devel
On Fri, Sep 22, 2023 at 07:30:50PM +0400, Roman Arutyunyan wrote: > Hi Vladimir, > > On Fri, Sep 22, 2023 at 03:44:08PM +0300, Vladimir Homutov via nginx-devel > wrote: > > # HG changeset patch > > # User Vladimir Khomutov > > # Date 1695386443 -10800 > > #

[PATCH] QUIC openssl compat mode error handling

2023-09-22 Thread Vladimir Homutov via nginx-devel
# HG changeset patch # User Vladimir Khomutov # Date 1695386443 -10800 # Fri Sep 22 15:40:43 2023 +0300 # Node ID 974ba23e68909ba708616410aa77074213d4d1e5 # Parent 5741eddf82e826766cd0f5ec7c6fe383145ca581 QUIC: handle add_handhshake_data() callback errors in compat. The error may be

Re: [PATCH 2 of 4] QUIC: always add ACK frame to the queue head

2023-08-10 Thread Vladimir Homutov via nginx-devel
On Thu, Aug 10, 2023 at 08:02:06PM +0400, Sergey Kandaurov wrote: > > > On 27 Jul 2023, at 16:42, Roman Arutyunyan wrote: > > > > # HG changeset patch > > # User Roman Arutyunyan > > # Date 1690461509 -14400 > > # Thu Jul 27 16:38:29 2023 +0400 > > # Node ID

Enable QUIC with Tongsuo SSL library

2023-05-26 Thread Vladimir Homutov via nginx-devel
# HG changeset patch # User Vladimir Khomutov # Date 1677761453 -10800 # Thu Mar 02 15:50:53 2023 +0300 # Node ID 348772f63be2b77a893b8d101c6b6905382a5735 # Parent 8eae1b4f1c5528b063351804168a6085f5f50b42 QUIC: added support for the Tongsuo SSL library. For the needs of QUIC, this is

Re: QUIC: position of RTT and congestion

2022-11-30 Thread Vladimir Homutov via nginx-devel
On Wed, Nov 30, 2022 at 08:10:29PM +0800, Yu Zhu wrote: > > Hi, > > As described in "rfc 9002 6. Loss Detection", "RTT and congestion > control are properties of the path", so moves first_rtt, > latest_rtt, avg_rtt, min_rtt, rttvar and congestion from > ngx_quic_connection_t to

Re: [patch] ngx_cpp_test module build issue cleanup

2022-11-24 Thread Vladimir Homutov via nginx-devel
On Thu, Nov 24, 2022 at 06:46:15PM +0300, Maxim Dounin wrote: > Hello! > > On Thu, Nov 24, 2022 at 02:31:33PM +0300, Vladimir Homutov via nginx-devel > wrote: > > > On Thu, Nov 24, 2022 at 01:25:30PM +0400, Sergey Kandaurov wrote: > > > > > > > On 23 Nov

Re: [patch] ngx_cpp_test module build issue cleanup

2022-11-24 Thread Vladimir Homutov via nginx-devel
On Thu, Nov 24, 2022 at 01:25:30PM +0400, Sergey Kandaurov wrote: > > > On 23 Nov 2022, at 21:50, Vladimir Homutov via nginx-devel > > wrote: > > > > Hello, > > > > the simplest ./configure --with-cpp_test_module leads to build error > > aft

[patch] ngx_cpp_test module build issue cleanup

2022-11-23 Thread Vladimir Homutov via nginx-devel
Hello, the simplest ./configure --with-cpp_test_module leads to build error after successful configuration: src/misc/ngx_cpp_test_module.cpp:13:12: fatal error: ngx_mail.h: No such file or directory 13 | #include |^~~~ compilation terminated. # HG changeset

Re: how to avoid new quic connection distributed to old workers when nginx-quic reload

2022-05-30 Thread Vladimir Homutov via nginx-devel
On Mon, May 30, 2022 at 06:55:15PM +0800, 朱宇 wrote: > Hi, > > > in "src/event/quic/bpf/ngx_quic_reuseport_helper.c", if can not find socket > by dcid (cookie), udp packet will be distributed by kernel. > > > so when nginx-quic reload, how to avoid new quic connecion packet distributed > to old

Re: [PATCH 1 of 4] QUIC: fixed-length buffers for secrets

2022-02-22 Thread Vladimir Homutov
On Mon, Feb 21, 2022 at 05:51:42PM +0300, Sergey Kandaurov wrote: > On Mon, Feb 21, 2022 at 02:10:31PM +0300, Vladimir Homutov wrote: > > Patch subject is complete summary. > > > > > > src/event/quic/ngx_event_quic_protection.c | 202 > > +++--

Re: Clients fail to connect via HTTP3 over QUIC

2022-02-21 Thread Vladimir Homutov
22.02.2022 00:43, David Hu via nginx-devel пишет: I have compiled the latest master branch of nginx-quic with these options: nginx version: nginx/1.21.7 (8861:b5c87e0e57ef) built with OpenSSL 3.0.1+quic 14 Dec 2021 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx

[PATCH 4 of 4] QUIC: avoided pool usage in token calculation

2022-02-21 Thread Vladimir Homutov
changed, 27 insertions(+), 21 deletions(-) # HG changeset patch # User Vladimir Homutov # Date 1645440587 -10800 # Mon Feb 21 13:49:47 2022 +0300 # Branch quic # Node ID b3fb81ecc3431c4dbf9e849d72d13a84fe02703b # Parent dfc2fc335990e05da1a6f087ca75721cbf8c8891 QUIC: avoided pool usage in token

[PATCH 3 of 4] QUIC: removed ngx_quic_keys_new()

2022-02-21 Thread Vladimir Homutov
/ngx_event_quic_protection.c | 53 -- src/event/quic/ngx_event_quic_protection.h | 48 ++- 4 files changed, 52 insertions(+), 59 deletions(-) # HG changeset patch # User Vladimir Homutov # Date 1645440522 -10800 # Mon Feb 21 13:48:42 2022 +0300 # Branch quic

[PATCH 2 of 4] QUIC: avoided pool usage in ngx_quic_protection.c

2022-02-21 Thread Vladimir Homutov
/ngx_event_quic_ssl.c| 8 +++--- 5 files changed, 24 insertions(+), 31 deletions(-) # HG changeset patch # User Vladimir Homutov # Date 1645440574 -10800 # Mon Feb 21 13:49:34 2022 +0300 # Branch quic # Node ID 950a45270e862b02f43ed1df02a9146e8686b8e5 # Parent

[PATCH 1 of 4] QUIC: fixed-length buffers for secrets

2022-02-21 Thread Vladimir Homutov
Patch subject is complete summary. src/event/quic/ngx_event_quic_protection.c | 202 +++- 1 files changed, 105 insertions(+), 97 deletions(-) # HG changeset patch # User Vladimir Homutov # Date 1645440604 -10800 # Mon Feb 21 13:50:04 2022 +0300 # Branch quic

[PATCH 0 of 4] [QUIC] avoid pool allocations

2022-02-21 Thread Vladimir Homutov
it is desirable to avoid pool allocations at early stages of quic connection processing. Currently, code in protection.c and tokens.c allocates memory dynamically, while this is not strictly necessary, as allocated objects have fixed size and sometimes short lifetime. The patchset

Re: [QUIC] padding of Initial packets

2022-02-09 Thread Vladimir Homutov
On Tue, Feb 08, 2022 at 03:42:54PM +0300, Vladimir Homutov wrote: > On Tue, Feb 08, 2022 at 02:10:04PM +0300, Andrey Kolyshkin wrote: > > Hello. > > > > This patch is strange. > > 1. ngx_quic_revert_send can set to ctx an uninitialized value from > > preserved_pnum

Re: [quic] Why use sendmsg in loop instead of sendmmsg

2022-02-09 Thread Vladimir Homutov
On Wed, Feb 09, 2022 at 06:51:26AM +, Gao,Yan(媒体云) wrote: > HI >ngx_quic_create_datagrams use sendmsg in loop when without gso. Can use > sendmmsg directly? there are some reasons we don't do it: first, attempt to send multiple packets at once makes the code more complex, especially

Re: [QUIC] padding of Initial packets

2022-02-08 Thread Vladimir Homutov
didn't yet touch. > > > On Wed, Feb 2, 2022 at 2:07 PM Sergey Kandaurov wrote: > > > > > > On 2 Feb 2022, at 13:55, Vladimir Homutov wrote: > > > > > > # HG changeset patch > > > # User Vladimir Homutov > > > # Date 1

Re: [PATCH] QUIC: stream lingering

2022-02-08 Thread Vladimir Homutov
On 2/8/22 15:18, Roman Arutyunyan wrote: On Tue, Feb 08, 2022 at 02:45:19PM +0300, Vladimir Homutov wrote: On Mon, Feb 07, 2022 at 05:16:17PM +0300, Roman Arutyunyan wrote: Hi, On Fri, Feb 04, 2022 at 04:56:23PM +0300, Vladimir Homutov wrote: On Tue, Feb 01, 2022 at 04:39:59PM +0300, Roman

Re: [PATCH] QUIC: stream lingering

2022-02-08 Thread Vladimir Homutov
On Mon, Feb 07, 2022 at 05:16:17PM +0300, Roman Arutyunyan wrote: > Hi, > > On Fri, Feb 04, 2022 at 04:56:23PM +0300, Vladimir Homutov wrote: > > On Tue, Feb 01, 2022 at 04:39:59PM +0300, Roman Arutyunyan wrote: > > > # HG changeset patch > > > # User Roman Ar

Re: [PATCH] QUIC: stream lingering

2022-02-04 Thread Vladimir Homutov
On Tue, Feb 01, 2022 at 04:39:59PM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1643722727 -10800 > # Tue Feb 01 16:38:47 2022 +0300 > # Branch quic > # Node ID db31ae16c1f2050be9c9f6b1f117ab6725b97dd4 > # Parent

Re: [PATCH] QUIC: do not arm loss detection timer if nothing was sent

2022-02-02 Thread Vladimir Homutov
On Wed, Feb 02, 2022 at 03:05:07PM +0300, Sergey Kandaurov wrote: > # HG changeset patch > # User Sergey Kandaurov > # Date 1643803485 -10800 > # Wed Feb 02 15:04:45 2022 +0300 > # Branch quic > # Node ID 768445d1ba6e2bce9001704c52b516ad421ae776 > # Parent

[QUIC] padding of Initial packets

2022-02-02 Thread Vladimir Homutov
# HG changeset patch # User Vladimir Homutov # Date 1643796973 -10800 # Wed Feb 02 13:16:13 2022 +0300 # Branch quic # Node ID fbfbcf66990e8964bcf308f3869f37d1a1acceeb # Parent 8c6645ecaeb6cbf27976fd9035440bfcab943117 QUIC: fixed padding of initial packets in case of limited path

Re: [PATCH 0 of 4] QUIC stream states and events

2022-01-31 Thread Vladimir Homutov
On Mon, Jan 31, 2022 at 06:21:03PM +0300, Roman Arutyunyan wrote: > - added zero size handling in stream recv() > - renamed http3 uni stream handlers > - added style patch looks good to me ___ nginx-devel mailing list -- nginx-devel@nginx.org To

Re: [PATCH 3 of 3] QUIC: stream event setting function

2022-01-31 Thread Vladimir Homutov
On Mon, Jan 31, 2022 at 10:34:08AM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1643187691 -10800 > # Wed Jan 26 12:01:31 2022 +0300 > # Branch quic > # Node ID 9f5c59800a9894aad00b06df93ec454aab97372d > # Parent

Re: [PATCH 2 of 3] HTTP/3: proper uni stream closure detection

2022-01-31 Thread Vladimir Homutov
On Mon, Jan 31, 2022 at 10:34:07AM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1643611590 -10800 > # Mon Jan 31 09:46:30 2022 +0300 > # Branch quic > # Node ID d3c6dea9454c48ded14b8c087dffc4dea46f78ef > # Parent

Re: [PATCH 1 of 3] QUIC: introduced explicit stream states

2022-01-31 Thread Vladimir Homutov
On Mon, Jan 31, 2022 at 10:34:06AM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1643611562 -10800 > # Mon Jan 31 09:46:02 2022 +0300 > # Branch quic > # Node ID 8dcb9908989401d750b14fe5dccf444a5485c23d > # Parent

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

2022-01-30 Thread Vladimir Homutov
On Fri, Jan 28, 2022 at 02:09:31PM +, Gao,Yan(媒体云) wrote: > > c->quic is never set on main connection (it is not really needed there). > > ngx_http_v3_init() is first called with main connection, and later it is > > called with _another_ connection that is a stream, and it has c->quic set. > >

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

2022-01-28 Thread Vladimir Homutov
On Fri, Jan 28, 2022 at 03:29:06AM +, Gao,Yan(媒体云) wrote: > > first time you get there with main nginx connection, when a first QUIC > > packet arrives. Thus test c->quic. and if it is NULL it means we need > > to create main quic connection and proceed with the handshake. > > > When the

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

2022-01-27 Thread Vladimir Homutov
On Thu, Jan 27, 2022 at 04:33:08AM +, Gao,Yan(媒体云) wrote: > > The main quic connection is created in ngx_quic_new_connection(), which > > calls ngx_quic_open_sockets() and it sets c->udp for the first time. > > > When packet arrives, c->udp is updated by ngx_lookup_udp_connection(). > > > The

[nginx] Core: added autotest for UDP segmentation offloading.

2022-01-27 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/c0a432c0301b branches: changeset: 8004:c0a432c0301b user: Vladimir Homutov date: Wed Jan 26 20:40:00 2022 +0300 description: Core: added autotest for UDP segmentation offloading. diffstat: auto/os/linux | 16

[nginx] Core: added function for local source address cmsg.

2022-01-27 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/0f6cc8f73744 branches: changeset: 8003:0f6cc8f73744 user: Vladimir Homutov date: Tue Jan 25 15:48:58 2022 +0300 description: Core: added function for local source address cmsg. diffstat: src/event/ngx_event_udp.c | 92

[nginx] Core: made the ngx_sendmsg() function non-static.

2022-01-27 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/cfe1284e5d1d branches: changeset: 8002:cfe1284e5d1d user: Vladimir Homutov date: Tue Jan 25 15:48:56 2022 +0300 description: Core: made the ngx_sendmsg() function non-static. The NGX_HAVE_ADDRINFO_CMSG macro is defined when at least one

[nginx] Core: the ngx_event_udp.h header file.

2022-01-27 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/8206ecdcd837 branches: changeset: 8001:8206ecdcd837 user: Vladimir Homutov date: Tue Jan 25 15:41:48 2022 +0300 description: Core: the ngx_event_udp.h header file. diffstat: auto/sources | 3 ++- src/event/ngx_event.h

[nginx] Version bump.

2022-01-27 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/60b8f529db13 branches: changeset: 8000:60b8f529db13 user: Vladimir Homutov date: Thu Jan 27 13:44:09 2022 +0300 description: Version bump. diffstat: src/core/nginx.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (14

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

2022-01-26 Thread Vladimir Homutov
On Wed, Jan 26, 2022 at 10:00:06AM +, Gao,Yan(媒体云) wrote: > > the case you are describing is not what see in backtrace. And in > > described case connection is main quic connection which has process > > c->quic pointer set. > > I only find sc->quic = qs; in ngx_quic_create_stream,and this is

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

2022-01-26 Thread Vladimir Homutov
On Wed, Jan 26, 2022 at 06:38:13AM +, Gao,Yan(媒体云) wrote: > Why sc->type = SOCK_STREAM in ngx_quic_create_stream? Should it be SOCK_DGRAM? no, SOCK_STREAM is a correct setting for the quic streams. SOCK_DGRAM is only used for main quic connection which actually handles UDP datagrams and deals

Re: [quic] ngx_quic_input_handler Segmentation fault because c->udp->dgram is null

2022-01-25 Thread Vladimir Homutov
On 1/25/22 13:05, Gao,Yan(媒体云) wrote: loggingHost:kfcm-jorcol-82 2022/01/24 09:09:13 [info] 2224#0: *1007558770 quic unknown transport param id:0x20, skipped while SSL handshaking, client: 223.90.188.154, server: 0.0.0.0:7232 loggingHost:kfcm-jorcol-82 2022/01/24 09:09:13 [info] 2224#0:

Re: [PATCH 3 of 3] QUIC: stream recv shutdown support

2021-12-13 Thread Vladimir Homutov
On Mon, Dec 13, 2021 at 03:03:58PM +0300, Roman Arutyunyan wrote: > On Fri, Dec 10, 2021 at 10:38:00AM +0300, Vladimir Homutov wrote: > > On Fri, Nov 26, 2021 at 04:11:33PM +0300, Roman Arutyunyan wrote: > > > On Thu, Nov 25, 2021 at 05:20:51PM +0300, Roman Arutyunyan wrote: >

Re: Congestion control questions

2021-12-09 Thread Vladimir Homutov
On Tue, Dec 07, 2021 at 06:05:48PM +0800, sun edward wrote: > Hi dev team, >I have some questions about congestion control, what's the current > congestion control algorithm in nginx quic, is there any way or plan to > support CUBIC or BBR in nginx quic? > > thanks & regards Currently

Re: [PATCH 3 of 3] QUIC: stream recv shutdown support

2021-12-09 Thread Vladimir Homutov
On Fri, Nov 26, 2021 at 04:11:33PM +0300, Roman Arutyunyan wrote: > On Thu, Nov 25, 2021 at 05:20:51PM +0300, Roman Arutyunyan wrote: > > # HG changeset patch > > # User Roman Arutyunyan > > # Date 1637695967 -10800 > > # Tue Nov 23 22:32:47 2021 +0300 > > # Branch quic > > # Node ID

Re: [PATCH 2 of 2] QUIC: handle DATA_BLOCKED frame from client

2021-11-22 Thread Vladimir Homutov
On Mon, Nov 22, 2021 at 02:54:20PM +0300, Roman Arutyunyan wrote: > On Mon, Nov 22, 2021 at 11:26:10AM +0300, Vladimir Homutov wrote: > > On Wed, Nov 17, 2021 at 10:31:02AM +0300, Roman Arutyunyan wrote: > > > # HG changeset patch > > > # User Roman Arutyunyan >

Re: [PATCH 2 of 2] QUIC: handle DATA_BLOCKED frame from client

2021-11-22 Thread Vladimir Homutov
On Wed, Nov 17, 2021 at 10:31:02AM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1637086755 -10800 > # Tue Nov 16 21:19:15 2021 +0300 > # Branch quic > # Node ID 0fb2613594f6bd8dd8f07a30c69900866b573158 > # Parent

Re: [PATCH 1 of 2] QUIC: update stream flow control credit on STREAM_DATA_BLOCKED

2021-11-22 Thread Vladimir Homutov
On Wed, Nov 17, 2021 at 11:17:27AM +0300, Roman Arutyunyan wrote: > On Wed, Nov 17, 2021 at 10:31:01AM +0300, Roman Arutyunyan wrote: > > # HG changeset patch > > # User Roman Arutyunyan > > # Date 1637133234 -10800 > > # Wed Nov 17 10:13:54 2021 +0300 > > # Branch quic > > # Node ID

Re: [PATCH 2 of 3] HTTP/3: allowed QUIC stream connection reuse

2021-11-17 Thread Vladimir Homutov
17.11.2021 10:12, Roman Arutyunyan пишет: On Tue, Nov 16, 2021 at 12:18:47PM +0300, Vladimir Homutov wrote: On Mon, Nov 15, 2021 at 03:33:25PM +0300, Roman Arutyunyan wrote: # HG changeset patch # User Roman Arutyunyan # Date 1636646820 -10800 # Thu Nov 11 19:07:00 2021 +0300 # Branch

Re: [PATCH 2 of 3] HTTP/3: allowed QUIC stream connection reuse

2021-11-16 Thread Vladimir Homutov
On Mon, Nov 15, 2021 at 03:33:25PM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1636646820 -10800 > # Thu Nov 11 19:07:00 2021 +0300 > # Branch quic > # Node ID 801103b7645d93d0d06f63019e54d9e76f1baa6c > # Parent

[nginx] Mail: connections with wrong ALPN protocols are now rejected.

2021-10-20 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/dc955d274130 branches: changeset: 7938:dc955d274130 user: Vladimir Homutov date: Wed Oct 20 09:45:34 2021 +0300 description: Mail: connections with wrong ALPN protocols are now rejected. This is a recommended behavior by RFC 7301

[nginx] HTTP: connections with wrong ALPN protocols are now rejected.

2021-10-20 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/db6b630e6086 branches: changeset: 7937:db6b630e6086 user: Vladimir Homutov date: Wed Oct 20 09:50:02 2021 +0300 description: HTTP: connections with wrong ALPN protocols are now rejected. This is a recommended behavior by RFC 7301

[nginx] Stream: the "ssl_alpn" directive.

2021-10-20 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/b9e02e9b2f1d branches: changeset: 7936:b9e02e9b2f1d user: Vladimir Homutov date: Tue Oct 19 12:19:59 2021 +0300 description: Stream: the "ssl_alpn" directive. The directive sets the server list of supported application protocols an

[nginx] SSL: added $ssl_alpn_protocol variable.

2021-10-20 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/eb6c77e6d55d branches: changeset: 7935:eb6c77e6d55d user: Vladimir Homutov date: Thu Oct 14 11:46:23 2021 +0300 description: SSL: added $ssl_alpn_protocol variable. The variable contains protocol selected by ALPN during handshake and is empty

[nginx] HTTP/2: removed support for NPN.

2021-10-20 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/61abb35bb8cf branches: changeset: 7934:61abb35bb8cf user: Vladimir Homutov date: Fri Oct 15 10:02:15 2021 +0300 description: HTTP/2: removed support for NPN. NPN was replaced with ALPN, published as RFC 7301 in July 2014. It used to negotiate

Re: [PATCH 3 of 5] HTTP/3: traffic-based flood detection

2021-10-13 Thread Vladimir Homutov
On Thu, Oct 07, 2021 at 02:36:16PM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1633602162 -10800 > # Thu Oct 07 13:22:42 2021 +0300 > # Branch quic > # Node ID 31561ac584b74d29af9a442afca47821a98217b2 > # Parent

Re: Should continue when ngx_quic_bpf_group_add_socket failed with adding one socket during reloading

2021-10-13 Thread Vladimir Homutov
13.10.2021 09:46, Gao,Yan(媒体云) пишет: ngx_quic_bpf_module_init: Should continue when ngx_quic_bpf_group_add_socket failed with adding one socket during reloading? Gao,Yan(ACG VCP) Hello Gao Yan, this is a hard question. I would say that only valid reason to fail there is if you hit some

Re: [PATCH 2 of 5] HTTP/3: fixed request length calculation

2021-10-12 Thread Vladimir Homutov
On Thu, Oct 07, 2021 at 02:36:15PM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1633521076 -10800 > # Wed Oct 06 14:51:16 2021 +0300 > # Branch quic > # Node ID 1b87f4e196cce2b7aae33a63ca6dfc857b99f2b7 > # Parent

Re: [PATCH 1 of 5] HTTP/3: removed client-side encoder support

2021-10-12 Thread Vladimir Homutov
On Thu, Oct 07, 2021 at 02:36:14PM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1633520939 -10800 > # Wed Oct 06 14:48:59 2021 +0300 > # Branch quic > # Node ID d53039c3224e8227979c113f621e532aef7c0f9b > # Parent

Re: [PATCH 5 of 5] QUIC: limited the total number of frames

2021-10-12 Thread Vladimir Homutov
On Thu, Oct 07, 2021 at 02:36:18PM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1633603050 -10800 > # Thu Oct 07 13:37:30 2021 +0300 > # Branch quic > # Node ID 25aeebb9432182a6246fedba6b1024f3d61e959b > # Parent

Re: [PATCH 4 of 5] QUIC: traffic-based flood detection

2021-10-12 Thread Vladimir Homutov
On Thu, Oct 07, 2021 at 02:36:17PM +0300, Roman Arutyunyan wrote: > # HG changeset patch > # User Roman Arutyunyan > # Date 1633602816 -10800 > # Thu Oct 07 13:33:36 2021 +0300 > # Branch quic > # Node ID e20f00b8ac9005621993ea19375b1646c9182e7b > # Parent

[nginx] Stream: added half-close support.

2021-09-22 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/bfad703459b4 branches: changeset: 7929:bfad703459b4 user: Vladimir Homutov date: Wed Sep 22 10:20:00 2021 +0300 description: Stream: added half-close support. The "proxy_half_close" directive enables handling of TCP half close.

Re: [nginx-quic] Segmentation offloading

2021-07-27 Thread Vladimir Homutov
On Mon, Jul 26, 2021 at 04:08:02PM -0500, Lucas Cuminato wrote: > Hello, > > I was testing this feature the other day but unsure if it's doing the right > thing. > Nginx is generating 65k UDP datagrams which are then being fragmented at > the IP layer. > Reading the spec, rfc9000, it looks like IP

Re: QUIC and HTTP/3 roadmap blog post

2021-07-16 Thread Vladimir Homutov
On Tue, Jul 13, 2021 at 05:29:15PM +0530, Raminda Subashana wrote: > Hi Maxim, > > Just tested nginx-quic release and there is a performance issue. I compared > it with Cloudflare quic experimental release which is based on nginx 1.16. > > It is almost 3 times slower than 1.16. Below config worked

Re: QUIC and HTTP/3 roadmap blog post

2021-07-15 Thread Vladimir Homutov
14.07.2021 13:39, Raminda Subashana writes: Hi Vladimir, Please see below; details & herewith attached another detail report as a PDF. I tested with Magento 2.4.2 & below results based on it. PHP 7.4 on Ubuntu 20.04 LTS Hi Raminda, thank you for the feedback! can you please send full

Re: QUIC and HTTP/3 roadmap blog post

2021-07-15 Thread Vladimir Homutov
13.07.2021 15:42, Marcin Wanat пишет: Hi Maxim, does Nginx have plans to adopt BBR as congestion control when using QUIC ? Regards, Marcin Wanat Hi Marcin Wanat, Short-term, there are no such plans. We still have plenty of things to do. Currently for congestion we use what is described in

Re: QUIC and HTTP/3 roadmap blog post

2021-07-13 Thread Vladimir Homutov
On Tue, Jul 13, 2021 at 06:55:14PM +1000, Mathew Heard wrote: > Hi Maxim, > > Really interesting read. > > Do you have any plans for resolving the SIGHUP causes session closure > issues that currently exist with nginx-quic? The closure of long lived > connections has been a thorn in the side of

Re: QUIC and HTTP/3 roadmap blog post

2021-07-13 Thread Vladimir Homutov
On Tue, Jul 13, 2021 at 05:29:15PM +0530, Raminda Subashana wrote: > Hi Maxim, > > Just tested nginx-quic release and there is a performance issue. I compared > it with Cloudflare quic experimental release which is based on nginx 1.16. > > It is almost 3 times slower than 1.16. Below config worked

[nginx] Core: added the ngx_rbtree_data() macro.

2021-06-21 Thread Vladimir Homutov
details: https://hg.nginx.org/nginx/rev/0c5e84096d99 branches: changeset: 7875:0c5e84096d99 user: Vladimir Homutov date: Mon Jun 21 09:42:43 2021 +0300 description: Core: added the ngx_rbtree_data() macro. diffstat: src/core/ngx_rbtree.h | 3 +++ src/core/ngx_resolver.c

Re: [nginx-quic]

2021-06-14 Thread Vladimir Homutov
configuration directive to control it. It is not yet absolutely clear how the stream module should deal with quic. Yoy may want to try to copy the code wich sets ALPN callback from http_quic module and provides some meaningful value for protocol. On Mon, Jun 14, 2021 at 11:35 AM Vladimir Homutov

Re: [nginx-quic]

2021-06-14 Thread Vladimir Homutov
14.06.2021 18:08, Lucas Cuminato пишет: Hello, Not sure If this is a bug in nginx-quic or if I'm not configuring it correctly but when trying to use nginx-quic with the following settings. stream {     server {         listen quic reuseport;         ssl_session_cache off;        

Re: [QUIC][BUG] function 'ngx_hkdf_extract ' has memory leak when use OPENSSL but not BoringSSL.

2021-03-12 Thread Vladimir Homutov
On Tue, Mar 09, 2021 at 10:17:43PM -0500, lingtao.klt wrote: > In ngx_hkdf_expand, when use OPENSSL, the *pctx need to be free. > > > ``` > > static ngx_int_t > ngx_hkdf_expand(u_char *out_key, size_t out_len, const EVP_MD *digest, > const uint8_t *prk, size_t prk_len, const u_char *info,

Re: [QUIC] When old worker listen fd detach ebpf reuseport group when reload

2021-03-09 Thread Vladimir Homutov
10.03.2021 06:17, Gao,Yan(ACG VCP) пишет: Hello Vladimir Homutov, I'm not sure I understand what you are trying to do. Do you have some issues with existing quic implementations in nginx? I just want to know how nginx handle old and new quic connections when reload. Nginx keep quic

Re: [QUIC] When old worker listen fd detach ebpf reuseport group when reload?

2021-03-09 Thread Vladimir Homutov
09.03.2021 17:43, Gao,Yan(ACG VCP) пишет: We cannot close quic fd to let old session complete when reload. Can detach ebpf reuseport group manually when ngx_close_listening_sockets? Hello Gao,Yan, I'm not sure I understand what you are trying to do. Do you have some issues with existing quic

  1   2   3   >