Commit graph

725 commits

Author SHA1 Message Date
Ruslan Ermilov
71b90a9bdd Removed the obsolete rtsig module. 2015-04-23 14:17:40 +03:00
Ruslan Ermilov
90fca2303b Removed the obsolete aio module. 2015-04-22 18:57:32 +03:00
Sergey Kandaurov
bde284851a Fixed building --with-stream when precompiled headers are used. 2015-04-20 17:36:51 +03:00
Ruslan Ermilov
c6d6ff095f Stream: port from NGINX+. 2015-04-20 13:05:11 +03:00
Ruslan Ermilov
fb2cb325d9 Upstream: the "zone" directive.
Upstreams with the "zone" directive are kept in shared memory,
with a consistent view of all worker processes.
2015-04-14 19:01:25 +03:00
Ruslan Ermilov
ec8cab3f7f Core: read/write locks. 2015-03-21 14:05:08 +03:00
Maxim Dounin
4302005190 Configure: style. 2015-04-03 18:20:57 +03:00
Ruslan Ermilov
fbfd78c669 Removed busy locks. 2015-03-20 06:45:32 +03:00
Ruslan Ermilov
1d16dc7eea Removed old pthread implementation. 2015-03-20 06:43:19 +03:00
Ruslan Ermilov
891c8a01c4 Removed old FreeBSD rfork() thread implementation. 2015-03-20 06:43:19 +03:00
Valentin Bartenev
2b52841a86 Events: implemented epoll notification mechanism. 2015-03-14 17:37:13 +03:00
Valentin Bartenev
065a0f544a Thread pools implementation. 2015-03-14 17:37:07 +03:00
Ruslan Ermilov
fcb4524be7 Configure: removed obsolete threads bits. 2015-03-13 19:08:27 +03:00
Ruslan Ermilov
f82cc4437d Configure: fixed type max value detection.
The code tried to use suffixes for "long" and "long long" types, but
it never worked as intended due to the bug in the shell code.  Also,
the max value for any 64-bit type other than "long long" on platforms
with 32-bit "long" would be incorrect if the bug was fixed.

So instead of fixing the bug in the shell code, always use the "int"
constant for 32-bit types, and "long long" constant for 64-bit types.
2015-03-18 02:04:39 +03:00
Ruslan Ermilov
9c7ff92de8 Core: expose maximum values of time_t and ngx_int_t.
These are needed to detect overflows.
2015-03-17 00:24:34 +03:00
Ruslan Ermilov
c21a57d75b Configure: removed redundant auto/have call.
The auto/feature call above is enough to set NGX_HAVE_SENDFILE.
2015-03-13 16:43:01 +03:00
Sergey Kandaurov
d0b0203843 Configure: typo fixed. 2015-02-11 20:18:55 +03:00
Valentin Bartenev
d23fd081f7 Unbreak building on FreeBSD without file AIO.
It appeared that the NGX_HAVE_AIO_SENDFILE macro was defined regardless of
the "--with-file-aio" configure option and the NGX_HAVE_FILE_AIO macro.

Now they are related.

