History log of /nginx/auto/ (Results 1 – 25 of 655)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: release-1.20.2, release-1.21.4, release-1.21.3, release-1.21.2, release-1.21.1, release-1.20.1, release-1.21.0, release-1.20.0, release-1.19.10
7818:e2e9e0fae74705-Apr-2021 Maxim Dounin

Configure: fixed --test-build-epoll on FreeBSD 13.

In FreeBSD 13, eventfd(2) was added, and this breaks build
with --test-build-epoll and without --with-file-aio. Fix is
to move eventfd(2) detectio

Configure: fixed --test-build-epoll on FreeBSD 13.

In FreeBSD 13, eventfd(2) was added, and this breaks build
with --test-build-epoll and without --with-file-aio. Fix is
to move eventfd(2) detection to auto/os/linux, as it is used
only on Linux as a notification mechanism for epoll().

show more ...

Revision tags: release-1.19.9, release-1.19.8
7795:ef4bdbbce57e05-Mar-2021 Maxim Dounin

Mail: realip module.

When configured with the "set_real_ip_from", it can set client's IP
address as visible in logs to the one obtained via the PROXY protocol.

7785:c43a2e8fdf7e01-Mar-2021 Maxim Dounin

Introduced strerrordesc_np() support.

The strerrordesc_np() function, introduced in glibc 2.32, provides an
async-signal-safe way to obtain error messages. This makes it possible
to avoid copying e

Introduced strerrordesc_np() support.

The strerrordesc_np() function, introduced in glibc 2.32, provides an
async-signal-safe way to obtain error messages. This makes it possible
to avoid copying error messages.

show more ...

7784:8cc5b0365ee501-Mar-2021 Maxim Dounin

Improved maximum errno detection.

Previously, systems without sys_nerr (or _sys_nerr) were handled with an
assumption that errors start at 0 and continuous. This is, however, not
something POSIX re

Improved maximum errno detection.

Previously, systems without sys_nerr (or _sys_nerr) were handled with an
assumption that errors start at 0 and continuous. This is, however, not
something POSIX requires, and not true on some platforms.

Notably, on Linux, where sys_nerr is no longer available for newly linked
binaries starting with glibc 2.32, there are gaps in error list, which
used to stop us from properly detecting maximum errno. Further, on
GNU/Hurd errors start at 0x40000001.

With this change, maximum errno detection is moved to the runtime code,
now able to ignore gaps, and also detects the first error if needed.
This fixes observed "Unknown error" messages as seen on Linux with
glibc 2.32 and on GNU/Hurd.

show more ...

7778:549b13cd793b19-Feb-2021 Ruslan Ermilov

Configure: marked top-level make targets as phony.

Reported by Thibault Nélis.

Revision tags: release-1.19.7, release-1.19.6, release-1.19.5
7744:f18db38a982619-Nov-2020 Igor Ippolitov

Core: "-e" command line option.

When installing or running from a non-root user it is sometimes required to
override default, compiled in error log path. There was no way to do this
without rebuildi

Core: "-e" command line option.

