summaryrefslogtreecommitdiffhomepage
path: root/auto (follow)
AgeCommit message (Collapse)AuthorFilesLines
2016-04-07Fixed spelling.Josh Soref1-2/+2
2016-04-01Compatibility with FreeBSD 2.2.9.Maxim Dounin1-2/+3
Added (RTLD_NOW | RTLD_GLOBAL) to dlopen() test. There is no RTLD_GLOBAL on FreeBSD 2.2.9. Added uint32_t test, with fallback to u_int32_t, similar to uint64_t one. Added fallback to u_int32_t in in_addr_t test. With these changes it is now possible to compile nginx on FreeBSD 2.2.9 with only few minor warnings (assuming -Wno-error).
2016-04-01Configure: improved multiple types handling in auto/types/typedef.Maxim Dounin1-1/+5
2016-04-01Configure: fixed autotest source code logging.Maxim Dounin2-6/+9
Fixed a regression introduced in rev. 434548349838 that prevented auto/types/sizeof and auto/types/typedef properly reporting autotest source code to autoconf.err in case of test failure.
2016-03-31SSL: initialization changes for OpenSSL 1.1.0.Maxim Dounin1-1/+1
OPENSSL_config() deprecated in OpenSSL 1.1.0. Additionally, SSL_library_init(), SSL_load_error_strings() and OpenSSL_add_all_algorithms() are no longer available if OPENSSL_API_COMPAT is set to 0x10100000L. The OPENSSL_init_ssl() function is now used instead with appropriate arguments to trigger the same behaviour. The configure test changed to use SSL_CTX_set_options(). Deinitialization now happens automatically in OPENSSL_cleanup() called via atexit(3), so we no longer call EVP_cleanup() and ENGINE_cleanup() directly.
2016-01-20Stream: UDP proxy.Roman Arutyunyan3-2/+42
2016-03-10Configure: style.Ruslan Ermilov1-22/+22
Generate Makefile with not so long lines.
2016-03-10Dynamic modules: do not overwrite old modules on install.Maxim Dounin3-5/+16
Just using "cp" is incorrect, as it will overwrite old files possibly used by OS, leading to unexpected effects. Changed to "mv + cp", much like used for the main binary.
2016-03-10Configure: style.Ruslan Ermilov1-5/+5
Removed extraneous braces around shell variables.
2016-02-26Dynamic modules: perl.Ruslan Ermilov9-20/+39
2016-02-29Dynamic modules: expose the "modules" target.Ruslan Ermilov1-0/+3
2016-02-25Dynamic modules: make sure to call config.make for dynamic addons.Ruslan Ermilov1-2/+2
2016-02-19Configure: added "build" target.Maxim Dounin2-4/+5
The "build" target introduced to do all build-related tasks, and it is now used in Makefile and in objs/Makefile as a dependency for the "install" target. In particular, this resolves problems as observed with dynamic modules by people trying to do "make install" without calling "make" first.
2016-02-19Configure: skip building OpenSSL documentation to conserve time.Sergey Kandaurov1-1/+1
The install_sw target first appeared in OpenSSL 0.9.7e and is documented since OpenSSL 1.0.0 as the way to install the OpenSSL software without documentation.
2016-02-18Configure: fixed static nginx build with OpenSSL (ticket #903).Ruslan Ermilov2-7/+9
Before 7142b04337d6, it was possible to build the OpenSSL library along with nginx, and link nginx statically with this library (--with-openssl=DIR --with-ld-opt=-static --with-http_ssl_module). This was broken on Linux by not adding -ldl after -lcrypto. The fix also makes it possible to link nginx statically on Linux with the system OpenSSL library, which never worked before.
2016-02-13Win32: simplified and improved handling of MSVC versions.Maxim Dounin10-49/+41
Now we always set NGX_CC_NAME to "msvc", and additionally test compiler version as reported by "cl" in auto/cc/msvc (the same version is also available via the _MSC_VER define). In particular, this approach allows to properly check for C99 variadic macros support, which previously was not used with MSVC versions not explicitly recognized. Now unneeded wildcards in NGX_CC_NAME tests for msvc removed accordingly, as well as unused wildcards for owc and icc.
2016-02-11HTTP/2: implemented HPACK Huffman encoding for response headers.Valentin Bartenev1-0/+10
This reduces the size of headers by over 30% on average. Based on the patch by Vlad Krasnov: http://mailman.nginx.org/pipermail/nginx-devel/2015-December/007682.html
2016-02-10Dynamic modules: added auth_basic module libs via ngx_module_libs=.Ruslan Ermilov1-2/+1
2016-02-08Dynamic modules: NGX_STREAM define removed.Maxim Dounin1-2/+0
It's not used and contradicts the idea of dynamic loading.
2016-02-05Dynamic modules: added dlsym() to configure test.Valentin Bartenev1-1/+1
It appears that AddressSanitizer in GCC 5 intercepts dlopen() and dlclose() but not dlsym().
2016-02-05Dynamic modules: fixed a copy-n-paste error.Ruslan Ermilov1-1/+1
2016-02-04Dynamic modules.Maxim Dounin16-24/+483
The auto/module script is extended to understand ngx_module_link=DYNAMIC. When set, it links the module as a shared object rather than statically into nginx binary. The module can later be loaded using the "load_module" directive. New auto/module parameter ngx_module_order allows to define module loading order in complex cases. By default the order is set based on ngx_module_type. 3rd party modules can be compiled dynamically using the --add-dynamic-module configure option, which will preset ngx_module_link to "DYNAMIC" before calling the module config script. Win32 support is rudimentary, and only works when using MinGW gcc (which is able to handle exports/imports automatically). In collaboration with Ruslan Ermilov.
2016-02-04Dynamic modules: auto/module script.Maxim Dounin4-558/+848
This script simplifies configuration of additional modules, including 3rd party ones. The script is extensible, and will be used to introduce dynamic linking of modules in upcoming changes. 3rd party module config scripts are called with ngx_module_link preset to "ADDON" - this allows config scripts to call auto/module without ngx_module_link explicitly defined, as well as testing if new interface is in place if compatibility with older nginx versions is desired. In collaboration with Ruslan Ermilov.
2016-02-04Dynamic modules: introduced HTTP_INIT_FILTER_MODULES.Maxim Dounin1-8/+10
Additionally, HTTP_HEADERS_FILTER_MODULE now added to HTTP_FILTER_MODULES. This avoids explict use of modules at the later stages, now only module lists are used. This will be needed in later patches.
2016-02-04Dynamic modules: dlopen() support.Maxim Dounin3-4/+7
2016-02-04Dynamic modules: moved module-related stuff to separate files.Maxim Dounin1-0/+2
2015-12-07Slice filter.Roman Arutyunyan3-1/+21
Splits a request into subrequests, each providing a specific range of response. The variable "$slice_range" must be used to set subrequest range and proper cache key. The directive "slice" sets slice size. The following example splits requests into 1-megabyte cacheable subrequests. server { listen 8000; location / { slice 1m; proxy_cache cache; proxy_cache_key $uri$is_args$args$slice_range; proxy_set_header Range $slice_range; proxy_cache_valid 200 206 1h; proxy_pass http://127.0.0.1:9000; } }
2015-11-30Configure: improved workaround for system perl on OS X.Ruslan Ermilov1-1/+1
The workaround from baf2816d556d stopped to work because the order of "-arch x86_64" and "-arch i386" has changed.
2015-11-30Configure: removed comment obsolete in 3b763d36e055.Ruslan Ermilov1-3/+0
2015-11-23Configure: fixed using OpenSSL include paths.Maxim Dounin1-0/+1
2015-11-17Used the pwritev() syscall for writing files where possible.Valentin Bartenev1-0/+16
It is more effective, because it doesn't require a separate lseek().
2015-10-23Configure: style fixes for autoconf.err.Piotr Sikora2-4/+14
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2015-09-11The HTTP/2 implementation (RFC 7240, 7241).Valentin Bartenev4-20/+24
The SPDY support is removed, as it's incompatible with the new module.
2015-06-18Stream: connection limiting module.Vladimir Homutov3-0/+12
stream { limit_conn_zone $binary_remote_addr zone=perip:1m; limit_conn_log_level error; server { ... limit_conn perip 1; } }
2015-06-10Configure: create missing intermediates for build directory.Piotr Sikora1-1/+1
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2015-06-17Configure: fix tests with multi-level relative build directory.Ruslan Ermilov1-8/+1
Based on a patch by Piotr Sikora.
2015-06-11Moved ngx_http_parse_time() to core, renamed accordingly.Maxim Dounin1-1/+2
The function is now called ngx_parse_http_time(), and can be used by any code to parse HTTP-style date and time. In particular, it will be used for OCSP stapling. For compatibility, a macro to map ngx_http_parse_time() to the new name provided for a while.
2015-06-10Configure: added gcc5 to the list of known GCC versions.Valentin Bartenev1-1/+1
2015-06-10Configure: search OpenSSL in a bunch of standard places.Ruslan Ermilov1-0/+48
2015-06-10Configure: moved NGX_SBIN_PATH variable initialization.Ruslan Ermilov2-4/+1
It's now initialized in auto/options like the rest of variables for system paths. As a side effect, the currently unused macro NGX_SBIN_PATH now gets the correct value.
2015-06-04Stream: access module.Vladimir Homutov3-0/+11
stream { server { ... allow 127.0.0.1; deny all; } }
2015-06-03Fixed misspellings of the word "dependencies".Ruslan Ermilov1-4/+4
2015-05-25Configure: GNU Hurd properly recognized.Maxim Dounin1-0/+9
With this change it's no longer needed to pass -D_GNU_SOURCE manually, and -D_FILE_OFFSET_BITS=64 is set to use 64-bit off_t. Note that nginx currently fails to work properly with master process enabled on GNU Hurd, as fcntl(F_SETOWN) returns EOPNOTSUPP for sockets as of GNU Hurd 0.6. Additionally, our strerror() preloading doesn't work well with GNU Hurd, as it uses large numbers for most errors.
2015-05-20The "reuseport" option of the "listen" directive.Maxim Dounin1-0/+10
When configured, an individual listen socket on a given address is created for each worker process. This allows to reduce in-kernel lock contention on configurations with high accept rates, resulting in better performance. As of now it works on Linux and DragonFly BSD. Note that on Linux incoming connection requests are currently tied up to a specific listen socket, and if some sockets are closed, connection requests will be reset, see https://lwn.net/Articles/542629/. With nginx, this may happen if the number of worker processes is reduced. There is no such problem on DragonFly BSD. Based on previous work by Sepherosa Ziehau and Yingqi Lu.
2015-05-20Configure: style.Maxim Dounin1-1/+1
2015-04-29Configure: handle deprecated options.Ruslan Ermilov1-8/+12
Removed the deprecated --without-http_limit_zone_module option. Deprecated the --with-imap and --with-imap_ssl_module options.
2015-04-23Removed the obsolete rtsig module.Ruslan Ermilov4-27/+0
2015-04-22Removed the obsolete aio module.Ruslan Ermilov4-30/+0
2015-04-20Fixed building --with-stream when precompiled headers are used.Sergey Kandaurov1-1/+1
2015-04-20Stream: port from NGINX+.Ruslan Ermilov4-0/+151