[PATCH 0 of 6] Upstream: re-resolvable servers.

2023-01-31 Thread Aleksei Bavshin
The series is a compilation of patches with the upstream re-resolve feature from the Nginx Plus. The original commits were rebased on top of the current OSS code, grouped by features introduced and squashed. Some formatting quirks and other minor oddities could be attributed to a conscious effort

[PATCH 1 of 6] Upstream: re-resolvable servers

2023-01-31 Thread Aleksei Bavshin
# HG changeset patch # User Ruslan Ermilov # Date 1392462754 -14400 # Sat Feb 15 15:12:34 2014 +0400 # Node ID b6e13aa0330c8434add55c88598480016b80fc0e # Parent 106328a70f4ecb32f828d33e5cd66c861e455f92 Upstream: re-resolvable servers. Specifying the upstream server by a hostname together wi

[PATCH 3 of 6] Upstream: construct upstream peers from DNS SRV records

2023-01-31 Thread Aleksei Bavshin
# HG changeset patch # User Dmitry Volyntsev # Date 1458229351 -10800 # Thu Mar 17 18:42:31 2016 +0300 # Node ID 95ea48662e8a8b7ee73b39c5791c06b5e17e3102 # Parent 09954272153fb0ad62a80799a854a22fd9ebcdc9 Upstream: construct upstream peers from DNS SRV records. diff --git a/src/http/modules/

[PATCH 2 of 6] Stream: re-resolvable servers

2023-01-31 Thread Aleksei Bavshin
# HG changeset patch # User Roman Arutyunyan # Date 1423128416 -10800 # Thu Feb 05 12:26:56 2015 +0300 # Node ID 09954272153fb0ad62a80799a854a22fd9ebcdc9 # Parent b6e13aa0330c8434add55c88598480016b80fc0e Stream: re-resolvable servers. Co-authored-by: Ruslan Ermilov Co-authored-by: Sergey K

[PATCH 4 of 6] Upstream: per-upstream resolver

2023-01-31 Thread Aleksei Bavshin
# HG changeset patch # User Vladimir Homutov # Date 1571405595 -10800 # Fri Oct 18 16:33:15 2019 +0300 # Node ID cfae397f1ea87a35c41febab6162fe5142aa767b # Parent 95ea48662e8a8b7ee73b39c5791c06b5e17e3102 Upstream: per-upstream resolver. The "resolver" and "resolver_timeout" directives can n

[PATCH 6 of 6] Upstream: reschedule in-progress resolve tasks at worker exit

2023-01-31 Thread Aleksei Bavshin
# HG changeset patch # User Aleksei Bavshin # Date 1671568350 28800 # Tue Dec 20 12:32:30 2022 -0800 # Node ID 34e439843ed3a2122cba54b1f40b77ea6e874078 # Parent f8eb6b94d8f46008eb5f2f1dbc747750d5755506 Upstream: reschedule in-progress resolve tasks at worker exit. Workers may exit at a

[PATCH 5 of 6] Upstream: allow any worker to resolve upstream servers

2023-01-31 Thread Aleksei Bavshin
# HG changeset patch # User Aleksei Bavshin # Date 1670883784 28800 # Mon Dec 12 14:23:04 2022 -0800 # Node ID f8eb6b94d8f46008eb5f2f1dbc747750d5755506 # Parent cfae397f1ea87a35c41febab6162fe5142aa767b Upstream: allow any worker to resolve upstream servers. This change addresses one of the

Re: [PATCH 5 of 6] Upstream: allow any worker to resolve upstream servers

2023-02-09 Thread Aleksei Bavshin
On 2/5/2023 7:01 PM, J Carter wrote: Hi Aleksei, Why not permanently assign the task of resolving a given upstream server group (all servers/peers within it) to a single worker? It seems that this approach would resolve the SRV issues, and remove the need for the shared queue of tasks. The

[PATCH 0 of 9] Upstream: re-resolvable servers.

2024-06-13 Thread Aleksei Bavshin
The series is a compilation of patches with the upstream re-resolve feature from the Nginx Plus. The original commits were rebased on top of the current OSS code, grouped by features introduced and squashed. Some formatting quirks and other minor oddities could be attributed to a conscious effort

[PATCH 1 of 9] Upstream: re-resolvable servers

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Ruslan Ermilov # Date 1392462754 -14400 # Sat Feb 15 15:12:34 2014 +0400 # Node ID 56aeae9355df8a2ee07e21b65b6869747dd9ee45 # Parent 02e9411009b987f408214ab4a8b6b6093f843bcd Upstream: re-resolvable servers. Specifying the upstream server by a hostname together wi