When installing or running from a non-root user it is sometimes required to
override default, compiled in error log path. There was no way to do this
without rebuilding the binary (ticket #147).

This patch introduced "-e" command line option which allows one to override
compiled in error log path.

show more ...

7743:4b1299b1856a10-Nov-2020 Maxim Dounin

Configure: shared sources for addon modules.

Addon modules, both dynamic and static, can now use shared source files.
Shared sources result in only one make rule even if specified several
times in d

Configure: shared sources for addon modules.

Addon modules, both dynamic and static, can now use shared source files.
Shared sources result in only one make rule even if specified several
times in different modules.

show more ...

7742:4a69fec53b2f10-Nov-2020 Maxim Dounin

Configure: initialization of NGX_ADDON_SRCS.

7741:f0110b3663b710-Nov-2020 Maxim Dounin

Configure: style.

Revision tags: release-1.19.4, release-1.19.3
7713:45e9281c6c5b28-Aug-2020 Pavel Pautov

Stream: set module.

Adds 'set' directive to the stream server context.

Revision tags: release-1.19.2, release-1.19.1, release-1.19.0, release-1.18.0, release-1.17.10, release-1.17.9, release-1.17.8, release-1.17.7, release-1.17.6, release-1.17.5
7583:efd71d49bde017-Oct-2019 Maxim Dounin

Events: available bytes calculation via ioctl(FIONREAD).

This makes it possible to avoid looping for a long time while working
with a fast enough peer when data are added to the socket buffer faster

Events: available bytes calculation via ioctl(FIONREAD).

This makes it possible to avoid looping for a long time while working
with a fast enough peer when data are added to the socket buffer faster
than we are able to read and process them (ticket #1431). This is
basically what we already do on FreeBSD with kqueue, where information
about the number of bytes in the socket buffer is returned by
the kevent() call.

With other event methods rev->available is now set to -1 when the socket
is ready for reading. Later in ngx_recv() and ngx_recv_chain(), if
full buffer is received, real number of bytes in the socket buffer is
retrieved using ioctl(FIONREAD). Reading more than this number of bytes
ensures that even with edge-triggered event methods the event will be
triggered again, so it is safe to stop processing of the socket and
switch to other connections.

Using ioctl(FIONREAD) only after reading a full buffer is an optimization.
With this approach we only call ioctl(FIONREAD) when there are at least
two recv()/readv() calls.

show more ...

Revision tags: release-1.17.4, release-1.16.1, release-1.17.3, release-1.17.2, release-1.17.1, release-1.17.0
7506:ee36940cfb0f08-May-2019 Roman Arutyunyan

Unconditional compilation of the postpone filter.

Postpone filter is an essential part of subrequest functionality. In absence
of it a subrequest response body is sent to the client out of order wi

Unconditional compilation of the postpone filter.

Postpone filter is an essential part of subrequest functionality. In absence
of it a subrequest response body is sent to the client out of order with
respect to the main request header and body, as well as other subrequests.
For in-memory subrequests the response is also sent to the client instead of
being stored in memory.

Currently the postpone filter is automatically enabled if one of the following
standard modules which are known to create subrequests is enabled: ssi, slice,
addition. However a third-party module that creates subrequests can still be
built without the postpone filter or be dynamically loaded in nginx built
without it.

show more ...

Revision tags: release-1.16.0, release-1.15.12, release-1.15.11
7488:955c4b18635404-Apr-2019 Maxim Dounin

Win32: defined pdb path.

By default, MSVC uses vc<version>.pdb in the current directory.
With the "-Fd" switch it is directed to be in the objs directory instead.

Revision tags: release-1.15.10, release-1.15.9
7450:2d9ab7717e2330-Jan-2019 Sergey Kandaurov

Configure: added explicit ngx_binext to the linker output argument.

Unlike with GCC or MSVC, Clang linker doesn't auto-append ".exe" to the name
of the output binary when building on win32.

7445:c9235164bbf124-Jan-2019 Maxim Dounin

Win32: enabled both select and poll on Windows by default.

Since we now have both select and poll on Windows, it is enough to
do not set EVENT_FOUND, auto/modules will enable both automatically.

7444:4089b3d2cb5924-Jan-2019 Maxim Dounin

Win32: added WSAPoll() support.

WSAPoll() is only available with Windows Vista and newer (and only
available during compilation if _WIN32_WINNT >= 0x0600). To make
sure the code works with Windows

Win32: added WSAPoll() support.

WSAPoll() is only available with Windows Vista and newer (and only
available during compilation if _WIN32_WINNT >= 0x0600). To make
sure the code works with Windows XP, we do not redefine _WIN32_WINNT,
but instead load WSAPoll() dynamically if it is not available during
compilation.

Also, sockets are not guaranteed to be small integers on Windows.
So an index array is used instead of NGX_USE_FD_EVENT to map
events to connections.

show more ...

7443:f3ff79ae31d924-Jan-2019 Maxim Dounin

Win32: properly enabled select on Windows.

Previously, select was compiled in by default, but the NGX_HAVE_SELECT
macro was not set, resulting in iocp being used by default unless
the "--with-select

Win32: properly enabled select on Windows.

Previously, select was compiled in by default, but the NGX_HAVE_SELECT
macro was not set, resulting in iocp being used by default unless
the "--with-select_module" configure option was explicitly specified.
Since the iocp module is not finished and does not work properly, this
effectively meant that the "--with-select_module" option was mandatory.

With the change NGX_HAVE_SELECT is properly set, making "--with-select_module"
optional. Accordingly, it is removed from misc/GNUmakefile win32 target.

show more ...

Revision tags: release-1.15.8, release-1.14.2, release-1.15.7, release-1.14.1, release-1.15.6, release-1.15.5, release-1.15.4, release-1.15.3
7327:f7e79596baf224-Jul-2018 Sergey Kandaurov

Configure: fixed compiler warnings with "-Wall -Wextra".

Revision tags: release-1.15.2, release-1.15.1
7301:f2396ecf608b15-Jun-2018 Vladimir Homutov

Upstream: ngx_http_upstream_random module.

The module implements random load-balancing algorithm with optional second
choice. In the latter case, the best of two servers is chosen, accounting
numbe

Upstream: ngx_http_upstream_random module.

The module implements random load-balancing algorithm with optional second
choice. In the latter case, the best of two servers is chosen, accounting
number of connections and server weight.

Example:

upstream u {
random [two [least_conn]];

server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}

show more ...

Revision tags: release-1.15.0
7285:88a624c9b49101-Jun-2018 Roman Arutyunyan

Events: moved ngx_recvmsg() to new file src/event/ngx_event_udp.c.

7273:ceab908790c424-Apr-2018 Ruslan Ermilov

Configure: fixed clang version detection (closes #1539).

While 325b3042edd6 fixed it on MINIX, it broke it on systems
that output the word "version" on several lines with "cc -v".
The fix is to only

Configure: fixed clang version detection (closes #1539).

While 325b3042edd6 fixed it on MINIX, it broke it on systems
that output the word "version" on several lines with "cc -v".
The fix is to only consider "clang version" or "LLVM version"
as clang version, but this time only using sed(1).

show more ...

Revision tags: release-1.14.0, release-1.13.12, release-1.13.11
7247:b329c0ab1a4822-Mar-2018 Maxim Dounin

Configure: restored "no-threads" in OpenSSL builds.

This was previously used, but was incorrectly removed in 83d54192e97b
while removing old threads remnants. Instead of using it conditionally
when

Configure: restored "no-threads" in OpenSSL builds.

This was previously used, but was incorrectly removed in 83d54192e97b
while removing old threads remnants. Instead of using it conditionally
when threads are not used, we now set in unconditionally, as even with
thread pools enabled we never call OpenSSL functions in threads.

This fixes resulting binary when using --with-openssl with OpenSSL 1.1.0+
and without -lpthread linked (notably on FreeBSD without PCRE).

show more ...

7246:04ebf29eaf5b22-Mar-2018 Maxim Dounin

Configure: fixed static compilation with OpenSSL 1.1.1.

OpenSSL now uses pthread_atfork(), and this requires -lpthread on Linux
to compile. Introduced NGX_LIBPTHREAD to add it as appropriate, simil

Configure: fixed static compilation with OpenSSL 1.1.1.

OpenSSL now uses pthread_atfork(), and this requires -lpthread on Linux
to compile. Introduced NGX_LIBPTHREAD to add it as appropriate, similar
to existing NGX_LIBDL.

show more ...

Revision tags: release-1.13.10
7237:d87393919a1018-Mar-2018 Sergey Kandaurov

Configure: added gRPC module help message.

7233:2713b2dbf5bb17-Mar-2018 Maxim Dounin

The gRPC proxy module.

The module allows passing requests to upstream gRPC servers.
The module is built by default as long as HTTP/2 support is compiled in.
Example configuration:

grpc_pass 127

The gRPC proxy module.

The module allows passing requests to upstream gRPC servers.
The module is built by default as long as HTTP/2 support is compiled in.
Example configuration:

grpc_pass 127.0.0.1:9000;

Alternatively, the "grpc://" scheme can be used:

grpc_pass grpc://127.0.0.1:9000;

Keepalive support is available via the upstream keepalive module. Note
that keepalive connections won't currently work with grpc-go as it fails
to handle SETTINGS_HEADER_TABLE_SIZE.

To use with SSL:

grpc_pass grpcs://127.0.0.1:9000;

SSL connections use ALPN "h2" when available. At least grpc-go works fine
without ALPN, so if ALPN is not available we just establish a connection
without it.

Tested with grpc-c++ and grpc-go.

show more ...

12345678910>>...27