Re: [PATCH 1 of 8] QUIC: treat qc->error == -1 as a missing error

2022-08-23 Thread Roman Arutyunyan
On Tue, Aug 02, 2022 at 05:48:56PM +0400, Sergey Kandaurov wrote: > On Thu, Jun 23, 2022 at 07:58:39PM +0400, Roman Arutyunyan wrote: > > # HG changeset patch > > # User Roman Arutyunyan > > # Date 1655889315 -14400 > > # Wed Jun 22 13:15:15 2022 +0400 > > # Branch quic > > # Node ID 951d7116

Re: [PATCH 4 of 8] QUIC: removed ngx_quic_shutdown_connection()

2022-08-23 Thread Roman Arutyunyan
On Tue, Aug 02, 2022 at 07:44:11PM +0400, Sergey Kandaurov wrote: > On Thu, Jun 23, 2022 at 07:58:42PM +0400, Roman Arutyunyan wrote: > > # HG changeset patch > > # User Roman Arutyunyan > > # Date 1655904279 -14400 > > # Wed Jun 22 17:24:39 2022 +0400 > > # Branch quic > > # Node ID 1912c09e

[PATCH 3 of 9] QUIC: reusable mode for main connection

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1661169774 -14400 # Mon Aug 22 16:02:54 2022 +0400 # Branch quic # Node ID 6d444d4add98478c92a2ca84dde86005394ae0ea # Parent 923c0352912d80b224332c508379e047ec08dc4e QUIC: reusable mode for main connection. The mode is controlled by applic

[PATCH 2 of 9] QUIC: made ngx_quic_finalize_connecion() more graceful

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1661167731 -14400 # Mon Aug 22 15:28:51 2022 +0400 # Branch quic # Node ID 923c0352912d80b224332c508379e047ec08dc4e # Parent d928c8ca3415be4e9cced59a3cb9fc70249a0d9d QUIC: made ngx_quic_finalize_connecion() more graceful. Previously, ngx_q

[PATCH 5 of 9] QUIC: do not send MAX_STREAMS in shutdown state

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1660909446 -14400 # Fri Aug 19 15:44:06 2022 +0400 # Branch quic # Node ID 8b0ffd69cca1a9aff606f1c8e416024b1e818a5e # Parent d95af176c8e90b6f5fbcc7650aab8c3fddcfac2b QUIC: do not send MAX_STREAMS in shutdown state. No more streams are expe

[PATCH 0 of 9] QUIC connection reuse

2022-08-23 Thread Roman Arutyunyan
A new reworked series. ___ nginx-devel mailing list -- nginx-devel@nginx.org To unsubscribe send an email to nginx-devel-le...@nginx.org

[PATCH 4 of 9] QUIC: defer stream removal until all its data is acked

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1661168003 -14400 # Mon Aug 22 15:33:23 2022 +0400 # Branch quic # Node ID d95af176c8e90b6f5fbcc7650aab8c3fddcfac2b # Parent 6d444d4add98478c92a2ca84dde86005394ae0ea QUIC: defer stream removal until all its data is acked. Previously, strea

[PATCH 1 of 9] QUIC: treat qc->error == -1 as a missing error

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1660223647 -14400 # Thu Aug 11 17:14:07 2022 +0400 # Branch quic # Node ID d928c8ca3415be4e9cced59a3cb9fc70249a0d9d # Parent f9d7930d0eedae28defd0803cb95dc8ab68e56b3 QUIC: treat qc->error == -1 as a missing error. Previously, zero was used

[PATCH 7 of 9] QUIC: idle mode for main connection

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1661248462 -14400 # Tue Aug 23 13:54:22 2022 +0400 # Branch quic # Node ID 0462a4da1f5bf96fc74064f2c45b384eead6ef63 # Parent 462b1520751e1c7a06af9de3004358a0246f8792 QUIC: idle mode for main connection. Now main QUIC connection for HTTP/3

[PATCH 8 of 9] HTTP/3: renamed functions

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1661162943 -14400 # Mon Aug 22 14:09:03 2022 +0400 # Branch quic # Node ID a79b10f6ad221447c52870a90c856a04abfb07a6 # Parent 0462a4da1f5bf96fc74064f2c45b384eead6ef63 HTTP/3: renamed functions. ngx_http_v3_init() is renamed ngx_http_v3_init