[PATCH 2 of 9] Stream: re-resolvable servers

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Roman Arutyunyan # Date 1423128416 -10800 # Thu Feb 05 12:26:56 2015 +0300 # Node ID a2b1433abda29286189dad01fc3574df235e6aa8 # Parent 56aeae9355df8a2ee07e21b65b6869747dd9ee45 Stream: re-resolvable servers. Co-authored-by: Ruslan Ermilov Co-authored-by: Sergey K

[PATCH 3 of 9] Upstream: construct upstream peers from DNS SRV records

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Dmitry Volyntsev # Date 1458229351 -10800 # Thu Mar 17 18:42:31 2016 +0300 # Node ID 8b7fcded3983023229de1a6df5e2e0b857ee1bc9 # Parent a2b1433abda29286189dad01fc3574df235e6aa8 Upstream: construct upstream peers from DNS SRV records. diff --git a/src/http/modules/

[PATCH 4 of 9] Core: inheritance of non-reusable shared memory zones

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Ruslan Ermilov # Date 1509736941 -10800 # Fri Nov 03 22:22:21 2017 +0300 # Node ID 90ef6f74980d5e46c95aa32375a58bb8eb56122e # Parent 8b7fcded3983023229de1a6df5e2e0b857ee1bc9 Core: inheritance of non-reusable shared memory zones. When re-creating a non-reusable zo

[PATCH 5 of 9] Upstream: pre-resolve servers on reload

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Ruslan Ermilov # Date 1509736943 -10800 # Fri Nov 03 22:22:23 2017 +0300 # Node ID 238c1695d3b7450159ba0c03509584683bf25f9b # Parent 90ef6f74980d5e46c95aa32375a58bb8eb56122e Upstream: pre-resolve servers on reload. After configuration is reloaded, it may take som

[PATCH 6 of 9] Upstream: per-upstream resolver

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Vladimir Homutov # Date 1571405595 -10800 # Fri Oct 18 16:33:15 2019 +0300 # Node ID 621ba257aeac3017ea83b24fafa201e07c1c7756 # Parent 238c1695d3b7450159ba0c03509584683bf25f9b Upstream: per-upstream resolver. The "resolver" and "resolver_timeout" directives can n

[PATCH 7 of 9] Upstream: copy upstream zone DNS valid time during config reload

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Mini Hawthorne # Date 1689189645 25200 # Wed Jul 12 12:20:45 2023 -0700 # Node ID 8c8d8118c7ac0a0426f48dbfed94e279dddff992 # Parent 621ba257aeac3017ea83b24fafa201e07c1c7756 Upstream: copy upstream zone DNS valid time during config reload. Previously, all upstream

[PATCH 8 of 9] Upstream: disable re-resolve functionality on Windows

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Aleksei Bavshin # Date 1712181327 25200 # Wed Apr 03 14:55:27 2024 -0700 # Node ID 375fa42f1a6010692a8782c4f03c6ad465d3f7f7 # Parent 8c8d8118c7ac0a0426f48dbfed94e279dddff992 Upstream: disable re-resolve functionality on Windows. Following features are currently

[PATCH 9 of 9] Tests: upstream configuration tests with re-resolvable servers

2024-06-13 Thread Aleksei Bavshin
# HG changeset patch # User Aleksei Bavshin # Date 1712098324 25200 # Tue Apr 02 15:52:04 2024 -0700 # Node ID ca287b2047ff417c3b23a874d2e51c87553edc46 # Parent 375fa42f1a6010692a8782c4f03c6ad465d3f7f7 Tests: upstream configuration tests with re-resolvable servers. Based on the NGINX Plus

Re: [PATCH 1 of 9] Upstream: re-resolvable servers

2024-07-09 Thread Aleksei Bavshin
On 7/8/2024 7:20 AM, Roman Arutyunyan wrote: Hi, On Thu, Jun 13, 2024 at 03:28:56PM -0700, Aleksei Bavshin wrote: # HG changeset patch # User Ruslan Ermilov # Date 1392462754 -14400 # Sat Feb 15 15:12:34 2014 +0400 # Node ID 56aeae9355df8a2ee07e21b65b6869747dd9ee45 # Parent

Re: [PATCH 8 of 9] Upstream: disable re-resolve functionality on Windows