Additionally, fixed one macro.
2015-02-11 20:00:07 +03:00
Piotr Sikora
011cea6337 Configure: remove outdated and unused patch.zlib.h.
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2014-07-31 03:52:28 -07:00
Maxim Dounin
0301ed4d6c Configure: restored "nginx/" missed in 6e4bb1d6679d. 2014-06-26 05:08:59 +04:00
Maxim Dounin
5fbb2c2c52 Configure: style. 2014-06-26 03:34:02 +04:00
Maxim Dounin
4f8d53957f Configure: workaround for system perl on OS X (ticket #576). 2014-06-17 12:07:06 +04:00
Roman Arutyunyan
3846484df1 Upstream: generic hash module. 2014-06-02 16:16:22 +04:00
Maxim Dounin
109beffc45 Configure: added -Wno-deprecated-declarations on OS X.
Previous workaround to avoid warnings on OS X due to deprecated system
OpenSSL library (introduced in a3870ea96ccd) no longer works, as
the MAC_OS_X_VERSION_MIN_REQUIRED macro is ignored on OS X 10.9
if a compiler used supports __attribute__(availability).
2014-05-28 17:41:44 +04:00
Ruslan Ermilov
d6fa79c68a Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
This fixes --with-file-aio support on systems that lack eventfd()
syscall, notably aarch64 Linux.

The syscall(SYS_eventfd) may still be necessary on systems that
have eventfd() syscall in the kernel but lack it in glibc, e.g.
as seen in the current CentOS 5 release.
2014-05-23 16:37:05 +04:00
Vladimir Homutov
4b60d6a406 Added syslog support for error_log and access_log directives. 2014-05-12 16:34:15 +04:00
Ruslan Ermilov
b8950f0740 Configure: the --build= option.
If set, its value is output in "nginx -v" and in the error log.
2014-05-20 16:10:07 +04:00
Maxim Dounin
5746750a5d Configure: typo fixed. 2014-04-30 19:16:30 +04:00
Maxim Dounin
a19c448939 Win32: fixed link flags with MSVC, broken by bfe536716dbf.
Notably, "-debug" was omitted, resulting in an executable without debug
symbols.
2014-04-07 18:29:05 +04:00
Roman Arutyunyan
db53bb57ad Added server-side support for PROXY protocol v1 (ticket #355).
Client address specified in the PROXY protocol header is now
saved in the $proxy_protocol_addr variable and can be used in
the realip module.

This is currently not implemented for mail.
2014-03-17 17:41:24 +04:00
Maxim Dounin
b0d01ba522 Win32: MSVC 2013 compatibility.
Warnings about GetVersionEx() deprecation silenced.  Precompiled object
linked in.
2014-02-13 16:54:00 +04:00
Ruslan Ermilov
e3242cbdb1 Configure: enabled -Werror for clang.
Modern clang versions seem to no longer produce warnings for
system headers on Linux (at least clang 3.3 works), hence the
change.  For older versions --with-cc-opt="-Wno-error" can be
used as a workaround.
2014-01-28 00:31:31 +04:00
Ruslan Ermilov
97ef1e5308 Configure: enable -Wconditional-uninitialized with clang. 2013-12-06 13:16:56 +04:00
Mathew Rodley
eb320c97bd Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
---
 auto/unix                       | 12 ++++++++++++
 src/core/ngx_connection.c       | 32 ++++++++++++++++++++++++++++++++
 src/core/ngx_connection.h       |  4 ++++
 src/http/ngx_http.c             |  4 ++++
 src/http/ngx_http_core_module.c | 21 +++++++++++++++++++++
 src/http/ngx_http_core_module.h |  3 +++
 6 files changed, 76 insertions(+)
2013-12-03 22:07:03 +04:00
Piotr Sikora
3e5ae310c3 Configure: call "make distclean" for libatomic.
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-11-11 01:59:47 -08:00
Piotr Sikora
cf2c707667 Configure: call "make clean" for OpenSSL only if Makefile exists.
This change allows to build nginx against git checkout of OpenSSL.

Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-11-04 17:00:25 -08:00
Maxim Dounin
f59a52b756 Mail: mail dependencies are now honored while building addons. 2013-09-30 22:09:54 +04:00
Valentin Bartenev
6a0ea01e0c Events: support for EPOLLRDHUP (ticket #320).
Since Linux 2.6.17, epoll is able to report about peer half-closed connection
using special EPOLLRDHUP flag on a read event.
2013-07-12 14:51:07 +04:00
Maxim Dounin
77e2279f47 Configure: TCP_KEEPIDLE test name simplified. 2013-09-04 21:17:05 +04:00
Maxim Dounin
bcfe2e80bb Configure: fixed building with Sun C if CFLAGS set (ticket #65). 2013-09-04 21:17:03 +04:00
Maxim Dounin
98f40476ad Win32: MinGW GCC compatibility.
Several warnings silenced, notably (ngx_socket_t) -1 is now checked
on socket operations instead of -1, as ngx_socket_t is unsigned on win32
and gcc complains on comparison.

With this patch, it's now possible to compile nginx using mingw gcc,
with options we normally compile on win32.
2013-09-04 20:48:28 +04:00
Maxim Dounin
c3113c2b30 Win32: Borland C compatibility fixes.
Several false positive warnings silenced, notably W8012 "Comparing
signed and unsigned" (due to u_short values promoted to int), and
W8072 "Suspicious pointer arithmetic" (due to large type values added
to pointers).

With this patch, it's now again possible to compile nginx using bcc32,
with options we normally compile on win32 minus ipv6 and ssl.
2013-09-04 20:48:23 +04:00
Maxim Dounin
8c6d551127 Win32: Open Watcom C compatibility fixes.
Precompiled headers are disabled as they lead to internal compiler errors
with long configure lines.  Couple of false positive warnings silenced.
Various win32 typedefs are adjusted to work with Open Watcom C 1.9 headers.

With this patch, it's now again possible to compile nginx using owc386,
with options we normally compile on win32 minus ipv6 and ssl.
2013-09-04 20:48:22 +04:00
Valentin Bartenev
51a7051795 Disable symlinks: use O_PATH to open path components.
It was introduced in Linux 2.6.39, glibc 2.14 and allows to obtain
file descriptors without actually opening files.  Thus made it possible
to traverse path with openat() syscalls without the need to have read
permissions for path components.  It is effectively emulates O_SEARCH
which is missing on Linux.

O_PATH is used in combination with O_RDONLY.  The last one is ignored
if O_PATH is used, but it allows nginx to not fail when it was built on
modern system (i.e. glibc 2.14+) and run with a kernel older than 2.6.39.
Then O_PATH is unknown to the kernel and ignored, while O_RDONLY is used.

Sadly, fstat() is not working with O_PATH descriptors till Linux 3.6.
As a workaround we fallback to fstatat() with the AT_EMPTY_PATH flag
that was introduced at the same time as O_PATH.
2013-09-02 08:07:59 +04:00
Maxim Dounin
a5ab953b84 Updated PCRE used for win32 builds.
As of PCRE 8.33, config.h.generic no longer contains boolean macros.  Two
of them (SUPPORT_PCRE8 and HAVE_MEMMOVE) were added to appropriate makefiles.
This allows PCRE 8.33 to compile and don't change anything for previous
versions.
2013-08-23 22:54:08 +04:00
Maxim Dounin
3b7444463f Configure: pcre.lib dependencies fix.
Previously, an attempt to build pcre.lib on win32 before anything else
failed due to no pcre.h.
2013-08-23 22:53:54 +04:00
Maxim Dounin
b261aefe78 Auth request module import. 2013-08-21 19:19:47 +04:00
Ruslan Ermilov
784f6ac953 Core: guard use of AI_ADDRCONFIG.
Some systems (notably NetBSD and OpenBSD) lack AI_ADDRCONFIG support.

Reported by Piotr Sikora.
2013-08-05 13:44:56 +04:00
Ruslan Ermilov
4ea173e06e Core: only resolve address families configured on the local system.
This is done by passing AI_ADDRCONFIG to getaddrinfo().

On Linux, setting net.ipv6.conf.all.disable_ipv6 to 1 will now be
respected.

On FreeBSD, AI_ADDRCONFIG filtering is currently implemented by
attempting to create a datagram socket for the corresponding family,
which succeeds even if the system doesn't in fact have any addresses
of that family configured.  That is, if the system with IPv6 support
in the kernel doesn't have IPv6 addresses configured, AI_ADDRCONFIG
will filter out IPv6 only inside a jail without IPv6 addresses or
with IPv6 disabled.
2013-08-05 10:55:59 +04:00
Sergey Kandaurov
393529a9d3 Configure: fixed autotest cleanup commands.
Previously, if configured with --with-cc="clang -g", the autotest.dSYM
directories were left unremoved.
2013-07-31 18:16:40 +04:00
Maxim Dounin
6d18315985 Configure: perl Makefile rebuild after configure.
The $NGX_AUTO_CONFIG_H added to perl module Makefile dependencies to
make sure it's always rebuild after a configure.  It is needed as we
expand various variables used for Makefile generation during configure
(in particular, nginx version).
2013-07-11 20:34:02 +04:00
Ruslan Ermilov
d9aa40c49e Configure: fixed test of OS X atomic(3). 2013-05-23 10:23:21 +04:00
Ruslan Ermilov
f5bde9d067 Configure: fixed detection of newer Apple clang compilers. 2013-04-29 18:07:22 +04:00
Maxim Dounin
43401ca269 Configure: fixed perl Makefile generation (ticket #334).
Dependancy tracking introduced in r5169 were not handled absolute path
names properly.  Absolute names might appear in CORE_DEPS if --with-openssl
or --with-pcre configure arguments are used to build OpenSSL/PCRE
libraries.

Additionally, revert part of r5169 to set NGX_INCS from Makefile
variables.  Makefile variables have $ngx_include_opt in them, which
might result in wrong include paths being used.  As a side effect,
this also restores build with --with-http_perl_module and --without-http
at the same time.
2013-04-19 12:19:57 +00:00
Ruslan Ermilov
a3dabbf07c Configure: uniformly refer to libs when searching for md5 and sha1. 2013-04-18 14:26:08 +00:00
Maxim Dounin
d35a500fa8 Configure: fixed nginx.so rebuild (broken by r5145).
To avoid further breaks it's now done properly, all the dependencies
are now passed to Makefile.PL.  While here, fixed include list passed to
Makefile.PL to use Makefile variables rather than a list expanded during
configure.
2013-04-10 17:07:44 +00:00
Ruslan Ermilov
bdcafcd22e Simplified nginx version maintenance.
It's no longer necessary to update src/http/modules/perl/nginx.pm
when version is bumped, as it's now derived from src/core/nginx.h.
2013-03-28 08:47:06 +00:00
Ruslan Ermilov
87102a4603 Configure: fixed perl module make rules.
Filename extension used for dynamically loaded perl modules isn't
necessarily ".so" (e.g., it's ".bundle" on Mac OS X).

This fixes "make" after "make" unnecessarily rebuilding perl module.
2013-03-28 08:46:42 +00:00
Ruslan Ermilov
2cfee772a7 Configure: improved make dependencies for perl module.
Added missing dependencies for perl module's Makefile.

Simplified dependencies for perl module nginx.so: it depends
on Makefile that in turn depends on other perl bits.
2013-03-28 08:46:12 +00:00
Ruslan Ermilov
3a96c20d2b Configure: improved layout of the generated makefile.
No functional changes.
2013-03-28 08:45:45 +00:00
Valentin Bartenev
c9594dd61c Preliminary experimental support for SPDY draft 2. 2013-03-20 10:36:57 +00:00
Gleb Smirnoff
ec6e4ad6ab Configure: changed default compiler from "gcc" to "cc".
This allows to automatically pick the preferred system compiler on
systems with multiple compilers.

Reviewed by:	mdounin, ru
2013-02-18 11:35:28 +00:00
Maxim Dounin
e876cc4910 Configure: rebuild perl module nginx.so if headers are changed.
Note: the "-p" argument of cp(1) dropped intentionally, to force nginx.so
rebuild.  It is considered too boring to properly list all dependencies
in Makefile.PL.
2013-02-15 16:50:22 +00:00
Ruslan Ermilov
c2e6604ff8 GeoIP: IPv6 support.
When using IPv6 databases, IPv4 addresses are looked up as IPv4-mapped
IPv6 addresses.

Mostly based on a patch by Gregor Kališnik (ticket #250).
2013-01-24 16:15:51 +00:00
Ruslan Ermilov
cd4c54ee05 Configure: fixed GeoIP library detection. 2013-01-24 16:15:07 +00:00
Ruslan Ermilov
cb50a5a269 Configure: fixed style of include directories. 2013-01-24 16:14:12 +00:00
Sergey Budnevitch
5875127661 Removed redundant variable assignment. 2013-01-21 15:05:54 +00:00
Valentin Bartenev
c72c078ba1 Configure: added the NGX_ZLIB define.
This was introduced for conditional compilation of the code that requires
the zlib library.
2012-12-23 16:04:14 +00:00
Ruslan Ermilov
a495326c52 Implemented IPv6 support for URLs specified using domain names.
This includes "debug_connection", upstreams, "proxy_pass", etc.
(ticket #92)

To preserve compatibility, "listen" specified with a domain name
selects the first IPv4 address, if available.  If not available,
the first IPv6 address will be used (ticket #186).
2012-12-17 12:08:53 +00:00
Maxim Dounin
797cb820dc Configure: better check for PCRE JIT.
On Mac OS X system toolchain by default prefers include files
from /usr/local/include, but libraries from /usr/lib.  This might result in
various problems, in particular the one outlined below.

If the PCRE library is installed into /usr/local/, this results in pcre.h
being used from /usr/local/include (with PCRE_CONFIG_JIT defined), but
libpcre from /usr/lib (as shipped with the OS, without pcre_free_study()
symbol).  As a result build fails as we use pcre_free_study() function
if we try to compile with PCRE JIT support.

Obvious workaround is to the root cause is to ask compiler to prefer
library from /usr/local/lib via ./configure --with-ld-opt="-L/usr/local/lib".
On the other hand, in any case it would be good to check if the function
we are going to use is available, hence the change.

See thread here for details:
http://mailman.nginx.org/pipermail/nginx-devel/2012-December/003074.html

Prodded by Piotr Sikora.
2012-12-12 13:50:07 +00:00
Ruslan Ermilov
f4d3ceec53 Fixed build with embedded perl in certain setups (ticket #48). 2012-12-03 16:00:26 +00:00
Maxim Dounin
f82645a67a OCSP stapling: ssl_stapling_file support.
Very basic version without any OCSP responder query code, assuming valid
DER-encoded OCSP response is present in a ssl_stapling_file configured.

Such file might be produced with openssl like this:

openssl ocsp -issuer root.crt -cert domain.crt -respout domain.staple \
             -url http://ocsp.example.com
2012-10-01 12:41:08 +00:00
Andrey Belov
58eaaef760 Correct plural form for "path" in the whole source base. 2012-09-28 13:49:26 +00:00
Andrey Belov
8693db9749 Configure: additional test for ExtUtils::Embed perl module presence.
Now perl configure will correctly fail if ExtUtils::Embed perl module
is not present in the system (found on Amazon Linux AMI, as of
release 2012.03).
2012-09-27 15:01:57 +00:00
Maxim Dounin
9bbf7f577b Configure: help updated to list upstream keepalive and least_conn.
Patch by Joshua Zhu.
2012-09-26 16:39:38 +00:00
Maxim Dounin
252a30dd3a Configure: fixed make macros to use parentheses instead of braces.
Parentheses are more portable, in particular they are understood by nmake
while braces aren't.
2012-09-11 12:43:59 +00:00
Maxim Dounin
215bd2f2ff Configure: provide inflate() when building zlib on win32.
It is now needed for gunzip filter.
2012-09-11 12:35:30 +00:00
Maxim Dounin
1187730f7b Gunzip filter import. 2012-09-10 16:52:47 +00:00
Ruslan Ermilov
c4fa6e1a31 Removed extraneous GCC warning flags. 2012-07-29 19:45:30 +00:00
Ruslan Ermilov
a8ba779147 Added the Clang compiler support.
The -Werror is commented out to not break builds on Linux.
2012-07-24 15:17:03 +00:00
Ruslan Ermilov
b57d93be20 Made sure to run configure in a "C" locale.
Otherwise, we may fail to properly detect a version of compiler.
2012-07-24 15:16:09 +00:00
Ruslan Ermilov
0e5749c2fd Added a commented out -Wmissing-prototypes to CFLAGS.
It is commented out to not break builds with 3rd party modules.
2012-07-24 15:13:34 +00:00
Ruslan Ermilov
a6b64ace7a Replaced a number of "else if" with "elif". 2012-07-24 15:00:42 +00:00
Maxim Dounin
1c6b7b24b2 Configure: fixed "make" used instead of "${MAKE}". 2012-07-07 09:35:30 +00:00
Ruslan Ermilov
a8e8b6b5c8 Added code to look up Google perftools in /opt/local/, for MacPorts. 2012-06-26 08:15:40 +00:00
Ruslan Ermilov
e0c5661fcc Fixed compile-time conditionals used to detect if X-Forwarded-For support
is needed.
2012-06-21 11:02:22 +00:00
Maxim Dounin
338e278074 Fixed "sendmsg() failed" alerts on HP-UX.
HP-UX needs _HPUX_ALT_XOPEN_SOCKET_API to be defined to be able to
use various POSIX versions of networking functions.  Notably sendmsg()
resulted in "sendmsg() failed (9: Bad file number)" alerts without it.

See xopen_networking(7) for more details.
2012-06-18 14:11:29 +00:00
Maxim Dounin
1acd38af2e Changed default alignment to 16.
This fixes alignment problems observerd on ARMs, and likely also needed
for MIPSes.  Unless we know alignment is not required just assume we
need 16, which appears to be safe default for all architectures.

See here for details:
http://mailman.nginx.org/pipermail/nginx/2012-June/034139.html
2012-06-18 14:09:54 +00:00
Ruslan Ermilov
27eb750330 Fixed spelling of "endianness", and called it "byte ordering" in the
user visible part.
2012-06-08 09:41:55 +00:00
Maxim Dounin
57fb58a1e8 Upstream: least_conn balancer module. 2012-06-03 23:21:26 +00:00
Valentin Bartenev
c6467ab653 Fixed building --with-cpp_test_module on some systems. 2012-05-17 15:12:45 +00:00
Maxim Dounin
91e7e7c8a1 Configure: fixed msghdr.msg_control test on 64bit platforms.
Broken by r4560.
2012-03-28 12:38:03 +00:00
Maxim Dounin
2afba4d789 Fixed more gcc46 warnings in configure tests.
Steps to reproduce:

./configure --with-cc="gcc46" --with-cc-opt="-Wall -Werror -O2"
2012-03-27 16:44:52 +00:00
Ruslan Ermilov
ade29f616b The addition of $tcpinfo_* variables has broken the build on Linux
systems with glibc versions prior to 2.7.  Fixed this by checking
the existence of "struct tcp_info" members during configuration.
2012-03-21 15:35:05 +00:00
Ruslan Ermilov
448f8672fd worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support. 2012-03-21 13:58:51 +00:00
Ruslan Ermilov
d4d9cea998 Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
$tcpinfo_rcv_space variables.  Supported on Linux and FreeBSD.
2012-03-16 19:15:33 +00:00
Ruslan Ermilov
5b40bbbb9c Some older OSes (notably FreeBSD 4.x) did not have %zu
format specifier, so revert to using %d.
2012-03-16 07:33:55 +00:00
Ruslan Ermilov
8a4f3a138e Fixed compilation warnings in configuration C tests.
Based on a patch by Piotr Sikora.
2012-03-15 20:39:38 +00:00
Maxim Dounin
4ce9dbd11f Configure: moved icc detection before gcc.
New versions of icc confuse auto/cc/name due to introduced handling
of a "icc -v":

$ icc -v
icc version 12.1.3 (gcc version 4.6.0 compatibility)
$ icc -V
Intel(R) C Compiler XE for applications running on IA-32, Version 12.1.3.293 Build 20120212
Copyright (C) 1985-2012 Intel Corporation.  All rights reserved.
FOR NON-COMMERCIAL USE ONLY

See report here:
http://mailman.nginx.org/pipermail/nginx/2012-February/032177.html
2012-02-27 16:23:44 +00:00
Andrey Belov
32aa837633 Added openat()/fstatat(). 2012-02-13 16:13:21 +00:00
Maxim Dounin
f92b0233ad Fixed build with embedded perl and --with-openssl. 2012-02-13 15:38:48 +00:00
Valentin Bartenev
0f98c982d8 Added ngx_ncpu detection for most *nix platforms.
This inaccurate detection by using sysconf(_SC_NPROCESSORS_ONLN) can improve
usage of the mutex lock optimization on multicore systems.
2012-02-10 11:24:19 +00:00
Maxim Konovalov
0330b7ef84 Copyright updated. 2012-01-18 15:07:43 +00:00
Valentin Bartenev
fcb581b929 Fixed configure with system PCRE library on Solaris.
The bug has been introduced in r4389.
2011-12-29 15:58:53 +00:00
Maxim Konovalov
8eb05fbc39 Some questionable optomizations flags for icc were removed
in order to simplify support of its future versions.
2011-12-29 15:36:07 +00:00
Valentin Bartenev
498cc8846a Added support for regex study and PCRE JIT (ticket #41) optimizations on
configuration phase.
2011-12-26 13:10:36 +00:00
Sergey Budnevitch
5a87dab604 configure on Solaris fixed 2011-12-20 16:20:23 +00:00
Valentin Bartenev
64320d4c45 Added the "so_keepalive=" parameter to the "listen" directive.
The "so_keepalive" directive in mail module was deprecated.

Thanks to Vsevolod Stakhov for initial work.
2011-12-05 08:06:15 +00:00
Ruslan Ermilov
f00f3dc803 Made it possible to build/install from the SVN checkout. 2011-11-22 13:26:44 +00:00
Maxim Konovalov
80c62b4aa2 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
in the sys_nerr test.

o When sys_nerr and _sys_nerr are missed on a particular platform
and our euristic for a maximum errno detection applied always
print the maximum errno number we reached instead of printing void.[*]

* patch from Maxim Dounin

This commit makes possible to build nginx on AIX 7.1.
2011-11-21 11:51:41 +00:00
Valentin Bartenev
86fc57edd5 Renamed ngx_http_limit_zone_module to ngx_http_limit_conn_module. 2011-11-14 14:04:42 +00:00
Ruslan Ermilov
48e5a840c4 Revamped "configure --help" text. 2011-10-26 13:18:33 +00:00
Igor Sysoev
85bd9c3bff Fix of building by Microsoft Visual C++ 10 compiler. 2011-10-26 08:16:59 +00:00
Ruslan Ermilov
3d28a6e2fc Fixed configuration summary and manpage contents for the special
--error-log-path=stderr case.
2011-10-12 09:04:59 +00:00
Maxim Dounin
01923d7828 Upstream keepalive module. 2011-09-15 19:28:18 +00:00
Igor Sysoev
97b9bde764 ngx_http_mp4_module 2011-09-09 10:22:34 +00:00
Maxim Dounin
d8829c8f29 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
NetBSD 5.0+ has SO_ACCEPTFILTER support merged from FreeBSD, and having
accept filter check in FreeBSD-specific ngx_freebsd_config.h prevents it
from being used on NetBSD.  Therefore move the check into configure (and
do the same for Linux-specific TCP_DEFER_ACCEPT, just to be in line).
2011-08-21 11:37:37 +00:00
Maxim Dounin
a9983c9d98 Rebuild manpage only if needed. 2011-08-18 15:57:59 +00:00
Maxim Dounin
d8a0ae2edb Lower optimization level for Sun Studio before 12.1.
At least Sun Studio 12 has problems with bit-fields exposed by nginx code
(caught by test suite).  They seems to be fixed in Sun Studio 12.1.  As a
workaround use "-fast -xalias_level=any" for older versions, it resolves
the problem.
2011-08-18 15:10:23 +00:00
Maxim Dounin
a5c11a1449 Detect POSIX semaphores in librt on Solaris (ticket #3).
Patch by Denis Ivanov.
2011-08-17 08:35:54 +00:00
Maxim Dounin
c122b33c8c Configure: catch up with new Linux version numbering (ticket #5).
Catch up with new Linux version numbering scheme as announced at [1] and
suppress unrecognized versions to actually use default 0.

[1] https://lkml.org/lkml/2011/5/29/204
2011-08-13 15:15:50 +00:00
Igor Sysoev
3a5713a9d3 concatenate auto/os/features and auto/unix 2011-05-31 08:25:10 +00:00
Igor Sysoev
3630c03e27 delete unused auto/threads 2011-05-31 08:20:16 +00:00
Igor Sysoev
177d2c6887 Support POSIX semaphores on Linux.
This configure test must run before auto/make, because it adds library.
auto/unix was placed after auto/make just for historical reasons.

Patch by Denis F. Latypoff
2011-05-31 08:17:27 +00:00
Igor Sysoev
2cd05c70d8 "$apr1", "{PLAIN}", and "{SSHA}" password methods in auth basic module
patch by Maxim Dounin
2011-05-16 14:54:50 +00:00
Igor Sysoev
e1f1a48fc9 log "Abort trap" or similar messages 2011-05-11 11:50:19 +00:00
Igor Sysoev
188aab8d3c use POSIX semaphores in shmtx instead of sched_yield()
number of spinlock spins are increased twice
2011-05-10 11:39:13 +00:00
Igor Sysoev
f5232e7ea0 fix r3902 2011-05-04 12:21:25 +00:00
Igor Sysoev
e7cb09ba9b fix r3822
Solaris strerror() invalid error code behaviour depends on version:
    Solaris 10 returns "Unknown error" and sets errno to EINVAL,
    Solaris 9 returns "Unknown error" and leaves errno intact,
    Solaris 2 returns NULL.
2011-04-23 13:15:56 +00:00
Igor Sysoev
9453076bce fix the previous commit 2011-04-17 15:28:05 +00:00
Igor Sysoev
d3292d115b an internal MD5 implemenation
patch by Maxim Dounin
2011-04-15 15:58:06 +00:00
Igor Sysoev
4210c99839 ngx_murmur_hash2() 2011-04-15 10:59:24 +00:00
Igor Sysoev
2f3314cc94 test for maximum errno value, since Solaris has no sys_nerr 2010-12-06 14:51:20 +00:00
Igor Sysoev
aae3ef5e7b style fix 2010-12-06 14:50:27 +00:00
Igor Sysoev
5c3d5f7c0a test for _sys_nerr only if sys_nerr was not found 2010-12-06 14:49:17 +00:00
Igor Sysoev
ae32ef647d fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
the issue has been introduced in r3788
2010-12-01 19:22:37 +00:00
Igor Sysoev
551ac295a6 add man page in release tarball and fix man building procedure 2010-11-29 15:23:06 +00:00
Igor Sysoev
250ea2c2fa add nginx.8 man page 2010-11-25 14:12:31 +00:00
Igor Sysoev
38e68ea0c1 use copied strerror() messages and autoconfigured sys_nerr value 2010-11-25 11:04:03 +00:00
Igor Sysoev
a0b669ace6 Linux accept4() support 2010-11-25 10:15:04 +00:00
Igor Sysoev
661df40ad7 gzip_disable degradation 2010-10-04 15:03:00 +00:00
Igor Sysoev
e3c981d93c stop ./configure on Win32 if no library sources was specified,
the bug has been introduced in r2894
2010-07-08 15:57:36 +00:00
Igor Sysoev
68ba88903d do not use prebuild OpenSSL Win32 libraries 2010-07-08 15:51:47 +00:00
Igor Sysoev
cec9b84e05 listen setfib=X 2010-07-05 13:49:16 +00:00
Igor Sysoev
df89ec501a try to use C99 variadic macros first:
AIX 5.3's XL C has problems with GCC style variadic macros
2010-07-05 13:02:25 +00:00
Igor Sysoev
8c0c0c4231 ngx_http_scgi_module 2010-06-18 15:51:14 +00:00
Igor Sysoev
ccbf3076c9 install uwsgi_params 2010-06-08 15:25:48 +00:00
Igor Sysoev
7359de27c7 print default module temporary directory path in summary
only if the module is enabled
2010-06-01 20:32:32 +00:00
Igor Sysoev
a53fb650d4 ./configure --http-uwsgi-temp-path=PATH 2010-06-01 17:44:51 +00:00
Igor Sysoev
171cb44cd0 import original ngx_http_uwsgi_module version 2010-06-01 15:53:11 +00:00
Igor Sysoev
294b17b1c4 ngx_http_split_clients_module 2010-05-14 09:02:10 +00:00
Igor Sysoev
9b4376cb32 remove unused ./configure define's 2010-05-13 13:58:18 +00:00
Igor Sysoev
85bf60cd00 fix building OpenSSL-1.0.0 on 64-bit Linux:
make installs the libraries in lib64 directory
2010-04-02 14:19:45 +00:00
Igor Sysoev
e5436ffa92 MSVC8 compatibility with OpenSSL 1.0.0 2010-04-01 15:18:29 +00:00
Igor Sysoev
d307d7265a change ngx_http_ssi_filter and ngx_http_charset_filter order 2010-04-01 10:19:02 +00:00
Igor Sysoev
29b222315b fix typo 2010-03-30 15:04:41 +00:00
Igor Sysoev
4153ebe965 zlib 1.2.4 compatibility 2010-03-25 10:07:38 +00:00
Igor Sysoev
8dd13e234f use sys_errlist[] in signal handler instead
of non Async-Signal-Safe strerror_r()
2010-03-12 11:15:26 +00:00
Igor Sysoev
90fbee3778 do not add NGX_GCC_OPT twice: it is added later with -W 2009-12-21 17:51:30 +00:00
Igor Sysoev
ca6d8b6471 add conf/fastcgi.conf 2009-12-15 13:54:41 +00:00
Igor Sysoev
036018227f print libatomic configure summary 2009-12-08 12:53:54 +00:00
Igor Sysoev
95ae6b5c15 fix libatomic usage on arm, cris, hppa, m68k, and sparc platforms 2009-12-07 15:32:38 +00:00
Igor Sysoev
36f3d115fc test invalid --with-ld-opt in right place 2009-11-27 22:02:04 +00:00
Igor Sysoev
c4cf77686e atomic operations test-run 2009-11-27 22:00:39 +00:00
Igor Sysoev
c4b8a56c05 libatomic_ops support 2009-11-25 17:55:25 +00:00
Igor Sysoev
e43dac2e19 GCC 4.1 builtin atomic operations 2009-11-25 17:34:35 +00:00
Igor Sysoev
572e4d890e ngx_http_degradation_module 2009-11-16 12:20:00 +00:00
Igor Sysoev
c8312b7e09 posix_fadvise64() had been implemented in Linux 2.5.60 2009-11-03 16:29:47 +00:00
Igor Sysoev
b126ba528d remove a broken 0.1.x to 0.2+ upgrade procedure 2009-10-30 19:42:12 +00:00
Igor Sysoev
38f83a56bb read_ahead 2009-09-30 13:21:52 +00:00
Igor Sysoev
4c0fe89b52 allow "make clean" for OpenSSL, the bug was introduced in r2874 2009-09-28 12:24:09 +00:00
Igor Sysoev
fc3b7088f8 fail if no file aio was found 2009-09-10 12:08:30 +00:00
Igor Sysoev
ac0738c727 aio sendfile 2009-08-30 09:52:39 +00:00
Igor Sysoev
6ae55a7a8f FreeBSD and Linux AIO support 2009-08-28 08:12:35 +00:00
Igor Sysoev
861ed123ea fix Linux "uname -r" version matching 2009-08-24 11:04:46 +00:00
Igor Sysoev
8240c35f1a fix help message 2009-07-21 13:27:19 +00:00
Igor Sysoev
83a626137c ngx_http_geoip_module 2009-07-20 07:10:43 +00:00
Igor Sysoev
d4e29865c1 name of file specified in --conf-path was not honored during installation
the bug had been appeared in r1353
2009-07-14 09:41:18 +00:00
Igor Sysoev
27bbe3ef50 fix ./configure error message 2009-06-18 13:01:05 +00:00
Igor Sysoev
d15561923c librt must be tested before creating Makefile
the bug has been introduced in r2817
2009-06-03 04:53:01 +00:00
Igor Sysoev
bfee5cb477 *) use no-threads for Unix builds only
*) style fix
2009-05-28 15:30:45 +00:00
Igor Sysoev
bcacef7f18 use tab in Makefile 2009-05-28 14:33:37 +00:00
Igor Sysoev
791c447d29 stop ./configure at once on library failure 2009-05-26 14:28:49 +00:00
Igor Sysoev
626c10e245 use md5/sha1 in OpenSSL only if OpenSSL is used 2009-05-26 14:28:06 +00:00
Igor Sysoev
b9f1f83e27 test libdl before OpenSSL configuration
the bug has been introduced in r2818 and broke
*) SSL modules linking on Solaris 9 and lower,
*) and linking with OpenSSL built from sources on Linux
2009-05-24 14:19:16 +00:00
Igor Sysoev
c8a13e5c23 allow absolute path in --with-openssl= 2009-05-24 14:14:08 +00:00
Igor Sysoev
434948cc98 use -ldl for any OS that needs it 2009-05-22 09:22:28 +00:00
Igor Sysoev
a1a327f287 fix building OpenSSL on Unix 2009-05-19 12:12:36 +00:00
Igor Sysoev
e072e57d75 style fix 2009-05-18 16:50:32 +00:00
Igor Sysoev
2da8d73789 fix "make upgrade" broken in r2759 2009-05-17 19:22:08 +00:00
Igor Sysoev
f8411dbc86 fix building OpenSSL on Win32 2009-05-14 15:46:34 +00:00
Igor Sysoev
6471b58d09 switch Win32 building to modern PCRE versions (starting from 7.1)
instead of single old 4.4 version
2009-05-13 19:48:21 +00:00
Igor Sysoev
71cf32439f add miltilines in OpenWatcom makefiles 2009-05-12 13:29:00 +00:00
Igor Sysoev
51e65de30a backout r2833: CURDIR was set to Unix style path
instead, do chdir inside Makefile
2009-05-12 13:15:43 +00:00
Igor Sysoev
2b4d8f60ad correctly apply patch 2009-05-12 09:35:14 +00:00
Igor Sysoev
5e2e84b975 use $(CURDIR) instead of "..\..\.." because the later does not allow to use
options as --with-zlib=../zlib-1.2.3.  It seems there is no common way
to learn the current directory in Win32 make's: although nmake has MAKEDIR
variable, nevertheless Borland make's MAKEDIR is the directory where make
is installed, and OpenWatcom wmake has no MAKEDIR at all.
2009-05-11 18:02:06 +00:00
Igor Sysoev
c0df517dd7 backout -r2827 and add correct fix 2009-05-10 19:49:14 +00:00
Igor Sysoev
07c3f967cb message creating Makefile 2009-05-10 18:38:11 +00:00
Igor Sysoev
d982117b9f add MSYS support 2009-05-10 18:35:39 +00:00
Igor Sysoev
123db90851 remove BMAKE (build make): a cc compiler should use own make 2009-05-10 18:35:08 +00:00
Igor Sysoev
a3e783a0de preserve Solaris binary hardware capabilities 2009-05-08 09:41:43 +00:00
Igor Sysoev
09dd00879f test whether libdl is required for dynamic linking:
Solaris 10 has dlopen()/etc. in libc
2009-05-08 09:39:53 +00:00
Igor Sysoev
8281017379 Solaris 10 has sched_yield() in libc 2009-05-08 09:36:16 +00:00
Igor Sysoev
377aa46831 move libmd test before libmd5,
this fixes wrong linking with /usr/local/lib/libmd5.so from libwww package
on FreeBSD. The library uses long's instead of int32_t's in MD5_CTX
and on 64-bit platforms its MD5_CTX is bigger than defined in <md5.h>
2009-05-07 19:18:10 +00:00
Igor Sysoev
f71852b835 IPv6 for Win32 2009-05-07 13:05:04 +00:00
Igor Sysoev
098b8ee438 divide select module into two modules: Unix and Win32 ones 2009-05-06 14:53:54 +00:00
Igor Sysoev
24e8356bd3 add libgd include path 2009-05-04 15:57:12 +00:00
Igor Sysoev
7d2892af8e add --with-http_image_filter_module to ./configure --help 2009-05-01 19:14:10 +00:00
Igor Sysoev
0d0ca2d1b5 add comment 2009-05-01 18:44:50 +00:00
Igor Sysoev
7e2efefd53 ngx_http_image_filter_module 2009-05-01 18:42:09 +00:00
Igor Sysoev
0ae870d26b -p and --prefix= 2009-04-27 11:32:33 +00:00
Igor Sysoev
2f025ec2b0 add quotes for configure options with spaces 2009-04-26 19:37:38 +00:00
Igor Sysoev
0aa44a8c2a update gcc warnings 2009-04-24 15:31:13 +00:00
Igor Sysoev
2a7c97b47f fix GNU strerror_r() detection, the bug has been inroduced in r2600 2009-04-24 09:38:48 +00:00
Igor Sysoev
b1a4c79fce delete unused definition 2009-04-23 18:50:29 +00:00
Igor Sysoev
ddba51983f issue start up errors and warning on both stderr and error_log 2009-04-23 11:13:12 +00:00
Igor Sysoev
75fb6526fc *) move advapi32.lib to core libs since it's required for Registry and Event Log
*) delete shell32.lib since we do not use tray icon anymore
2009-04-21 14:31:40 +00:00
Igor Sysoev
783a4563b5 Win32 master/workers model 2009-04-20 06:08:47 +00:00
Igor Sysoev
65ff46961d add variadic macros support for msvc8 2009-04-19 16:25:02 +00:00
Igor Sysoev
a9459cfc60 OpenSSL building by MSVC and BCC from sources 2009-04-15 19:46:24 +00:00
Igor Sysoev
93d9b413c1 hide grep errors 2009-04-15 11:47:51 +00:00
Igor Sysoev
a4d4842b11 autoconfigure crypt_r(): uclibc has no crypt_r() 2009-04-02 13:46:39 +00:00
Igor Sysoev
f00d37ff4f link staticaly with libcmt 2009-04-01 12:58:31 +00:00
Igor Sysoev
c3993c79e8 fix FreeBSD before 7 building, broken in r2616 2009-03-30 12:33:33 +00:00
Igor Sysoev
9dc8b06851 ngx_fs_bsize() 2009-03-30 07:43:06 +00:00
Igor Sysoev
7638ba274f fix Linux sendfile32() test broken in 0.3.36 2009-03-23 20:30:25 +00:00
Igor Sysoev
961090566c style fix 2009-03-23 20:26:33 +00:00
Igor Sysoev
f321dbd59a a prelimiary proxy cache support 2009-03-23 13:14:51 +00:00
Igor Sysoev
984c82915e --with-pcre 2009-03-19 16:06:32 +00:00
Igor Sysoev
26211a6f9f grammar fix 2009-03-19 16:02:40 +00:00
Igor Sysoev
e2dc4550af a prelimiary IPv6 support, HTTP listen 2009-02-21 07:02:02 +00:00
Igor Sysoev
fea52523b7 exslt support 2008-11-11 15:22:24 +00:00
Igor Sysoev
539cd0dad6 ngx_http_limit_req_module 2008-11-10 15:22:33 +00:00
Igor Sysoev
0f602f0f3a ngx_http_secure_link_module 2008-09-27 13:22:10 +00:00
Igor Sysoev
6b71af298f disable directio for unaligned reads in Linux 2008-09-12 13:50:12 +00:00
Igor Sysoev
b99e5f6c2e ngx_http_random_index_module 2008-09-05 15:45:55 +00:00
Igor Sysoev
4c972fac9d *) autoconfigure struct dirent capabilities
*) move src/os/.../ngx_types.h's content into src/os/.../ngx_files.h and
   delete src/os/.../ngx_types.h
2008-09-05 15:43:34 +00:00
Igor Sysoev
2e0ba6a9bd exit on libxslt test failure 2008-08-13 08:32:35 +00:00
Igor Sysoev
b87f997b6b fix ngx_cpp_test_module configure 2008-08-13 08:29:27 +00:00
Igor Sysoev
b9b9499840 ngx_cpp_test_module 2008-08-05 19:32:50 +00:00
Igor Sysoev
046c266abc Solaris directio() 2008-08-04 15:32:10 +00:00
Igor Sysoev
542e079b0e update comment 2008-08-04 14:54:12 +00:00
Igor Sysoev
99dbc09d5b ngx_http_xslt_filter_module 2008-08-04 14:48:15 +00:00
Igor Sysoev
bf12c62e56 directio 2008-07-30 12:34:04 +00:00
Igor Sysoev
825b7e8039 *) move Darwin support to separate files
*) Darwin sendfile() support
2008-07-30 12:18:07 +00:00
Igor Sysoev
7aff7dd9c0 new ngx_queue functions 2008-05-24 14:10:01 +00:00
Igor Sysoev
098db9e3be simplify library autoconfigure 2008-05-16 14:32:58 +00:00
Igor Sysoev
3bacab2a81 DESTDIR support 2008-05-16 13:29:19 +00:00
Igor Sysoev
5536e55168 disable confusing messages about threads 2008-04-29 09:27:55 +00:00
Igor Sysoev
cc596f7559 it seems that malloc.h is required for Cygwin only
and breaks building on other platforms
2008-03-23 15:42:40 +00:00