summaryrefslogtreecommitdiffhomepage
path: root/auto (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-02-15HTTP/2: push additional request headers (closes #1478).Ruslan Ermilov1-0/+1
The Accept-Encoding, Accept-Language, and User-Agent header fields are now copied from the original request to pushed requests.
2017-12-19Fixed capabilities version.Roman Arutyunyan1-1/+1
Previously, capset(2) was called with the 64-bit capabilities version _LINUX_CAPABILITY_VERSION_3. With this version Linux kernel expected two copies of struct __user_cap_data_struct, while only one was submitted. As a result, random stack memory was accessed and random capabilities were requested by the worker. This sometimes caused capset() errors. Now the 32-bit version _LINUX_CAPABILITY_VERSION_1 is used instead. This is OK since CAP_NET_RAW is a 32-bit capability (CAP_NET_RAW = 13).
2017-12-18Improved the capabilities feature detection.Roman Arutyunyan1-2/+3
Previously included file sys/capability.h mentioned in capset(2) man page, belongs to the libcap-dev package, which may not be installed on some Linux systems when compiling nginx. This prevented the capabilities feature from being detected and compiled on that systems. Now linux/capability.h system header is included instead. Since capset() declaration is located in sys/capability.h, now capset() syscall is defined explicitly in code using the SYS_capset constant, similarly to other Linux-specific features in nginx.
2017-12-13Retain CAP_NET_RAW capability for transparent proxying.Roman Arutyunyan1-0/+31
The capability is retained automatically in unprivileged worker processes after changing UID if transparent proxying is enabled at least once in nginx configuration. The feature is only available in Linux.
2017-12-11Use sysconf to determine cacheline size at runtime.Debayan Ghosh1-0/+10
Determine cacheline size at runtime if supported using sysconf(_SC_LEVEL1_DCACHE_LINESIZE). In case not supported, fallback to compile time defaults.
2017-12-11Configure: set default cacheline size to 64 for aarch64 platforms.Debayan Ghosh1-0/+5
2017-12-07Configure: fixed SO_BINDANY comment.Maxim Dounin1-1/+1
2017-12-07Configure: moved IP_BIND_ADDRESS_NO_PORT test.Maxim Dounin1-11/+11
In 2c7b488a61fb, IP_BIND_ADDRESS_NO_PORT test was accidentally placed between SO_BINDANY, IP_TRANSPARENT, and IP_BINDANY tests. Moved it after these tests.
2017-11-23Configure: fixed clang detection on MINIX.Maxim Dounin2-2/+6
As per POSIX, basic regular expressions have no alternations, and the interpretation of the "\|" construct is undefined. At least on MINIX and Solaris grep interprets "\|" as literal "|", and not as an alternation as GNU grep does. Removed such constructs introduced in f1daa0356a1d. This fixes clang detection on MINIX.
2017-07-20Mirror module.Roman Arutyunyan2-0/+14
2017-07-20Precontent phase.Roman Arutyunyan1-0/+11
The phase is added instead of the try_files phase. Unlike the old phase, the new one supports registering multiple handlers. The try_files implementation is moved to a separate ngx_http_try_files_module, which now registers a precontent phase handler.
2017-07-19Configure: fixed PCRE requirement check by ngx_http_rewrite_module.Samuel Martin1-1/+1
The http_rewrite module cannot be selected when http is disabled. Fixed the PCRE check condition to avoid irrelevant check failure. This is a regression from 4d874b4d82ed. Signed-off-by: Samuel Martin <s.martin49@gmail.com>
2017-06-06Configure: use .exe for binaries for all win32 compilers.Orgad Shaneh4-3/+1
2017-06-06Configure: fix compilation on MSYS2 / MinGW64.Orgad Shaneh1-1/+1
2017-06-02Configure: enabled rpath for NetBSD.Sergey Kandaurov1-0/+8
2017-06-01Configure: disabled IP_PKTINFO feature on certain platforms.Roman Arutyunyan1-1/+4
On Cygwin and NetBSD 7.0+ struct in_pktinfo has no ipi_spec_dst field, which caused nginx compilation error. Now presence of this field is ensured by the IP_PKTINFO feature test. The problem was introduced by dbb0c854e308 (1.13.0).
2017-05-29Configure: sched_setaffinity() test moved to auto/unix.Maxim Dounin2-14/+12
The sched_setaffinity() function was introduced in DragonFly BSD 4.7, so it is no longer Linux-specific. Prodded by Sepherosa Ziehau.
2017-05-15Configure: recent Sun C versions.Maxim Dounin1-1/+4
2017-05-15Configure: disabled gcc atomics with Sun C (ticket #1261).Maxim Dounin1-15/+19
Oracle Developer Studio 12.5 introduced GCC-compatible __sync builtins. Unfortunately, these builtins are neither GCC-compatible (they generate warnings when used with volatile), nor working (unexpectedly fail on unpredictable combinations of code layout and compiler flags). As such, the gcc builtin atomic operations configure test explicitly disabled when compiling with Sun C.
2017-05-15Configure: style.Maxim Dounin1-1/+1
2017-04-11Set UDP datagram source address (ticket #1239).Roman Arutyunyan1-0/+13
Previously, the source IP address of a response UDP datagram could differ from the original datagram destination address. This could happen if the server UDP socket is bound to a wildcard address and the network interface chosen to output the response packet has a different default address than the destination address of the original packet. For example, if two addresses from the same network are configured on an interface. Now source address is set explicitly if a response is sent for a server UDP socket bound to a wildcard address.
2017-04-17Enabled IPV6_RECVPKTINFO / IPV6_PKTINFO on macOS.Sergey Kandaurov1-1/+3
This change allows setting the destination IPv6 address of a UDP datagram received on a wildcard socket.
2017-03-16Configure: fixed --without_http.Ruslan Ermilov2-691/+675
Instead of turning off some randomly selected http modules when --without-http is specified, just don't process the whole http modules section.
2017-03-16Configure: fixed build with --with-stream.Ruslan Ermilov1-0/+2
Some combinations of options might cause the builds with the --with-stream option to break due to invalid value of the STREAM_INCS make variable, e.g. auto/configure \ --with-stream \ --with-http_perl_module=dynamic \ --without-http_memcached_module \ --without-http_empty_gif_module \ --without-http_browser_module \ --without-http_upstream_hash_module \ --without-http_upstream_ip_hash_module \ --without-http_upstream_least_conn_module \ --without-http_upstream_keepalive_module \ --without-http_upstream_zone_module \ Explicit initialization of ngx_module_libs and ngx_module_link matches what we already do when processing mail modules, and is also required after the next change.
2017-02-01Configure: removed execute bit from auto/unix.Sergey Kandaurov1-0/+0
2016-12-24Win32: compatiblity with OpenSSL 1.1.0.Maxim Dounin2-7/+22
OpenSSL 1.1.0 now uses normal "nmake; nmake install" instead of using custom "ms\do_ms.bat" script and "ms\nt.mak" makefile. And Configure now requires --prefix to be absolute, and no longer derives --openssldir from prefix (so it's specified explicitly). Generated libraries are now called "libcrypto.lib" and "libssl.lib" instead of "libeay32.lib" and "ssleay32.lib". Appropriate tests added to support both old and new variants. Additionally, openssl/lhash.h now triggers warning C4090 ('function' : different 'const' qualifiers), so the warning was disabled.
2016-12-16Configure: detect nginx version for nginx.pm at make time.Ruslan Ermilov1-4/+5
2016-12-07Perl: removed special environment handling for the perl module.Maxim Dounin1-3/+3
In Perl 5.8.6 the default was switched to use putenv() when used as embedded library unless "PL_use_safe_putenv = 0" is explicitly used in the code. Therefore, for modern versions of Perl it is no longer necessary to restore previous environment when calling perl_destruct().
2016-11-21Configure: honor dependencies of dynamic modules.Maxim Dounin3-16/+9
Dependencies of dynamic modules are added to NGX_ADDON_DEPS (and it is now used for dynamic modules) to be in line with what happens in case of static compilation. To avoid duplication, MAIL_DEPS and STREAM_DEPS are no longer passed to auto/module when these modules are compiled as dynamic ones. Mail and stream dependencies are handled explicitly via corresponding variables.
2016-10-21Image filter: support for WebP.Valentin Bartenev1-0/+5
In collaboration with Ivan Poluyanov.
2016-10-04Configure: removed the --with-ipv6 option.Maxim Dounin4-31/+27
IPv6 now compiled-in automatically if support is found. If there is a need to disable it for some reason, --with-cc-opt="-DNGX_HAVE_INET6=0" can be used for this.
2016-10-03Modules compatibility: --with-compat configure option.Maxim Dounin2-0/+18
2016-09-20Perl: pass additional linker options to perl module.Konstantin Pavlov3-1/+5
Previously flags passed by --with-ld-opt were not used when building perl module, which meant hardening flags provided by package build systems were not applied.
2016-09-15Stream: ssl_preread module.Vladimir Homutov2-0/+14
The ssl_preread module extracts information from the SSL Client Hello message without terminating SSL. Currently, only $ssl_preread_server_name variable is supported, which contains server name from the SNI extension.
2016-09-15Stream: filters.Roman Arutyunyan2-2/+5
2016-09-01Stream: realip module.Dmitry Volyntsev2-0/+13
2016-09-05Stream: log module.Vladimir Homutov1-0/+2
2016-07-15Events: support for EPOLLEXCLUSIVE.Valentin Bartenev2-0/+17
This flag appeared in Linux 4.5 and is useful for avoiding thundering herd problem. The current Linux kernel implementation walks the list of exclusive waiters, and queues an event to each epfd, until it finds the first waiter that has threads blocked on it via epoll_wait().
2016-07-12Stream: split_clients module.Vladimir Homutov2-0/+15
2016-06-30Stream: geo module.Vladimir Homutov2-0/+13
2016-07-12Stream: geoip module.Vladimir Homutov2-0/+16
2016-07-12Stream: individual build options for modules.Vladimir Homutov1-2/+16
2016-06-27Configure: stop polluting NGX_ namespace.Piotr Sikora2-4/+1
While there, fix the only test that used alternative variable name. Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-06-27Configure: fix build with -Werror=old-style-definition.Piotr Sikora7-7/+10
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-06-27Configure: fix build with -Werror=nonnull.Piotr Sikora1-1/+1
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-06-27Configure: fix build with -Werror=unused-but-set-variable.Piotr Sikora4-12/+17
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-06-27Configure: fix build with -Werror=unused-value.Piotr Sikora1-1/+1
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-06-27Configure: style.Piotr Sikora1-2/+2
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2015-10-23Configure: remove auto/lib/test, unused since nginx-0.1.2.Piotr Sikora1-40/+0
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-05-18Stream: return module.Roman Arutyunyan2-0/+11