Ruslan Ermilov
b8a90c6903
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
Ruslan Ermilov
2f8c1b73b8
Fixed URL parsing code.
...
The URL parsing code is not expected to initialize port from default port
when in "no_resolve" mode. This got broken in r4671 for the case of IPv6
literals.
2012-12-17 09:44:46 +00:00
Ruslan Ermilov
bbf7043fe7
Simplified URL parsing code.
...
Except for the "listen" directive, "*" specified as a hostname is
no longer treated specially.
2012-12-17 09:31:53 +00:00
Valentin Bartenev
fac3b341da
Fixed handling of ngx_write_fd() and ngx_read_fd() errors.
...
The ngx_write_fd() and ngx_read_fd() functions return -1 in case of error,
so the incorrect comparison with NGX_FILE_ERROR (which is 0 on windows
platforms) might result in inaccurate error message in the error log.
Also the ngx_errno global variable is being set only if the returned value
is -1.
2012-12-14 15:24:24 +00:00
Ruslan Ermilov
f707bea0ee
Fixed the NGX_SOCKADDR_STRLEN macro definition.
...
The ngx_sock_ntop() function, when told to print both address and port,
prints IPv6 address in square brackets, followed by colon and port.
2012-11-30 11:26:50 +00:00
Maxim Dounin
ea1ff4199d
Version bump.
2012-11-29 23:13:18 +00:00
Ruslan Ermilov
a94a101c79
Core: don't reuse shared memory zone that changed ownership (ticket #210 ).
...
nginx doesn't allow the same shared memory zone to be used for different
purposes, but failed to check this on reconfiguration. If a shared memory
zone was used for another purpose in the new configuration, nginx attempted
to reuse it and crashed.
2012-11-23 12:43:58 +00:00
Ruslan Ermilov
9f385870f6
Fixed location of debug message in ngx_shmtx_lock().
2012-11-21 14:23:26 +00:00
Igor Sysoev
da130acfbe
Fixed failure to start cache manager and cache loader processes
...
if there were more than 512 listening sockets in configuration.
2012-11-20 13:37:55 +00:00
Ruslan Ermilov
5a1d76c9f2
Version bump.
2012-11-16 07:49:41 +00:00
Maxim Dounin
7b3731862b
Resolver: added missing memory allocation error handling.
2012-10-24 14:07:08 +00:00
Andrey Belov
f7b32c479d
Core: the "auto" parameter of the "worker_processes" directive.
...
The parameter will set the number of worker processes to the
autodetected number of available CPU cores.
2012-10-23 09:08:41 +00:00
Maxim Dounin
f8cc8969d5
Version bump.
2012-10-03 15:22:18 +00:00
Maxim Dounin
74ad4494a6
OCSP stapling: loading OCSP responses.
...
This includes the ssl_stapling_responder directive (defaults to OCSP
responder set in certificate's AIA extension).
OCSP response for a given certificate is requested once we get at least
one connection with certificate_status extension in ClientHello, and
certificate status won't be sent in the connection in question. This due
to limitations in the OpenSSL API (certificate status callback is blocking).
Note: SSL_CTX_use_certificate_chain_file() was reimplemented as it doesn't
allow to access the certificate loaded via SSL_CTX.
2012-10-01 12:47:55 +00:00
Maxim Dounin
6a0f47e079
Resolver: cached addresses are returned with random rotation now.
...
This ensures balancing when working with dynamically resolved upstream
servers with multiple addresses.
Based on patch by Anton Jouline.
2012-09-28 18:28:38 +00:00
Andrey Belov
8be233c8f2
Correct plural form for "path" in the whole source base.
2012-09-28 13:49:26 +00:00
Andrey Belov
b33a316883
Made sure to initialize the entire ngx_file_t structure.
...
Found by Coverity.
2012-09-28 13:15:11 +00:00
Maxim Dounin
f4473147e5
Version bump.
2012-09-26 15:52:06 +00:00
Ruslan Ermilov
9d6d33a561
Fixed overflow if ngx_slab_alloc() is called with very big "size" argument.
2012-08-30 15:09:21 +00:00
Ruslan Ermilov
da4ffd8955
Fixed the "include" directive.
...
The "include" directive should be able to include multiple files if
given a filename mask. Fixed this to work for "include" directives
inside the "map" or "types" blocks. The "include" directive inside
the "geo" block is still not fixed.
2012-08-28 13:31:01 +00:00
Ruslan Ermilov
43f6163063
Version bump.
2012-08-27 14:21:41 +00:00
Maxim Dounin
c22b87b2e4
Radix tree preallocation fix.
...
The preallocation size was calculated incorrectly and was always 8 due to
sizeof(ngx_radix_tree_t) accidentally used instead of sizeof(ngx_radix_node_t).
2012-08-18 23:17:58 +00:00
Maxim Dounin
89bd5f038a
Crypt: fixed handling of corrupted SSHA entries in password file.
...
Found by Coverity.
2012-08-16 12:05:58 +00:00
Maxim Dounin
42a75bba53
Resolver: fixed possible memory leak in ngx_resolver_create().
...
Found by Coverity.
2012-08-06 10:48:09 +00:00
Ruslan Ermilov
8ed4929a26
Fixed the -p parameter handling.
...
Ensure that the path supplied always ends with a `/' except when empty.
An empty value now corresponds to the current directory instead of `/'.
2012-08-03 12:52:32 +00:00
Maxim Dounin
25197b3229
Fixed possible use of old cached times if runtime went backwards.
...
If ngx_time_sigsafe_update() updated only ngx_cached_err_log_time, and
then clock was adjusted backwards, the cached_time[slot].sec might
accidentally match current seconds on next ngx_time_update() call,
resulting in various cached times not being updated.
Fix is to clear the cached_time[slot].sec to explicitly mark cached times
are stale and need updating.
2012-08-03 09:10:39 +00:00
Maxim Dounin
d053bacb9c
Added "const" to ngx_memcpy() with NGX_MEMCPY_LIMIT defined.
...
This fixes warning produced during compilation of the ngx_http_geoip_module
due to const qualifier being discarded.
2012-08-03 09:07:30 +00:00
Andrey Belov
1c42128e50
Reorder checks in ngx_shared_memory_add() for more consistent error messages.
2012-08-01 14:37:08 +00:00
Ruslan Ermilov
15ab0460ce
Version bump.
2012-07-31 21:47:56 +00:00
Ruslan Ermilov
deaf22d220
Core: ipv6only is now on by default.
...
There is a general consensus that this change results in better
consistency between different operating systems and differently
tuned operating systems.
Note: this changes the width and meaning of the ipv6only field
of the ngx_listening_t structure. 3rd party modules that create
their own listening sockets might need fixing.
2012-07-30 12:27:06 +00:00
Ruslan Ermilov
1c31039d1e
Improved diagnostics when a directive is specified in the wrong context.
2012-07-29 19:59:06 +00:00
Ruslan Ermilov
01f07bde7e
Reduced the number of preprocessor directives.
2012-07-26 14:47:42 +00:00
Ruslan Ermilov
1efcca36cc
Fixed compilation with -Wmissing-prototypes.
2012-07-24 15:09:54 +00:00
Ruslan Ermilov
e30a8f90fc
Version bump.
2012-07-17 04:42:38 +00:00
Ruslan Ermilov
bbfc96c703
Fixed typo in a function name.
2012-07-03 13:06:40 +00:00
Ruslan Ermilov
56cb80834c
Version bump.
2012-06-29 11:03:01 +00:00
Maxim Dounin
40a366c5a8
Fixed handling of conflicting wildcard server names.
...
With previous code wildcard names were added to hash even if conflict
was detected. This resulted in identical names in hash and segfault
later in ngx_hash_wildcard_init().
2012-06-18 14:06:00 +00:00
Ruslan Ermilov
2c49af818b
When "resolver" is configured with a domain name, only the first
...
resolved address was used. Now all addresses will be used.
2012-06-18 12:46:05 +00:00
Ruslan Ermilov
da8bb22634
Fixed crash in ngx_resolver_cleanup_tree().
...
If sending a DNS request fails with an error (e.g., when mistakenly trying
to send it to a local IP broadcast), such a request is not deleted if there
are clients waiting on it. However, it was still erroneously removed from
the queue. Later ngx_resolver_cleanup_tree() attempted to remove it from
the queue again that resulted in a NULL pointer dereference.
2012-06-18 12:30:45 +00:00
Ruslan Ermilov
b9feaa8dd9
Version bump.
2012-06-18 11:07:44 +00:00
Ruslan Ermilov
ac7f704931
Support for IPv6 literals and an optional port in resolver.
2012-06-04 14:23:27 +00:00
Maxim Dounin
596226f6f7
Support for IPv6 literals in proxy_pass and so on.
2012-06-04 14:07:34 +00:00
Maxim Dounin
01f1e4d1dc
Resolver: fixed format specification.
...
Patch by Yichun Zhang (agentzh).
2012-06-03 23:18:24 +00:00
Ruslan Ermilov
887f514e9f
Code reduction (no functional changes).
2012-06-01 11:35:09 +00:00
Ruslan Ermilov
d2e005c39d
Fixed potential null pointer dereference in ngx_resolver_create().
...
While here, improved error message.
2012-05-22 13:12:14 +00:00
Ruslan Ermilov
d230df40b2
Removed historical and now redundant syntax pre-checks in ngx_parse_url().
2012-05-21 10:55:10 +00:00
Valentin Bartenev
1c168c7875
Fixed the ngx_regex.h header file compatibility with C++.
2012-05-17 13:47:04 +00:00
Ruslan Ermilov
6888516b2b
Version bump.
2012-05-16 13:09:39 +00:00
Maxim Dounin
7d863c0181
Resolver: protection from duplicate responses.
...
If we already had CNAME in resolver node (i.e. rn->cnlen and rn->u.cname
set), and got additional response with A record, it resulted in rn->cnlen
set and rn->u.cname overwritten by rn->u.addr (or rn->u.addrs), causing
segmentation fault later in ngx_resolver_free_node() on an attempt to free
overwritten rn->u.cname. The opposite (i.e. CNAME got after A) might cause
similar problems as well.
2012-05-14 09:13:45 +00:00
Ruslan Ermilov
487ba70126
Fixed segmentation fault in ngx_resolver_create_name_query().
...
If name passed for resolution was { 0, NULL } (e.g. as a result
of name server returning CNAME pointing to ".") pointer wrapped
to (void *) -1 resulting in segmentation fault on an attempt to
dereference it.
Reported by Lanshun Zhou.
2012-04-26 12:58:42 +00:00
Maxim Dounin
6ad02389c3
Version bump.
2012-04-26 11:20:29 +00:00
Maxim Dounin
d68dd358e1
Version bump.
2012-04-23 12:54:14 +00:00
Igor Sysoev
c7bb66a9a3
Fix of "%f" format handling.
...
ngx_sprintf("%.2f", 0.999) incorrectly resulted in "0.100" instead of "1.00".
2012-04-23 11:11:32 +00:00
Ruslan Ermilov
e9a7f4f5f6
Don't silently ignore the last line of configuration file that
...
consists solely of one unterminated token (inspired by #150 ).
2012-04-18 13:30:43 +00:00
Ruslan Ermilov
43d2b1c045
Fixed grammar in error messages.
2012-04-12 19:35:41 +00:00
Maxim Dounin
e6724ebe54
Version bump.
2012-04-12 16:34:59 +00:00
Ruslan Ermilov
3995395dcb
Reduced the number of lines of code in ngx_inet_addr().
2012-04-12 10:20:33 +00:00
Ruslan Ermilov
a5bb616af4
Improved readability of the code that produces bitmask from prefix.
...
In collaboration with Maxim Dounin.
2012-04-11 17:18:15 +00:00
Maxim Dounin
baa239c487
Fixed signed integer overflows in timer code (ticket #145 ).
...
Integer overflow is undefined behaviour in C and this indeed caused
problems on Solaris/SPARC (at least in some cases). Fix is to
subtract unsigned integers instead, and then cast result to a signed
one, which is implementation-defined behaviour and used to work.
Strictly speaking, we should compare (unsigned) result with the maximum
value of the corresponding signed integer type instead, this will be
defined behaviour. This will require much more changes though, and
considered to be overkill for now.
2012-04-06 23:46:09 +00:00
Andrey Belov
bd6d421816
Comment fixed.
2012-04-05 19:49:34 +00:00
Ruslan Ermilov
bffbbeb73f
In ngx_ptocidr(), check that the supplied prefix length is within
...
the allowed range.
2012-04-03 08:22:00 +00:00
Ruslan Ermilov
47a04aaa27
Fixed spelling in multiline C comments.
2012-04-03 07:37:31 +00:00
Maxim Dounin
525e1f75e4
Version bump.
2012-04-02 21:28:31 +00:00
Maxim Dounin
e34ff16f67
Resolver: added missing sanity checking when creating name queries.
...
Found by Veracode.
2012-03-22 11:57:18 +00:00
Ruslan Ermilov
fbd32d4d19
worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
2012-03-21 13:58:51 +00:00
Maxim Dounin
d694ff7798
Version bump.
2012-03-15 17:43:54 +00:00
Maxim Dounin
ee187436af
Whitespace fixes.
2012-03-05 18:09:06 +00:00
Maxim Dounin
382499aa1f
Version bump.
2012-03-05 18:06:15 +00:00
Ruslan Ermilov
b74f8ffce4
Fixed spelling in single-line comments.
2012-02-28 11:31:05 +00:00
Maxim Dounin
7ca6c1ff78
Fix of rbtree lookup on hash collisions.
...
Previous code incorrectly assumed that nodes with identical keys are linked
together. This might not be true after tree rebalance.
Patch by Lanshun Zhou.
2012-02-27 22:15:39 +00:00
Maxim Dounin
53d9677de4
Fixed null pointer dereference in resolver (ticket #91 ).
...
The cycle->new_log.file may not be set before config parsing finished if
there are no error_log directive defined at global level. Fix is to
copy it after config parsing.
Patch by Roman Arutyunyan.
2012-02-27 16:57:02 +00:00
Valentin Bartenev
346791187f
Disable symlinks: added the "from" parameter support to the open file cache.
2012-02-27 16:46:57 +00:00
Valentin Bartenev
86c5513ecb
Disable symlinks: use O_SEARCH|O_DIRECTORY to open path components.
2012-02-21 15:10:13 +00:00
Valentin Bartenev
15b3173c5e
Disable symlinks: don't allow creating or truncating a file via a symlink in
...
the last path component if "if_not_owner" parameter is used.
To prevent race condition we have to open a file before checking its owner and
there's no way to change access flags for already opened file descriptor, so
we disable symlinks for the last path component at all if flags allow creating
or truncating the file.
2012-02-21 15:04:41 +00:00
Valentin Bartenev
8c27e6429a
Disable symlinks: cleanups once again.
...
In collaboration with Ruslan Ermilov.
2012-02-21 15:01:25 +00:00
Maxim Dounin
7ba66f42a0
Disable symlinks: added explicit cast of AT_FDCWD (ticket #111 ).
...
Solaris has AT_FDCWD defined to unsigned value, and comparison of a file
descriptor with it causes warnings in modern versions of gcc. Explicitly
cast AT_FDCWD to ngx_fd_t to resolve these warnings.
2012-02-20 19:14:35 +00:00
Maxim Dounin
6bb86e3d58
Disable symlinks: error handling cleanup again.
2012-02-20 19:14:07 +00:00
Maxim Dounin
3c00e341ea
Version bump.
2012-02-20 19:12:48 +00:00
Maxim Dounin
32b000bad7
Disable symlinks: fixed edge cases of path handling.
...
This includes non-absolute pathnames, multiple slashes and trailing
slashes. In collaboration with Valentin Bartenev.
2012-02-15 12:18:55 +00:00
Maxim Dounin
04015a48ca
Disable symlinks: cleanup error handling.
...
Notably this fixes NGX_INVALID_FILE/NGX_FILE_ERROR mess, and adds
logging of close() errors. In collaboration with Valentin Bartenev.
2012-02-15 12:17:24 +00:00
Andrey Belov
bd1e719bf9
Added disable_symlinks directive.
...
To completely disable symlinks (disable_symlinks on)
we use openat(O_NOFOLLOW) for each path component
to avoid races.
To allow symlinks with the same owner (disable_symlinks if_not_owner),
use openat() (followed by fstat()) and fstatat(AT_SYMLINK_NOFOLLOW),
and then compare uids between fstat() and fstatat().
As there is a race between openat() and fstatat() we don't
know if openat() in fact opened symlink or not. Therefore,
we have to compare uids even if fstatat() reports the opened
component isn't a symlink (as we don't know whether it was
symlink during openat() or not).
Default value is off, i.e. symlinks are allowed.
2012-02-13 16:29:04 +00:00
Andrey Belov
32c8df44d5
Changed ngx_open_and_stat_file() to use ngx_str_t.
...
No functional changes.
2012-02-13 16:16:45 +00:00
Maxim Dounin
9f38b20db5
Time parsing cleanup.
...
Nuke NGX_PARSE_LARGE_TIME, it's not used since 0.6.30. The only error
ngx_parse_time() can currently return is NGX_ERROR, check it explicitly
and make sure to cast it to appropriate type (either time_t or ngx_msec_t)
to avoid signedness warnings on platforms with unsigned time_t (notably QNX).
2012-02-13 15:41:11 +00:00
Maxim Dounin
0f3d6715e7
Version bump.
2012-02-09 16:18:02 +00:00
Valentin Bartenev
fbf7a0a48a
Fixed memory leak on HUP signal when PCRE JIT was used.
...
The PCRE JIT compiler uses mmap to allocate memory for its executable codes, so
we have to explicitly call the pcre_free_study() function to free this memory.
2012-01-30 12:53:57 +00:00
Valentin Bartenev
94992aa62e
Fixed grammar in PCRE JIT error log message.
2012-01-24 10:20:42 +00:00
Maxim Konovalov
f8d59e33f3
Copyright updated.
2012-01-18 15:07:43 +00:00
Maxim Konovalov
4fb388107b
Version bump.
2012-01-18 14:33:17 +00:00
Valentin Bartenev
363a0c53e7
Fixed division by zero exception in ngx_hash_init().
...
The ngx_hash_init() function did not expect call with zero elements count,
which caused FPE error on configs with an empty "types" block in http context
and "types_hash_max_size" > 10000.
Example configuration to reproduce:
events { }
http {
types_hash_max_size 10001;
types {}
server {}
}
2012-01-16 12:42:07 +00:00
Ruslan Ermilov
d55ce18c95
Changed ngx_log_debugN() macros to verify the number of arguments
...
when built with debugging.
2012-01-10 07:28:32 +00:00
Maxim Dounin
11f09dd07d
Version bump.
2011-12-27 11:56:48 +00:00
Valentin Bartenev
bc5191c7bc
Added support for regex study and PCRE JIT (ticket #41 ) optimizations on
...
configuration phase.
2011-12-26 13:10:36 +00:00
Maxim Dounin
afb7f22c03
Version bump.
2011-12-19 11:21:46 +00:00
Valentin Bartenev
5ee62edffe
Removed unused function ngx_regex_capture_count().
...
The function has been unused since r3326.
2011-12-06 15:49:40 +00:00
Maxim Dounin
08f2256b29
Version bump.
2011-12-06 13:22:32 +00:00
Valentin Bartenev
92edf47ff9
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
Maxim Dounin
b99492595c
Version bump.
2011-11-29 17:25:31 +00:00
Maxim Dounin
a4484b1369
Added (void) as we intentionally ignore returned values.
...
Requested by Igor Sysoev.
2011-11-28 11:01:42 +00:00
Maxim Dounin
1b9b19d7e2
Added escaping of double quotes in ngx_escape_html().
...
Patch by Zaur Abasmirzoev.
2011-11-25 16:36:02 +00:00
Maxim Dounin
ddb7cd1c41
Fixed build without atomic operations.
2011-11-23 14:07:06 +00:00
Maxim Dounin
91ecc8f43c
Added shmtx interface to forcibly unlock mutexes.
...
It is currently used from master process on abnormal worker termination to
unlock accept mutex (unlocking of accept mutex was broken in 1.0.2). It is
expected to be used in the future to unlock other mutexes as well.
Shared mutex code was rewritten to make this possible in a safe way, i.e.
with a check if lock was actually held by the exited process. We again use
pid to lock mutex, and use separate atomic variable for a count of processes
waiting in sem_wait().
2011-11-23 13:55:38 +00:00
Ruslan Ermilov
777879c832
Silenced a warning for some compilers.
2011-11-16 13:27:33 +00:00
Ruslan Ermilov
bec516bec9
Now nginx uses TTL of a DNS response when calculating cache validity.
...
Previously it used a hardcoded value of 300 seconds. Also added the
"valid=" parameter to the "resolver" directive that can be used to
override the cache validity time.
Patch by Kirill A. Korinskiy with minor changes.
2011-11-16 13:11:39 +00:00
Maxim Dounin
2b24a67268
Fixed handling of SIGWINCH/NOACCEPT signal.
...
After first upgrade it was ignored since r4020 (1.1.1, 1.0.9) as
ngx_daemonized wasn't set.
2011-11-15 20:35:41 +00:00
Maxim Dounin
2fd9b49334
Version bump.
2011-11-15 20:33:37 +00:00
Igor Sysoev
07bb4ed971
Introduction of simple ngx_write_stderr() instead of ngx_log_stderr()
...
for output of ./configure options, etc., since ngx_log_stderr() output
length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.
2011-11-14 14:59:00 +00:00
Maxim Dounin
80e3cba5fd
Reverted incorrect change in internal md5 (part of r3928).
2011-11-14 13:38:02 +00:00
Igor Sysoev
eb499bab59
Fixed compression pointer processing in DNS response greater than 255 bytes.
...
Thanks to Ben Hawkes.
2011-11-09 13:54:07 +00:00
Igor Sysoev
0d03a44aab
Version bump.
2011-11-01 15:10:46 +00:00
Ruslan Ermilov
f12d6ceb65
Fixed port range checking.
2011-10-25 13:48:43 +00:00
Igor Sysoev
620718102b
Support of several servers in the "resolver" directive.
...
Patch by Kirill A. Korinskiy.
2011-10-24 16:09:05 +00:00
Igor Sysoev
ba71972b21
Using of junk value in slab allocator similar to modern FreeBSD values.
2011-10-24 15:50:19 +00:00
Igor Sysoev
efc6ecab82
malloc() debugging on MacOSX.
2011-10-24 15:46:48 +00:00
Igor Sysoev
b9c859e6d5
FreeBSD's MALLOC_OPTIONS must be set before any malloc() call.
...
The bug has been introduced in r3799.
2011-10-24 12:59:01 +00:00
Igor Sysoev
6242f77617
Version bump.
2011-10-17 15:39:59 +00:00
Maxim Dounin
ba76a89d4b
Fixed utf8 decode (ticket #25 ).
...
Patch by Alexey Kuts.
2011-10-13 13:56:41 +00:00
Maxim Dounin
6226fe3512
Autoindex: escape '?' in file names.
...
For files with '?' in their names autoindex generated links with '?' not
escaped. This resulted in effectively truncated links as '?' indicates
query string start.
This is an updated version of the patch originally posted at [1]. It
introduces generic NGX_ESCAPE_URI_COMPONENT which escapes everything but
unreserved characters as per RFC 3986. This approach also renders unneeded
special colon processing (as colon is percent-encoded now), it's dropped
accordingly.
[1] http://nginx.org/pipermail/nginx-devel/2010-February/000112.html
Reported by Konstantin Leonov.
2011-10-11 17:56:51 +00:00
Igor Sysoev
3f34960fde
Version bump.
2011-10-07 10:41:13 +00:00
Ruslan Ermilov
a610127fe3
Improved ngx_parse_time() code readability.
2011-10-07 08:03:16 +00:00
Igor Sysoev
ab0078a4c8
Version bump.
2011-10-05 13:13:25 +00:00
Ruslan Ermilov
a823c550e4
Replaced "can not" with "cannot" and "could not" in a bunch of places.
...
Fixed nearby grammar errors.
2011-09-19 14:48:29 +00:00
Maxim Dounin
d7c2673d3f
API change: ngx_chain_update_chains() now requires pool.
...
The ngx_chain_update_chains() needs pool to free chain links used for buffers
with non-matching tags. Providing one helps to reduce memory consumption
for long-lived requests.
2011-09-15 16:03:17 +00:00
Igor Sysoev
4a383594fb
Version bump.
2011-09-14 15:20:01 +00:00
Igor Sysoev
9c5d25179c
Fix of the previous commit: is_directio flag processing introduced in r4077
...
is still worthwhile.
2011-09-14 14:28:55 +00:00
Igor Sysoev
7ffb73c6b7
Bugfix: open_file_cache did not update file info on retest.
...
If file inode was not changed, cached file information was not updated
on retest. As a result stale information might be cached forever if file
attributes was changed and/or file was extended.
This fix also makes obsolete r4077 change of is_directio flag handling,
since this flag is updated together with other file information.
2011-09-14 14:12:35 +00:00
Maxim Dounin
4f65a05d18
Bugfix: open_file_cache lost is_directio flag.
...
On file retest open_file_cache lost is_directio if file wasn't changed.
This caused unaligned operations under Linux to fail with EINVAL.
It wasn't noticeable with AIO though, as errors wasn't properly logged.
2011-09-05 16:36:19 +00:00
Igor Sysoev
3a73e50498
Version bump.
2011-09-05 16:26:51 +00:00
Igor Sysoev
631fa929d3
Version bump.
2011-08-23 14:22:34 +00:00
Maxim Dounin
ec8186c733
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
65c32b255d
Complain on invalid log levels.
...
Previously only first log level was required to be correct, while error_log
directive in fact accepts list of levels (e.g. one may specify "error_log ...
debug_core debug_http;"). This resulted in (avoidable) wierd behaviour on
missing semicolon after error_log directive, e.g.
error_log /path/to/log info
index index.php;
silently skipped index directive and it's arguments (trying to interpret
them as log levels without checking to be correct).
2011-08-18 21:48:13 +00:00
Igor Sysoev
dfd81a23b2
A new fix for the case when ssl_session_cache defined, but ssl is not
...
enabled in any server. The previous r1033 does not help when unused zone
becomes used after reconfiguration, so it is backed out.
The initial thought was to make SSL modules independed from SSL implementation
and to keep OpenSSL code dependance as much as in separate files.
2011-08-04 11:12:30 +00:00
Igor Sysoev
475a5dfcf1
bump version
2011-08-02 12:39:38 +00:00
Igor Sysoev
c2cafadfa5
elimination of reading cache files by cache loader
2011-07-24 19:46:53 +00:00
Igor Sysoev
b0b6bcedfc
fix SSL connection issues on platforms with 32-bit off_t
...
patch by Maxim Dounin
2011-07-22 12:53:04 +00:00
Igor Sysoev
2551f4a55d
bump version: 1.1.0 development version
2011-07-20 09:29:25 +00:00
Igor Sysoev
99f2b9e063
fix building by MSVC
2011-07-18 15:00:05 +00:00
Igor Sysoev
0a860a1c1d
bump version
2011-06-27 15:34:44 +00:00
Igor Sysoev
36aadf7eba
fix building on FreeBSD 6 or earlier against system md5
2011-05-27 13:30:53 +00:00
Igor Sysoev
e620fdac65
make built-in ngx_md5_update() interface consistent with other implemenations
2011-05-27 10:00:46 +00:00
Igor Sysoev
c4793b6505
fix building --without-http_auth_basic_module,
...
the bug has been introduced in r3923
2011-05-26 07:32:48 +00:00
Igor Sysoev
ce2229e2f7
bump version
2011-05-26 07:31:40 +00:00
Igor Sysoev
5dc5945ccf
"$apr1", "{PLAIN}", and "{SSHA}" password methods in auth basic module
...
patch by Maxim Dounin
2011-05-16 14:54:50 +00:00
Igor Sysoev
dc336358ab
bump version
2011-05-11 09:19:48 +00:00
Igor Sysoev
e2c8ad7122
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
e691d94a39
bump version
2011-05-04 12:20:32 +00:00
Igor Sysoev
efde3eb92e
fix building by gcc 4.6 without --with-debug
2011-04-23 17:25:06 +00:00
Igor Sysoev
c37192b537
style fix: remove trailing spaces
2011-04-23 13:11:17 +00:00
Igor Sysoev
ef1f33b0db
Use more precise stat.st_blocks to account cache size on Unix
...
instead of file length rounded to a file system block size.
There is no similar way on Windows, so rounding to a cache->bsize is kept.
2011-04-22 10:06:43 +00:00
Igor Sysoev
b3451785fe
an internal MD5 implemenation
...
patch by Maxim Dounin
2011-04-15 15:58:06 +00:00
Igor Sysoev
9813a1999c
fix segfault in IPv6 parsing while processing invalid IPv4 address X.YYYY.Z
...
patch by Maxim Dounin
2011-04-15 13:50:27 +00:00
Igor Sysoev
42f1e1cb96
ngx_murmur_hash2()
2011-04-15 10:59:24 +00:00
Igor Sysoev
0bd0b2894c
bump version
2011-04-15 10:58:44 +00:00
Igor Sysoev
d63104eea4
use memmove() in appropriate places
2011-04-12 08:02:46 +00:00
Igor Sysoev
f352259dd6
bump version
2011-04-07 09:08:52 +00:00
Igor Sysoev
4956ac5108
reuse keepalive connections if there are no free worker connections
...
patch by Maxim Dounin
2011-04-04 12:26:53 +00:00
Igor Sysoev
b8fb0a15a2
bump version
2011-04-04 09:46:00 +00:00
Igor Sysoev
c9d671cd81
$time_iso8601 log variable
...
patch by Michael Lustfield
2011-03-16 15:46:57 +00:00
Igor Sysoev
32c73df97a
remove semicolon, because it is already in "nginx: " prefix
2011-02-21 11:47:28 +00:00
Igor Sysoev
2a526d4969
bump version
2011-02-21 10:03:28 +00:00
Igor Sysoev
d53c836214
fix u->one_addr handling in ngx_inet_resolve_host()
...
patch by Maxim Dounin
2011-02-17 15:01:16 +00:00
Igor Sysoev
ab54e21633
bump version
2011-01-27 12:43:11 +00:00
Igor Sysoev
dc61c0a153
bump version
2010-12-14 22:54:04 +00:00
Igor Sysoev
076ad1672b
remove semicolon, because it is already in "nginx: " prefix
2010-12-11 10:59:26 +00:00
Igor Sysoev
5491139caf
bump version
2010-12-06 14:40:40 +00:00
Igor Sysoev
86ffd9b10f
bump version
2010-11-30 13:26:21 +00:00
Igor Sysoev
c219a6f7d0
bump version
2010-11-29 19:39:26 +00:00
Igor Sysoev
c19b848976
add "nginx: " prefix when logging to the stderr
2010-11-29 15:01:06 +00:00
Igor Sysoev
a979d9fb30
move ngx_strerror_init() at the very start
2010-11-29 15:00:02 +00:00
Igor Sysoev
7f31a2098d
use copied strerror() messages and autoconfigured sys_nerr value
2010-11-25 11:04:03 +00:00
Igor Sysoev
601ca7cd6e
bump version
2010-11-24 13:41:37 +00:00
Igor Sysoev
89eae52df8
file AIO read may be posted inside loop
2010-10-12 12:06:52 +00:00
Igor Sysoev
61d5e5e67f
bump version
2010-10-04 13:50:09 +00:00
Igor Sysoev
a397c7faaa
bump version
2010-09-28 06:46:58 +00:00
Igor Sysoev
49ac2b2b45
decrease resolver errors level to error
2010-09-27 11:23:45 +00:00
Igor Sysoev
8c70e67f7b
worker_rlimit_core should be off_t
2010-09-15 15:24:21 +00:00
Igor Sysoev
c13a4098b7
bump version
2010-09-06 11:07:07 +00:00
Igor Sysoev
94e9aaa8ad
new ngx_http_secure_link_module with secure_link, secure_link_md5, and
...
secure_link_expires
2010-09-02 14:37:16 +00:00
Igor Sysoev
2cb30f153f
the -q switch
2010-09-02 13:43:02 +00:00
Igor Sysoev
f380df5e20
bump version
2010-08-25 12:30:08 +00:00
Igor Sysoev
6dd6aefaa7
bump version
2010-08-03 18:24:18 +00:00
Igor Sysoev
0e0e0af51b
escape ";" in arguments
2010-07-30 13:25:19 +00:00
Igor Sysoev
6f2796af04
bump version
2010-07-29 08:10:22 +00:00
Igor Sysoev
1daef7d1b0
bump version
2010-07-19 15:27:06 +00:00
Igor Sysoev
e48f042f40
bump version
2010-07-14 11:09:56 +00:00
Igor Sysoev
a2e846242f
bump version
2010-07-07 10:09:44 +00:00
Igor Sysoev
0bd7a7d894
listen setfib=X
2010-07-05 13:49:16 +00:00
Igor Sysoev
802bc23574
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
187538d1eb
bump version
2010-07-01 12:56:32 +00:00
Igor Sysoev
ce03ba019e
fix IPv6 listen socket handling while reconfiguring
2010-06-30 12:01:56 +00:00
Igor Sysoev
daab61e40c
fix a bug when ngx_cpymem() returns a cast type:
...
p = (type *) ngx_cpymem(...)
2010-06-24 15:17:06 +00:00
Igor Sysoev
aa6936e61a
style fix
2010-06-23 16:34:54 +00:00
Igor Sysoev
0923d08148
change ngx_http_variable_value_node_t to more generic ngx_str_node_t
2010-06-23 15:31:33 +00:00
Igor Sysoev
2c72df5ed4
bump version
2010-06-23 14:49:57 +00:00
Igor Sysoev
dede73dda9
bump version
2010-06-15 12:41:13 +00:00
Igor Sysoev
7935d4bff7
bump version
2010-06-07 13:34:56 +00:00
Igor Sysoev
1f07392c42
*) delete no longer used unix domain sockets
...
*) fix unix domain socket comparison
2010-06-04 13:34:23 +00:00
Igor Sysoev
1a310e39de
bump version
2010-06-01 15:20:14 +00:00
Igor Sysoev
23f904ea06
fix IPv6 and Unix domain sockets inheritance while online upgrade
2010-05-31 14:49:11 +00:00
Igor Sysoev
11f4ad3ec2
fix building by ICC8, the bug had been introduced in r3476
2010-05-31 14:44:17 +00:00
Igor Sysoev
9434ae59e8
bump version
2010-05-27 12:55:05 +00:00
Igor Sysoev
58e1f27d2b
bump version
2010-05-18 16:20:02 +00:00
Igor Sysoev
05b1a8f1e3
ngx_str_set() and ngx_str_null()
2010-05-14 09:56:37 +00:00
Igor Sysoev
328df7a5cc
use ngx_min() and ngx_max()
2010-05-14 09:55:33 +00:00
Igor Sysoev
d2b687cf3f
ngx_atofp()
2010-05-14 09:01:30 +00:00
Igor Sysoev
6884183ad9
allow hash key values more than 255 bytes, it does not actually increase mean
...
hash element size, because due to aligning a byte after key is not used
anyway in 3/4 cases on 32-bit platforms and in 7/8 cases on 64-bit platforms
2010-05-13 12:52:45 +00:00
Igor Sysoev
50af406144
fix rounding issues in %f format
2010-05-12 13:13:11 +00:00
Igor Sysoev
503b9716c5
use double in %f format to allow %.15f precision
2010-05-12 13:12:31 +00:00
Igor Sysoev
dce9672ca6
bump version
2010-04-23 08:14:57 +00:00
Igor Sysoev
bfc8b78f57
use non-blocking open() not to hang on FIFO files, etc.
2010-04-21 15:59:36 +00:00
Igor Sysoev
231856b913
bump version
2010-04-02 14:18:23 +00:00
Igor Sysoev
170a54f326
escape ampersand in argument while rewrite
2010-04-01 12:45:59 +00:00
Igor Sysoev
d08b65ca61
do not set file time in ngx_copy_file() if the time is -1,
...
this fixes an issue when file is moved across devices
2010-03-30 14:15:25 +00:00
Igor Sysoev
86f791e090
fix comments
2010-03-26 21:17:26 +00:00
Igor Sysoev
6d45d8a50d
*) introduce ngx_time_sigsafe_update() to update the error log time only
...
*) change ngx_time_update() interface
2010-03-25 09:10:10 +00:00
Igor Sysoev
2f916a9721
*) use previously cached GMT offset value to update time from a signal handler
...
*) change ngx_time_update() interface since there are no notification methods
those return time
2010-03-13 18:08:07 +00:00
Igor Sysoev
1c9f74852f
bump version
2010-03-10 13:49:17 +00:00
Igor Sysoev
b87fba807e
const char *fmt in ngx_conf_log_error()
2010-02-12 09:45:05 +00:00
Igor Sysoev
d1311dfc71
bump version
2010-02-12 09:31:01 +00:00
Igor Sysoev
2f5bcf2d17
bump version
2010-01-28 08:22:45 +00:00
Igor Sysoev
d8be48a546
fix ngx_utf8_cpystrn(): it did not fully copy utf-8 string
2010-01-11 13:39:24 +00:00
Igor Sysoev
089b2fd31e
add context to a resolver log
2010-01-11 11:01:02 +00:00
Igor Sysoev
9a5eabc4ac
bump version
2009-12-25 14:57:10 +00:00
Igor Sysoev
04799a6f7c
fix r3331:
...
*) now pools are aligned to 16 bytes
*) forbidden to set non-aligned pool sizes
2009-12-17 12:25:46 +00:00
Igor Sysoev
a75362dcdb
fix Win32 error message when an temporary file replaces an existent file:
...
return at once if ngx_win32_rename_file() was not failed
and do not try to delete already the renamed temporary file
2009-12-17 10:05:39 +00:00
Igor Sysoev
9c8fa5efe5
bump version
2009-12-16 14:59:33 +00:00
Igor Sysoev
44be39475c
fix Win32 error messages when an temporary file replaces an existent file:
...
*) do not rename an already renamed file
*) now ngx_win32_rename_file() returns error code
*) do not log failure inside ngx_win32_rename_file()
2009-12-15 13:47:02 +00:00
Igor Sysoev
eacd5d89b7
fix double free(), introduced in r3268
2009-12-07 15:13:46 +00:00
Igor Sysoev
6cfcef3cbf
remove stale comment
2009-12-02 13:03:54 +00:00
Igor Sysoev
3bc08a51c7
bump version
2009-12-02 13:02:43 +00:00
Igor Sysoev
a734e33720
chmod unix listen domain socket to 0666
2009-11-30 11:26:24 +00:00
Igor Sysoev
f215028477
bump version
2009-11-25 17:04:00 +00:00
Igor Sysoev
72db760eca
add NGX_PROCESS_HELPER process status
2009-11-23 15:46:21 +00:00
Igor Sysoev
0bd426def1
bump version
2009-11-23 13:09:33 +00:00
Igor Sysoev
69061b73ef
fix pcre allocation on Win32, the bug had been introduced in r3326
2009-11-17 10:24:45 +00:00
Igor Sysoev
25622c2f92
bump version
2009-11-17 09:59:45 +00:00
Igor Sysoev
57acd7b421
bump version
2009-11-16 16:00:12 +00:00
Igor Sysoev
a4a0541308
align to minimum of a page and a pool sizes
2009-11-16 12:50:10 +00:00
Igor Sysoev
104ff87c39
ngx_min()
2009-11-16 12:48:41 +00:00
Igor Sysoev
ece77cd5be
large allocation should not be aligned to a page size
2009-11-16 12:47:44 +00:00
Igor Sysoev
c05f20ec2e
regex named captures
2009-11-16 12:19:02 +00:00
Igor Sysoev
950fb268a2
ngx_regex_exec() calling optimiztion:
...
*) change NGX_REGEX_NO_MATCHED to PCRE_ERROR_NOMATCH
*) declare ngx_regex_exec() as #define
*) optimize SSI regex a little
2009-11-13 20:41:41 +00:00
Igor Sysoev
f4992bbe14
bump version
2009-11-11 21:06:36 +00:00
Igor Sysoev
653edd491b
use ngx_resolver_alloc() instead of ngx_resolver_calloc()
...
since all fields are filled
2009-11-11 14:29:20 +00:00
Igor Sysoev
e79f429b4b
fix resolving an empty name (".")
2009-11-11 14:27:24 +00:00
Igor Sysoev
a993d55b0f
bump version
2009-11-11 12:30:36 +00:00
Igor Sysoev
a59ba33060
*) fix resolving an empty name ("."),
...
*) add quotes in an error message,
*) backout r3299 in ngx_mail_smtp_handler.c
2009-11-09 19:15:11 +00:00
Igor Sysoev
70966c154f
fix "PTR ." case in address resolver
2009-11-09 18:04:05 +00:00
Igor Sysoev
64bfa87e73
fix segfault in resolver:
...
ngx_resolve_name_done() and ngx_resolve_addr_done() did not delete
contexts from a resolver node waiting list.
2009-11-09 17:45:56 +00:00
Igor Sysoev
21accae8e5
cf->conf_file->file.name.data may be uninitialized, if an allocation failed;
...
found by Clang Static Analyzer
2009-11-05 17:10:48 +00:00
Igor Sysoev
bcc44e2549
allow to inherit unix domain sockets while online upgrade
2009-11-04 18:36:43 +00:00
Igor Sysoev
822503ea41
bump version
2009-11-04 11:20:54 +00:00
Igor Sysoev
4ac5ca8ae0
ngx_ptocidr() supports IPv6
2009-11-03 13:42:25 +00:00
Igor Sysoev
fd078fd6d5
make ngx_inet6_ntop() non-static
2009-11-03 12:44:55 +00:00
Igor Sysoev
612ecb7674
optimize some cycles:
...
*) delete surplus variable;
*) on i386/amd64 "while (n) / n--" is smaller than "while (n--)",
because the platforms have no postfix operations
2009-11-02 17:12:09 +00:00
Igor Sysoev
8b816d88a9
change ngx_parse_addr() interface
2009-11-02 16:11:06 +00:00
Igor Sysoev
1d52beba73
ngx_parse_addr()
2009-11-02 15:20:42 +00:00
Igor Sysoev
0c189c5159
rename ngx_peer_addr_t to ngx_addr_t
2009-11-02 15:14:17 +00:00
Igor Sysoev
67765e8918
use sin6_addr.s6_addr instead of "(u_char *) & .sin6_addr"
2009-11-02 14:32:46 +00:00
Igor Sysoev
0f25ed3d77
replace inet_addr() with ngx_inet_addr()
2009-11-02 13:51:10 +00:00
Igor Sysoev
47c88464eb
use ngx_inet6_addr()
2009-11-02 12:58:30 +00:00
Igor Sysoev
5a76cbbbc6
ngx_inet6_addr()
2009-11-02 12:50:00 +00:00
Igor Sysoev
19811dbdde
style fix
2009-11-02 12:41:56 +00:00
Igor Sysoev
61490aa6b6
delete unused field c->local_socklen
2009-11-01 19:29:49 +00:00
Igor Sysoev
9f179fe546
do not unlink unix domain socket file while online upgrade
2009-10-30 19:18:21 +00:00
Igor Sysoev
633c178a17
unlink unix domain socket file after testing
2009-10-30 19:16:50 +00:00
Igor Sysoev
b3586d13da
bump version
2009-10-28 10:31:06 +00:00
Igor Sysoev
8ffea50797
fix r3211
2009-10-26 12:00:37 +00:00
Igor Sysoev
baf8e409ba
http listen unix domain sockets
2009-10-26 11:43:32 +00:00
Igor Sysoev
42b72993c5
use lowcase only hostname
2009-10-21 17:04:13 +00:00
Igor Sysoev
a1e36777f4
add SNI support in -V output
2009-10-19 12:35:01 +00:00
Igor Sysoev
6a588f80c6
bump version
2009-10-15 13:01:42 +00:00
Igor Sysoev
3f438068eb
ignore EACCES errors for top level directories in ngx_create_full_path()
2009-10-14 11:46:09 +00:00
Igor Sysoev
d0188e09af
do not create Win32 drive letter in ngx_create_full_path()
2009-10-14 11:36:16 +00:00
Igor Sysoev
e7138540d6
nginx did not close log file set by --error-log-path,
...
the bug was introduced in r2744
2009-10-09 14:43:09 +00:00
Igor Sysoev
9e54633645
bump version
2009-10-07 12:48:05 +00:00
Igor Sysoev
280d6955e3
bump version
2009-10-06 13:52:26 +00:00
Igor Sysoev
3266171fd4
read_ahead
2009-09-30 13:21:52 +00:00
Igor Sysoev
687b0e99ea
Linux/SPARC malloc() returns an address aligned to 8. This conflicts with
...
our SPARC 16-byte alignment and some allocations may be done out of pool.
ngx_memalign(ngx_pagesize) fixes this issue.
2009-09-30 12:56:44 +00:00
Igor Sysoev
0056d6b4aa
bump version
2009-09-28 15:56:28 +00:00
Igor Sysoev
48a28e2dad
uniform ngx_directio_on/off() interface with other file functions
2009-09-25 14:17:28 +00:00
Igor Sysoev
e5b2d3c6b2
low default connection errors level from alert to error
2009-09-23 15:28:33 +00:00
Igor Sysoev
3749443661
bump version
2009-09-23 15:27:17 +00:00
Igor Sysoev
81fed299ce
fail if file size was changed
2009-09-22 09:44:57 +00:00
Igor Sysoev
a8d3d2204f
fix resolver cache rbtree comparison
2009-09-19 16:15:13 +00:00
Igor Sysoev
15c149e499
restore environ, this fixes segfault on reconfiguration failure when
...
perl module creates new environment
2009-09-18 09:21:14 +00:00
Igor Sysoev
2d95c3f210
fix comment
2009-09-18 09:12:40 +00:00
Igor Sysoev
99651523de
fix memory leak in resolver
2009-09-16 13:48:11 +00:00
Igor Sysoev
e6823b5199
bump version
2009-09-15 09:36:09 +00:00
Igor Sysoev
84b20ca18b
fix case when the output filter should add incoming buffers
...
while waiting on file AIO completion
2009-09-13 06:28:17 +00:00
Igor Sysoev
570608ff4a
style fix
2009-09-13 06:25:54 +00:00
Igor Sysoev
96e36ef252
If .domain.com, .sub.domain.com, and .domain-some.com were defined,
...
then .sub.domain.com was matched by .domain.com: wildcard names hash
was built incorrectly due to sorting order issue of "." vs "-".
They were sorted as
com.domain com.domain-some com.domain.sub
while they should be sorted as
com.domain com.domain.sub com.domain-some
for correct hash building
2009-09-12 09:28:37 +00:00
Igor Sysoev
e0f1d0afcc
style fix
2009-09-11 13:57:50 +00:00
Igor Sysoev
d0afc39841
bump version
2009-09-07 12:08:58 +00:00
Igor Sysoev
f13a2507ae
bump version
2009-09-01 12:07:00 +00:00
Igor Sysoev
c76ba2b2c5
bump version
2009-08-31 13:50:37 +00:00
Igor Sysoev
bfff03406d
aio sendfile
2009-08-30 09:52:39 +00:00
Igor Sysoev
cfb6888d87
bump version
2009-08-29 18:39:32 +00:00
Igor Sysoev
6ef7e772a9
fix build by msvc, introduced in r3054
2009-08-28 11:46:12 +00:00
Igor Sysoev
6fb506a215
directio_alignment
2009-08-28 08:15:55 +00:00
Igor Sysoev
a962506498
FreeBSD and Linux AIO support
2009-08-28 08:12:35 +00:00
Igor Sysoev
9262c6138e
fix typo
2009-08-26 15:03:53 +00:00
Igor Sysoev
79fb302daf
bump version
2009-08-25 08:47:58 +00:00
Igor Sysoev
f4f7d5e5f4
the flags should be bit-wide only
2009-08-23 12:58:41 +00:00
Igor Sysoev
3a58935936
*) share temporary number between workers
...
*) randomize collision offset
2009-08-21 09:06:35 +00:00
Igor Sysoev
f95847d0ba
test EXDEV after path creation
2009-08-20 15:53:57 +00:00
Igor Sysoev
0ddc1978ee
fix copy failure logging and stale files removal, introduced in r3025
2009-08-20 13:41:32 +00:00
Igor Sysoev
9db33c9234
fix copy destination name length, introduced in r3025
2009-08-20 13:37:26 +00:00
Igor Sysoev
42e49ba1ef
bump version
2009-08-19 09:09:12 +00:00
Igor Sysoev
aa4bba5298
fix building on 64-bit platforms, introduced in r3025
2009-08-13 13:48:41 +00:00
Igor Sysoev
b7a09c5523
allow cross device temporary files atomic copying:
...
*) ngx_copy_file()
*) delete ngx_ext_rename_file_t.log_rename_error and .rename_error fields
2009-08-12 12:05:33 +00:00
Igor Sysoev
c9538c069f
NGX_ENOPATH
2009-08-11 14:25:04 +00:00
Igor Sysoev
4413fad0db
cache loader process
2009-08-10 13:27:14 +00:00
Igor Sysoev
fe8726404c
bump version
2009-08-10 12:49:06 +00:00
Igor Sysoev
5fab282698
bump version
2009-07-31 12:41:02 +00:00
Igor Sysoev
193f9f3b14
bump version
2009-07-20 11:43:15 +00:00
Igor Sysoev
1d03cd6676
bump version
2009-07-14 08:18:38 +00:00
Igor Sysoev
f8f9fc2f1a
bump version
2009-07-09 13:20:51 +00:00
Igor Sysoev
7ae6e18c84
bump version
2009-06-22 08:59:48 +00:00
Igor Sysoev
dfd4e0a303
bump version
2009-06-15 14:22:20 +00:00
Igor Sysoev
282109b563
initialize use_event field in open file cache
...
the bug had been introduced in r2071
2009-06-12 14:23:29 +00:00
Igor Sysoev
ec7903b6f2
bump version
2009-06-10 11:46:34 +00:00
Igor Sysoev
2d65078eff
update r2925
2009-06-07 18:22:58 +00:00
Igor Sysoev
366bf71b82
win32 master process had aready closed listening sockets
2009-06-06 12:53:55 +00:00
Igor Sysoev
165aa39230
a signaller process should stop configuration processing just after
...
it is able to get pid file, this allows to not open log files, etc.
2009-06-06 12:41:31 +00:00
Igor Sysoev
7f9305cc2c
do not test a pool block space if we can not allocated from the block 4 times
2009-06-05 13:27:12 +00:00
Igor Sysoev
8e5f0acbc2
change surplus for() to while()
2009-06-05 12:33:49 +00:00
Igor Sysoev
5a2898f2b4
try to reuse last 4 free large allocation links
...
this fixes a pool growing for multi-requests keepalive connections
2009-06-03 13:57:28 +00:00
Igor Sysoev
05ff657234
bump version
2009-06-03 04:51:52 +00:00
Igor Sysoev
260c4321d7
return NULL instead of NGX_CONF_ERROR on a create conf failure
2009-06-02 16:09:44 +00:00
Igor Sysoev
3e64702807
leave chain in consistent state on errors
2009-06-02 16:07:13 +00:00
Igor Sysoev
f0a827adcb
add drive letter for Win32 root path
2009-06-02 14:00:01 +00:00
Igor Sysoev
a119584e66
test that zone has the same addresses in different processes
2009-06-02 13:57:59 +00:00
Igor Sysoev
21c2cf88c1
fix XSLT filter in SSI subrequests
2009-05-28 15:42:27 +00:00
Igor Sysoev
65105aaae3
Win32 returns ERROR_PATH_NOT_FOUND instead of ERROR_FILE_NOT_FOUND
2009-05-28 15:32:22 +00:00
Igor Sysoev
e959128b4a
keepalive_requests
2009-05-25 15:38:36 +00:00
Igor Sysoev
6ba4df71b2
bump version
2009-05-25 15:24:20 +00:00
Igor Sysoev
6091c8c33e
bump version
2009-05-18 16:48:53 +00:00
Igor Sysoev
739e29b651
delete unneeded field
2009-05-18 12:21:00 +00:00
Igor Sysoev
c985ee7a61
ngx_connection_local_sockaddr()
2009-05-18 12:12:06 +00:00
Igor Sysoev
731e6a9b11
style fix
2009-05-14 16:24:39 +00:00
Igor Sysoev
bba78036c8
bump version
2009-05-12 13:11:39 +00:00
Igor Sysoev
ec9f47175e
bump version
2009-05-11 17:47:06 +00:00
Igor Sysoev
dbc205ab5a
IPv6 for Win32
2009-05-07 13:05:04 +00:00
Igor Sysoev
3182d6a9d0
bump version
2009-05-06 14:11:03 +00:00
Igor Sysoev
ee4be0345f
ngx_create_listening()
2009-05-05 17:33:26 +00:00
Igor Sysoev
d4a71fb844
move listen log copying from ngx_open_listening_sockets()
...
to ngx_configure_listening_sockets(), otherwise listen socket logs have no file
after first reload and this caused segfault if debug_connection was used;
the bug has been introduced in r2786
2009-05-05 13:16:29 +00:00
Igor Sysoev
00bd137064
use correct name
2009-05-05 13:12:59 +00:00
Igor Sysoev
682414f352
use local variable
2009-05-05 13:05:42 +00:00
Igor Sysoev
a8da6c2ae6
delete never used ngx_ssl_set_nosendshut()
2009-05-04 19:51:32 +00:00
Igor Sysoev
6efa56fe7f
delete ngx_listening_inet_stream_socket()
2009-05-04 19:51:09 +00:00
Igor Sysoev
e7d99eff2c
bump version
2009-05-01 19:13:37 +00:00
Igor Sysoev
0cd76ea290
*) refactor error_log processing: listen socket log might inherit built-in
...
error_log with zero level, and r2447, r2466, r2467 were not enough
*) remove bogus "stderr" level
*) some functions and fields renames
2009-04-30 13:53:42 +00:00
Igor Sysoev
5461f39381
set of.failed for cached error, the bug has been introduced in r2757
2009-04-30 08:01:50 +00:00
Igor Sysoev
ef919756d9
uniform ngx_file_info() interface with ngx_fd_info()
2009-04-29 19:28:52 +00:00
Igor Sysoev
a70d086812
fix the previous commit
2009-04-29 13:07:16 +00:00
Igor Sysoev
dcc9205a39
Winsock uses ECONNABORTED instead of ECONNRESET
2009-04-29 11:34:58 +00:00
Igor Sysoev
341b8f67b9
fix building by BCC if NGX_PREFIX is defined
2009-04-29 11:32:58 +00:00
Igor Sysoev
ca6a9e0fdc
*) do not show line number for -g option
...
*) reset configuration file after -g option has been parsed
2009-04-28 20:06:03 +00:00
Igor Sysoev
9d4a8d9111
introduce ngx_write_console() to support OEM code pages
2009-04-28 15:05:27 +00:00
Igor Sysoev
2cc2893bc1
add prefix in Usage
2009-04-28 04:34:27 +00:00
Igor Sysoev
f67e0a4050
ngx_log_errno()
2009-04-27 13:17:33 +00:00
Igor Sysoev
e1c9746e37
use ngx_vslprintf(), ngx_slprintf()
2009-04-27 13:06:20 +00:00
Igor Sysoev
4e1fe03e03
ngx_vslprintf(), ngx_slprintf()
2009-04-27 12:51:33 +00:00
Igor Sysoev
8ec9a72295
bump version
2009-04-27 12:48:38 +00:00
Igor Sysoev
5ef370df40
-p and --prefix=
2009-04-27 11:32:33 +00:00
Igor Sysoev
f1cc457d7f
*) of.test_only to not open file if only stat() is enough
...
*) of.failed to return exact name of failed syscall
2009-04-27 09:55:53 +00:00
Igor Sysoev
0e60e4f73a
add quotes for configure options with spaces
2009-04-26 19:37:38 +00:00
Igor Sysoev
c27497da92
change ngx_log_abort() interface
2009-04-24 15:50:51 +00:00
Igor Sysoev
a3041ac931
style fix: (void)
2009-04-24 14:45:52 +00:00
Igor Sysoev
c134eb058d
change ngx_log_create_errlog() interface
2009-04-24 14:27:36 +00:00
Igor Sysoev
caf17102e8
pass command lines options to workers
2009-04-23 18:22:28 +00:00
Igor Sysoev
c28ff717cb
issue start up errors and warning on both stderr and error_log
2009-04-23 11:13:12 +00:00
Igor Sysoev
ae2f2b105a
style fix: remove trailing spaces introduced in the previous commit
2009-04-23 09:46:14 +00:00
Igor Sysoev
eeed2e9b21
use ngx_str_t for error levels
2009-04-23 08:05:54 +00:00
Igor Sysoev
c8e9f26a57
implement "-s signal" option for Unix
2009-04-21 20:25:49 +00:00
Igor Sysoev
80ce3d4dd1
style fix: remove trailing spaces
2009-04-21 19:49:48 +00:00
Igor Sysoev
dc5ad52761
style fix: remove tabs
2009-04-21 19:38:02 +00:00
Igor Sysoev
59c393f393
add -? and -h options
2009-04-21 16:21:58 +00:00
Igor Sysoev
b77808cee0
allow condensed command lines options
2009-04-21 15:42:15 +00:00
Igor Sysoev
19a0e6e32e
fix r2731 for Win32
2009-04-21 15:40:40 +00:00
Igor Sysoev
f873e73b96
test command line options before ngx_log_init() and issue errors to stderr
2009-04-21 13:39:47 +00:00
Igor Sysoev
2f7f95381d
bump version
2009-04-20 13:29:38 +00:00
Igor Sysoev
bd91999ea5
Win32 master/workers model
2009-04-20 06:08:47 +00:00
Igor Sysoev
1153aa6465
show -t results on stderr
2009-04-19 16:06:09 +00:00
Igor Sysoev
f7a08d5f9a
support attaching to an existent Win32 shared memory
2009-04-18 19:27:28 +00:00
Igor Sysoev
61b7791486
fix building on platforms which have no atomic operations support,
...
the bug was introduced in r2564
2009-04-17 19:11:31 +00:00
Igor Sysoev
b072c3d647
fix the previous commit
2009-04-17 19:09:08 +00:00
Igor Sysoev
c7f876bd4c
move zone name from ngx_shm_zone_t to ngx_shm_t to use Win32 shared memory
2009-04-16 19:25:09 +00:00
Igor Sysoev
5234b9c6a8
fix building by BCC without NGX_DEBUG_MALLOC
2009-04-15 19:44:41 +00:00
Igor Sysoev
57006fbb13
bump version
2009-04-15 06:25:02 +00:00
Igor Sysoev
b37316d7dd
style fix
2009-04-08 19:51:30 +00:00
Igor Sysoev
a2de7b9b93
delete win32 ngx_file_append_mode() as we use reliable
...
FILE_APPEND_DATA|SYNCHRONIZE flags
2009-04-08 19:13:28 +00:00
Igor Sysoev
2ec2e35efe
adopt NGX_FILE_TRUNCATE for win32
2009-04-08 19:03:41 +00:00
Igor Sysoev
4f1192651d
bump version
2009-04-06 13:42:56 +00:00
Igor Sysoev
d5ba36fdad
backout r2677 and fix ngx_strlcasestrn() again
2009-04-06 11:42:42 +00:00
Igor Sysoev
8d9e4c847d
bump version
2009-04-06 11:39:01 +00:00
Igor Sysoev
f3aed53c9d
fix ngx_strlcasestrn()
2009-04-06 10:38:40 +00:00
Igor Sysoev
e94b22b143
bump version
2009-04-06 10:37:53 +00:00
Igor Sysoev
a514d68bfb
ngx_strlcasestrn()
2009-04-04 17:31:54 +00:00
Igor Sysoev
508b1b5dfb
bump version
2009-04-02 13:44:02 +00:00