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

2022-04-30 Thread Aleksei Bavshin via nginx-devel
A correct nameserver implementation should not be sending any of these flags to a non-security aware client. CD must be copied from a query to the corresponding response, and AD must only be set if all the RRsets are authentic and DO or AD were present in the query. The behavior was allowed in t

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

2022-05-24 Thread Aleksei Bavshin via nginx-devel
In all honesty, the main motivation for the patch is to address a regression in UDP healthchecks caused by the behavior described below. It's already covered by tests, but the corresponding cases were disabled by default. I considered cl->buf->flush = !src->read->error; or even cl->buf->

[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, th

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
> I don't think it's the way to go. Semantically, flush and > last_buf are mutually exclusive: last_buf implies flushing of all > remaining data, and there should be no flush set if last_buf is > set. > > The "cl->buf->flush = !src->read->eof" approach might be actually > better and more obvious:

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

2022-06-01 Thread Aleksei Bavshin via nginx-devel
Updated patch, with maybe too verbose description. For the record, I did check a few similar modules I'm aware of (nginx-upstream-dynamic-servers, ngx_upstream_jdomain) and haven't found any affected code. So, the effect on third-party modules is hypothetical. # HG changeset patch # User Aleksei

[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 upstream rec

[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 ability

[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