# HG changeset patch
# User Roman Arutyunyan
# Date 1699543504 -14400
# Thu Nov 09 19:25:04 2023 +0400
# Node ID 3cab85fe55272835674b7f1c296796955256d019
# Parent 1d3464283405a4d8ac54caae9bf1815c723f04c5
Stream: ngx_stream_pass_module.
The module allows to pass connections from Stream to ot
# HG changeset patch
# User Roman Arutyunyan
# Date 1699456644 -14400
# Wed Nov 08 19:17:24 2023 +0400
# Node ID 966331bb4936888ef2f034aa2700c130514d0b57
# Parent 7ec761f0365f418511e30b82e9adf80bc56681df
Stream: socket peek in preread phase.
Previously, preread buffer was always read out fr
# HG changeset patch
# User Roman Arutyunyan
# Date 1699035295 -14400
# Fri Nov 03 22:14:55 2023 +0400
# Node ID 1d3464283405a4d8ac54caae9bf1815c723f04c5
# Parent 966331bb4936888ef2f034aa2700c130514d0b57
Stream: virtual servers.
Server name is taken either from ngx_stream_ssl_module or
ngx_
The patches introduce updates in Stream connection handling.
- first patch implements peek mode for preread
- second patch adds virtual servers support to Stream
- third patch adds a "pass" directive which allows to jump from Stream to
any other nginx listen
--
Roman Arutyunyan
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 sanitize
> 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 certainly
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