2024-07-11 Thread Aleksei Bavshin
On 7/10/2024 6:16 AM, Roman Arutyunyan wrote: Hi, On Thu, Jun 13, 2024 at 03:29:03PM -0700, Aleksei Bavshin wrote: # HG changeset patch # User Aleksei Bavshin # Date 1712181327 25200 # Wed Apr 03 14:55:27 2024 -0700 # Node ID 375fa42f1a6010692a8782c4f03c6ad465d3f7f7 # Parent

Re: [PATCH 1 of 9] Upstream: re-resolvable servers

2024-07-11 Thread Aleksei Bavshin
On 7/9/2024 9:22 AM, Roman Arutyunyan wrote: Hi, On Mon, Jul 08, 2024 at 06:20:58PM +0400, Roman Arutyunyan wrote: Hi, On Thu, Jun 13, 2024 at 03:28:56PM -0700, Aleksei Bavshin wrote: # HG changeset patch # User Ruslan Ermilov # Date 1392462754 -14400 # Sat Feb 15 15:12:34 2014 +0400

Re: [PATCH 1 of 9] Upstream: re-resolvable servers

2024-07-11 Thread Aleksei Bavshin
ff ipv6=on; server example.com resolve; }; On Fri, 12 Jul 2024 at 02:40, Aleksei Bavshin <mailto:a.bavs...@nginx.com>> wrote: On 7/9/2024 9:22 AM, Roman Arutyunyan wrote: > Hi, > > On Mon, Jul 08, 2024 at 06:20:58PM +0400, Roman Arutyunyan wrote: &

Re: [PATCH 1 of 9] Upstream: re-resolvable servers

2024-07-11 Thread Aleksei Bavshin
On 7/11/2024 12:58 PM, Mathew Heard wrote: On Fri, 12 Jul 2024 at 05:42, Aleksei Bavshin wrote: On 7/11/2024 12:15 PM, Mathew Heard wrote: Do you happen to know if there remains any gap in obvious capability provided by a module like jdomain compared to this? An obvious difference is that

[PATCH 0 of 7] Upstream: re-resolvable servers.

2024-07-18 Thread Aleksei Bavshin
See https://mailman.nginx.org/pipermail/nginx-devel/2024-June/TSMKAHLFU3X4OBKLPRW5B2PXGBTUEHPU.html v3 changes: - Addressed comments from Roman - Removed the patch that disables re-resolve on Windows - Disabled reload tests on Windows ___ nginx-deve

[PATCH 1 of 7] Upstream: re-resolvable servers

2024-07-18 Thread Aleksei Bavshin
# HG changeset patch # User Ruslan Ermilov # Date 1392462754 -14400 # Sat Feb 15 15:12:34 2014 +0400 # Node ID 46d4c383cf3a72db5d579092636a6be3cd907786 # Parent 072ca4906154effb64cbf8209dfe86742ff074d7 Upstream: re-resolvable servers. Specifying the upstream server by a hostname together wi

[PATCH 2 of 7] Upstream: construct upstream peers from DNS SRV records

2024-07-18 Thread Aleksei Bavshin
# HG changeset patch # User Dmitry Volyntsev # Date 1458229351 -10800 # Thu Mar 17 18:42:31 2016 +0300 # Node ID 5fc7ae429476db5f747e3b600aab0493da1d52fd # Parent 46d4c383cf3a72db5d579092636a6be3cd907786 Upstream: construct upstream peers from DNS SRV records. diff --git a/src/http/modules/

[PATCH 3 of 7] Core: inheritance of non-reusable shared memory zones

2024-07-18 Thread Aleksei Bavshin
# HG changeset patch # User Ruslan Ermilov # Date 1509736941 -10800 # Fri Nov 03 22:22:21 2017 +0300 # Node ID d2f58530125445e0a436e923b368a5879aaaf1ea # Parent 5fc7ae429476db5f747e3b600aab0493da1d52fd Core: inheritance of non-reusable shared memory zones. When re-creating a non-reusable zo

[PATCH 4 of 7] Upstream: pre-resolve servers on reload

2024-07-18 Thread Aleksei Bavshin
# HG changeset patch # User Ruslan Ermilov # Date 1509736943 -10800 # Fri Nov 03 22:22:23 2017 +0300 # Node ID e52530ef6851c088ebbe9f400224ef0758583cf0 # Parent d2f58530125445e0a436e923b368a5879aaaf1ea Upstream: pre-resolve servers on reload. After configuration is reloaded, it may take som

[PATCH 5 of 7] Upstream: per-upstream resolver