[PATCH 9 of 9] QUIC: application init() callback

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1661249881 -14400 # Tue Aug 23 14:18:01 2022 +0400 # Branch quic # Node ID 59eac6d01094b992ffcfe70a11a214586f18e9f2 # Parent a79b10f6ad221447c52870a90c856a04abfb07a6 QUIC: application init() callback. It's called after handshake completion

[PATCH 6 of 9] HTTP/3: unified hq code with HTTP/3 code

2022-08-23 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1661249481 -14400 # Tue Aug 23 14:11:21 2022 +0400 # Branch quic # Node ID 462b1520751e1c7a06af9de3004358a0246f8792 # Parent 8b0ffd69cca1a9aff606f1c8e416024b1e818a5e HTTP/3: unified hq code with HTTP/3 code. The change removes hq-specific

Re: [WIP/RFC v4 0/5] Support abstract Unix sockets

2022-08-23 Thread Alejandro Colomar
I'll resend v4 in a moment, since it didn't arrive to the list. On 8/23/22 23:18, Alejandro Colomar wrote: Hi, Patch set ready for review. Both 'listen' and 'proxy_pass' work fine, with the only caveat that writing a NUL character in the nginx.conf file is not the friendliest interface. I will

[PATCH v4 RESEND 2/5] Use a minimal socklen.

2022-08-23 Thread Alejandro Colomar
Instead of using a socklen that is the size of the structure, limit the value to the part of the structure that is really used. This is necessary for supporting abstract Unix domain sockets, since trailing null bytes are part of the socket name, and having a socket name with null bytes in it makes

[PATCH v4 RESEND 1/5] Optimize string copy in Unix sockets.

2022-08-23 Thread Alejandro Colomar
ngx_cpystrn() checks at every character if it is '\0' after copying it. We don't really need that check for copying the sun_path, since it's unlikely that the path contains a null character. And even if that happened, the kernel will ignore any trailing bytes after the first null character, so we

[PATCH v4 RESEND 3/5] Don't add a trailing '\0' for abstract Unix domain sockets.

2022-08-23 Thread Alejandro Colomar
Since '\0' doesn't have a special meaning for abstract Unix domain sockets, the '\0' would be part of the name. This makes it hard to use tools that can handle abstract sockets, such as curl(1) --abstract-unix-sock, since it's not possible to embed a '\0' in a string passed to execve(2). Signed-o

[PATCH v4 RESEND 4/5] Log abstract Unix domain sockets with a leading '@'.

2022-08-23 Thread Alejandro Colomar
Translate the leading NUL (aka ^@, '\0') of abstract Unix sockets into @ for user visible strings, since @ is readable by all tools. Co-developed-by: Andrew Clayton Signed-off-by: Andrew Clayton Signed-off-by: Alejandro Colomar Cc: Bjornar Ness --- src/core/ngx_inet.c | 5 + 1 file change

[PATCH v4 RESEND 5/5] Don't try to chmod(2) abstract Unix domain sockets.

2022-08-23 Thread Alejandro Colomar
Don't try to handle Unix sockets starting with a '\0' as if they were files, since they represent abstract sockets. As we're using the "pretty" name generated by ngx_sock_ntop(), which translates the '\0' into '@', test for '@'. Co-developed-by: Andrew Clayton Signed-off-by: Andrew Clayton Sign

Re: [WIP/RFC v4 0/5] Support abstract Unix sockets

2022-08-23 Thread Alejandro Colomar
Also, this is missing some context from v2, which I sent a week ago and also didn't reach the list: On 8/19/22 16:21, Alejandro Colomar wrote: > Hi, > > This patch set intends to add support for abstract Unix domain > sockets for both 'listen' and 'proxy_pass'. > > In 'listen' I still get a chmo

[njs] Stream: improved s.send() with async callbacks.

2022-08-23 Thread Dmitry Volyntsev
details: https://hg.nginx.org/njs/rev/b33aae5e8dc6 branches: changeset: 1933:b33aae5e8dc6 user: Dmitry Volyntsev date: Tue Aug 23 19:36:16 2022 -0700 description: Stream: improved s.send() with async callbacks. Previously, s.send() was a context dependant method because the directio