2024-07-18 Thread Aleksei Bavshin
# HG changeset patch # User Vladimir Homutov # Date 1571405595 -10800 # Fri Oct 18 16:33:15 2019 +0300 # Node ID 20cc5e474a0bff2bc1fadcc73aae61384f8eefbd # Parent e52530ef6851c088ebbe9f400224ef0758583cf0 Upstream: per-upstream resolver. The "resolver" and "resolver_timeout" directives can n

[PATCH 6 of 7] Upstream: copy upstream zone DNS valid time during config reload

2024-07-18 Thread Aleksei Bavshin
# HG changeset patch # User Mini Hawthorne # Date 1689189645 25200 # Wed Jul 12 12:20:45 2023 -0700 # Node ID b396d0c2c62c796c76921dcf20960f8ba2515aba # Parent 20cc5e474a0bff2bc1fadcc73aae61384f8eefbd Upstream: copy upstream zone DNS valid time during config reload. Previously, all upstream

[PATCH 7 of 7] Tests: upstream configuration tests with re-resolvable servers

2024-07-18 Thread Aleksei Bavshin
# HG changeset patch # User Aleksei Bavshin # Date 1712098324 25200 # Tue Apr 02 15:52:04 2024 -0700 # Node ID cf291bf98576d5ddd36ead2b7eacc0808120e66b # Parent b396d0c2c62c796c76921dcf20960f8ba2515aba Tests: upstream configuration tests with re-resolvable servers. Based on the NGINX Plus

Re: [PATCH 2 of 6] SSL: object caching

2024-08-12 Thread Aleksei Bavshin
On 7/23/2024 12:30 PM, Mini Hawthorne wrote: # HG changeset patch # User Mini Hawthorne # Date 1721762842 0 # Tue Jul 23 19:27:22 2024 + # Node ID 8eee61e223bb7cb7475e50b866fd6b9a83fa5fa0 # Parent 59ac183dfee8e9641563e043eb19480d91dd7cc0 SSL: object caching. Added ngx_openssl_cache_mo

Re: [nginx] CONF: Make ssl_client_certificate directive optional with TLSv1.3

2024-08-19 Thread Aleksei Bavshin
On 8/16/2024 8:02 AM, Praveen Chaudhary wrote: Hi Nginx Devs Bumping patch to the top for review. CC: @Sergey Kandaurov Thanks for contributing client certificate validation with OSCP.  It is a long awaited feature. In this patch, I am trying to fix another lingering concern. It will be great

Re: [PATCH 1 of 2] Stream: client certificate validation with OCSP

2024-08-21 Thread Aleksei Bavshin
On 8/15/2024 8:56 AM, Sergey Kandaurov wrote: # HG changeset patch # User Sergey Kandaurov # Date 1723737051 -14400 # Thu Aug 15 19:50:51 2024 +0400 # Node ID 7d94e3fcad21b90fb13734ed0f9a2f019e23f882 # Parent 8796dfbe7177cb0be2a53bcdb4d25cc64a58d2a7 Stream: client certificate validation wi

Re: [PATCH 0 of 6] SSL object cache

2024-08-21 Thread Aleksei Bavshin
On 8/21/2024 3:04 PM, Sergey Kandaurov wrote: Largely updated series based on my comments. Tests: # HG changeset patch # User Aleksei Bavshin # Date 1724280833 25200 # Wed Aug 21 15:53:53 2024 -0700 # Node ID 2a79edf2beb86ab81af8663ecd27fe632eb9e174 # Parent

Re: [PATCH 3 of 6] SSL: caching certificates

2024-08-29 Thread Aleksei Bavshin
On 8/21/2024 3:04 PM, Sergey Kandaurov wrote: # HG changeset patch # User Sergey Kandaurov # Date 1721762857 0 # Tue Jul 23 19:27:37 2024 + # Node ID 0d87e1495981ca541d8cdb947d94f20a686545a3 # Parent 6fbe0bcb81696bba12d186e5c15323046bcac2d9 SSL: caching certificates. Certificate chain

[PATCH] Resolver: relax validation of response flags to allow AD and CD

2022-04-30 Thread Aleksei Bavshin via nginx-devel
2022/04/28 17:34:10 [error] 27847#27847: unexpected RR type 46 in DNS response # HG changeset patch # User Aleksei Bavshin # Date 1651176054 25200 # Thu Apr 28 13:00:54 2022 -0700 # Node ID 5a570e610b375d1f3442a5b0fc1844be3909d103 # Parent a736a7a613ea6e182ff86fbadcb98bb0f8891c0b Resolv

[PATCH] Stream: don't flush empty buffers created for read errors.

2022-05-24 Thread Aleksei Bavshin via nginx-devel
even cl->buf->flush = !src->read->eof; but neither of those are exactly equivalent to the code below (with the latter having significantly different behavior), and IMO it would look less obvious. # HG changeset patch # User Aleksei Bavshin # Date 1653330584 25200 # M

[PATCH] Resolver: make TCP write timer event cancelable.

2022-05-26 Thread Aleksei Bavshin via nginx-devel
# HG changeset patch # User Aleksei Bavshin # Date 1653579686 25200 # Thu May 26 08:41:26 2022 -0700 # Branch se # Node ID afb3646a08b6ebcf46fdbd2e7bf97cda774b # Parent 5a98e9cb437f7719afa2bde62de68e174fd8e03e Resolver: make TCP write timer event cancelable. In certain circumstances

RE: [PATCH] Resolver: make TCP write timer event cancelable.

2022-05-26 Thread Aleksei Bavshin via nginx-devel
> -Original Message- > From: Maxim Dounin > Sent: Thursday, May 26, 2022 3:31 PM > To: Aleksei Bavshin via nginx-devel > Subject: Re: [PATCH] Resolver: make TCP write timer event cancelable. > > EXTERNAL MAIL: nginx-devel-boun...@nginx.org > > Hello! > &

RE: [PATCH] Stream: don't flush empty buffers created for read errors.

2022-06-01 Thread Aleksei Bavshin via nginx-devel
> -Original Message- > From: Maxim Dounin > Sent: Wednesday, June 1, 2022 7:41 AM > To: Aleksei Bavshin via nginx-devel > Subject: Re: [PATCH] Stream: don't flush empty buffers created for read > errors. > > EXTERNAL MAIL: nginx-devel-boun...@nginx.org &g

RE: [PATCH] Stream: don't flush empty buffers created for read errors.

2022-06-01 Thread Aleksei Bavshin via nginx-devel
for confirming that, I wasn't sure it is the right approach exactly because I had doubts regarding the mutual exclusivity of the flags. Updated patch below; tests are passing on both branches and all systems we have in CI. # HG changeset patch # User Aleksei Bavshin

RE: [PATCH] Resolver: make TCP write timer event cancelable.

2022-06-01 Thread Aleksei Bavshin via nginx-devel
tch # User Aleksei Bavshin # Date 1654139843 25200 # Wed Jun 01 20:17:23 2022 -0700 # Node ID 488f7a926ba54303c930b0b1e19c2b27e0af5079 # Parent 40926829be83986a3a5a5f941d2014000a0acd2e Resolver: make TCP write timer event cancelable. Similar to 70e65bf8dfd7, the change is made to ensure that the

[nginx] Stream: don't flush empty buffers created for read errors.

2022-06-10 Thread Aleksei Bavshin via nginx-devel
details: https://hg.nginx.org/nginx/rev/457afc332c67 branches: changeset: 8044:457afc332c67 user: Aleksei Bavshin date: Mon May 23 11:29:44 2022 -0700 description: Stream: don't flush empty buffers created for read errors. When we generate the last_buf buffer for an UDP ups

[nginx] Resolver: make TCP write timer event cancelable.

2022-06-10 Thread Aleksei Bavshin via nginx-devel
details: https://hg.nginx.org/nginx/rev/aa28c802409f branches: changeset: 8045:aa28c802409f user: Aleksei Bavshin date: Wed Jun 01 20:17:23 2022 -0700 description: Resolver: make TCP write timer event cancelable. Similar to 70e65bf8dfd7, the change is made to ensure that the

[PATCH] HTTP: add internal_redirect directive.

2022-11-17 Thread Aleksei Bavshin via nginx-devel
The directive in question provides direct access to the ngx_http_internal_redirect/ngx_http_named_location APIs, allowing to simplify and optimize several real-life configurations where the modules should be executed multiple times/in a different order/with a different configuration/etc, someti

RE: [PATCH] HTTP: add internal_redirect directive.

2022-11-30 Thread Aleksei Bavshin via nginx-devel
Hello, > > The directive in question provides direct access to the > > ngx_http_internal_redirect/ngx_http_named_location APIs, > > allowing to simplify and optimize several real-life > > configurations where the modules should be executed multiple > > times/in a different order/with a different c