summaryrefslogtreecommitdiffhomepage
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2012-09-24Merge of r4833: limit req: fix of rbtree node insertion.Maxim Dounin1-4/+4
Limit req: fix of rbtree node insertion on hash collisions. The rbtree used in ngx_http_limit_req_module has two level of keys, the top is hash, and the next is the value string itself. However, when inserting a new node, only hash has been set, while the value string has been left empty. The bug was introduced in r4419 (1.1.14). Found by Charles Chen.
2012-09-24Merge of r4829: fixed strict aliasing with ipv6 (ticket #201).Maxim Dounin3-3/+29
Fixed strict aliasing bugs when dealing with IPv4-mapped IPv6 addresses.
2012-09-24Merge of r4828: "include" with wildcards in map and types blocks.Maxim Dounin4-21/+6
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-09-24Merge of r4817: geo: fixed handling of ranges without default set.Maxim Dounin1-4/+4
The bug had appeared in 0.8.43 (r3653). Patch by Weibin Yao.
2012-09-24Merge of r4815: map: fixed optimization of variables as values.Maxim Dounin1-8/+2
Previous code incorrectly used ctx->var_values as an array of pointers to ngx_http_variable_value_t, but the array contains structures, not pointers. Additionally, ctx->var_values inspection failed to properly set var on match.
2012-09-24Merge of r4813, r4814, r4818, r4819, r4820, r4823: mail fixes.Maxim Dounin4-15/+34
*) Corrected the directive name in the ngx_mail_auth_http_module error message. *) Don't let the well-known port in the "listen" directive to override the already set "protocol". *) Fixed sorting of listen addresses (ticket #187). For http module this problem was already fixed in r4756. *) Removed a stale "AF_INET only" comment. IPv6 client connections in mail modules have been supported since r2856. *) Fixed handling of AF_UNIX addresses in "listen". This makes AF_UNIX addresses in mail officially supported. *) Whitespace fix.
2012-09-24Merge of r4785, r4795, r4811, r4812, r4816, r4822: coverity.Maxim Dounin8-13/+31
*) Resolver: fixed possible memory leak in ngx_resolver_create(). *) Explicitly ignore returned value from unlink() in ngx_open_tempfile(). *) Explicitly ignore returned value from close() in ngx_event_core_init_conf(). *) Added three missing checks for NULL after ngx_array_push() calls. *) Crypt: fixed handling of corrupted SSHA entries in password file. *) Mark logically dead code with corresponding comment. Found by / prodded by Coverity.
2012-09-24Merge of r4784: fixed the -p parameter handling.Maxim Dounin1-1/+1
Ensure that the path supplied always ends with a `/' except when empty. An empty value now corresponds to the current directory instead of `/'.
2012-09-24Merge of r4779, r4840, r4843, r4844: win32 changes.Maxim Dounin1-0/+1
*) Fixed build with Visual Studio 2005 Express. It is available via winetricks which makes it still usable, and has an old crtdefs.h which uses _CRT_SECURE_NO_DEPRECATE instead of _CRT_SECURE_NO_WARNINGS to suppress warnings. Reported by HAYASHI Kentaro, http://mailman.nginx.org/pipermail/nginx-devel/2012-August/002542.html *) Configure: provide inflate() when building zlib on win32. *) Helper target "win32" to run configure for win32 builds. *) Updated zlib used for win32 builds.
2012-09-24Merge of r4778, r4782, r4783, r4824, r4830, r4834: minor fixes.Maxim Dounin7-24/+24
*) Reorder checks in ngx_shared_memory_add() for more consistent error messages. *) 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. *) 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. *) 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). *) Fixed overflow if ngx_slab_alloc() is called with very big "size" argument. *) Write filter: replaced unneeded loop with one to free chains. Noted by Gabor Lekeny.
2012-09-24Version bump.Maxim Dounin2-3/+3
2012-08-06Merge of r4739: s/ngx_shmtx_destory/ngx_shmtx_destroy/.Maxim Dounin2-4/+4
2012-08-06Merge of r4771: ngx_http_find_virtual_server() fix.Maxim Dounin1-1/+1
The ngx_http_find_virtual_server() function should return NGX_DECLINED if virtual server not found.
2012-08-06Merge of r4770: hide_headers/pass_headers inheritance fix.Maxim Dounin1-3/+3
Hide headers and pass headers arrays might not be inherited correctly into a nested location, e.g. in configuration like server { proxy_hide_header X-Foo; location / { location /nested/ { proxy_pass_header X-Pad; } } } the X-Foo header wasn't hidden in the location /nested/. Reported by Konstantin Svist, http://mailman.nginx.org/pipermail/nginx-ru/2012-July/047555.html
2012-08-06Merge of r4769: better diagnostics for directives in wrong context.Maxim Dounin3-23/+16
2012-08-06Merge of r4766, r4767: ngx_http_upstream_add() changes.Maxim Dounin1-3/+3
*) Fixed to return NULL if an error occurs. *) Microoptimization: replaced an expression known to be constant with the constant value.
2012-08-06Merge of r4765: reduced the number of preprocessor directives.Maxim Dounin1-5/+1
2012-08-06Merge of r4764: debug_connection with a domain name change.Maxim Dounin1-25/+66
When "debug_connection" is configured with a domain name, only the first resolved address was used. Now all addresses will be used.
2012-08-06Merge of r4760, r4761: -Wmissing-prototypes.Maxim Dounin14-8/+75
Fixed compilation with -Wmissing-prototypes. Added a commented out -Wmissing-prototypes to CFLAGS. It is commented out to not break builds with 3rd party modules.
2012-08-06Merge of r4758: win32: fixed cpu hog after process startup failure.Maxim Dounin1-0/+1
If ngx_spawn_process() failed while starting a process, the process handle was closed but left non-NULL in the ngx_processes[] array. The handle later was used in WaitForMultipleObjects() (if there were multiple worker processes configured and at least one worker process was started successfully), resulting in infinite loop. Reported by Ricardo Villalobos Guevara: http://mailman.nginx.org/pipermail/nginx-devel/2012-July/002494.html
2012-08-06Merge of r4757: debugging messages in limit_conn.Maxim Dounin1-2/+2
Fixed debugging messages to account that limit_zone was renamed to limit_conn.
2012-08-06Version bump.Maxim Dounin2-3/+3
2012-08-06Merge of r4756: fixed listen addresses sorting (ticket #187)Maxim Dounin1-0/+5
Fixed sorting of listen addresses so that wildcard address is always at the end. Failure to do so could result in several listen sockets to be created instead of only one listening on wildcard address. Reported by Roman Odaisky.
2012-08-06Merge of r4740: fixed $request_length for pipelined requests.Maxim Dounin1-7/+4
2012-08-06Merge of r4738: struct flock initialization.Maxim Dounin1-9/+3
Made sure to initialize the entire "struct flock" allocated on stack.
2012-08-06Merge of r4737: r->uri_changed in a named location fix.Maxim Dounin1-0/+1
Reset r->uri_changed in a named location (ticket #184).
2012-08-06Merge of r4713: map hostnames fix (ticket #182).Maxim Dounin1-5/+4
The final dot wasn't stripped before looking up in a map of hostnames.
2012-07-02Merge of r4698: X-Forwarded-For conditionals.Maxim Dounin3-3/+10
Fixed compile-time conditionals used to detect if X-Forwarded-For support is needed. Note: compatibility shims were added during merge to avoid possible breakage of 3rd party modules. At least cache purge module was broken by the original commit, as it used to rely on NGX_HTTP_PROXY define.
2012-07-02Merge of r4697: disabled gzip in OpenSSL prior to 1.0.0.Maxim Dounin1-0/+18
Disabled gzip compression in OpenSSL prior to 1.0.0 version. This saves about 522K per connection.
2012-07-02Merge of r4693: fixed "sendmsg() failed" alerts on HP-UX.Maxim Dounin1-0/+1
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-07-02Merge of r4690: conflicting wildcard server names fix.Maxim Dounin1-11/+13
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-07-02Merge of r4688, r4689, r4706:Maxim Dounin1-1/+18
*) Mp4: fixed non-keyframe seeks in some cases (ticket #175). Number of entries in stsc atom was wrong if we've added an entry to split a chunk. Additionally, there is no need to add an entry if we are going to split last chunk in an entry, it's enough to update the entry we already have. Previously new entry was added and old one was left as is, resulting in incorrect entry with zero chunks which might confuse some software. *) Mp4: fixed streaming if moov atom is at buffer edge.
2012-07-02Merge of r4686, r4687: $status variable.Maxim Dounin2-4/+40
Contains response status code as a 3-digit integer (with leading zeroes if necessary), or one of the following values: 000 - response status code has not yet been assigned 009 - HTTP/0.9 request is being processed
2012-07-02Merge of r4682, r4694, r4699, r4704, r4705: minor nits.Maxim Dounin7-7/+7
*) Fixed spelling of "endianness", and called it "byte ordering" in the user visible part. *) Fixed return type of ngx_strerror_init(). *) Fixed a harmless error in spelling of "Connection: close" when computing the response header length. *) Style. *) Added code to look up Google perftools in /opt/local/, for MacPorts.
2012-07-02Merge of r4655, r4656, r4657, r4695, r4696: upstream changes.Maxim Dounin5-48/+466
*) Upstream: least_conn balancer module. *) Upstream: weights and IPv6 support in ip_hash balancer. *) Upstream keepalive: "single" parameter deprecated.
2012-07-02Merge of r4654, r4672, r4684, r4685, r4692: resolver changes.Maxim Dounin2-16/+21
*) Resolver: fixed format specification. Patch by Yichun Zhang (agentzh). *) Support for IPv6 literals and an optional port in resolver. *) 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. *) When "resolver" is configured with a domain name, only the first resolved address was used. Now all addresses will be used. *) Fixed segfault with poll and resolver used. Poll event method needs ngx_cycle->files to work, and use of ngx_exit_cycle without files set caused null pointer dereference in resolver's cleanup on udp socket close.
2012-07-02Merge of r4671: support for IPv6 literals in proxy_pass and so on.Maxim Dounin1-7/+30
2012-07-02Merge of r4653: ngx_inet.c code reduction.Maxim Dounin1-19/+2
Code reduction (no functional changes).
2012-07-02Merge of r4652: ssl without buffer should not set c->buffered.Maxim Dounin1-1/+0
Removed mistaken setting of NGX_SSL_BUFFERED flag in ngx_ssl_send_chain() if SSL buffer is not used.
2012-07-02Merge of r4651: proxy_cookie_* fix.Maxim Dounin1-1/+15
Fixed returned value handling from the cookie rewrite handler. If the "proxy_cookie_domain" or "proxy_cookie_path" directive is used and there are no matches in Set-Cookie header then ngx_http_proxy_rewrite_cookie() returns NGX_DECLINED to indicate that the header was not rewritten. Returning this value further from the upstream headers copy handler resulted in 500 error response. See here for report: http://mailman.nginx.org/pipermail/nginx/2012-May/033858.html
2012-07-02Merge of r4648, r4649, r4650: memory leak with $geoip_org.Maxim Dounin1-4/+15
Patch by Denis F. Latypoff (slightly modified).
2012-07-02Merge of r4647: xslt reuse.Maxim Dounin1-2/+2
Fixed the reuse of parsed DTDs and XSLTs. Patch by Kuramoto Eiji.
2012-07-02Merge of r4646: jemalloc 3.0.0 compatibility.Maxim Dounin1-2/+2
Fixed compilation with -DNGX_DEBUG_MALLOC on FreeBSD 10. After jemalloc 3.0.0 import there is no _malloc_options symbol, it has been replaced with the malloc_conf one with a different syntax.
2012-07-02Merge of r4644:Maxim Dounin1-1/+6
Fixed potential null pointer dereference in ngx_resolver_create(). While here, improved error message.
2012-07-02Merge of r4643:Maxim Dounin1-5/+0
Removed historical and now redundant syntax pre-checks in ngx_parse_url().
2012-07-02Merge of r4642:Maxim Dounin1-2/+9
Fixed core variables dynamic access after reconfiguration. If variable was indexed in previous configuration but not in current one, the NGX_HTTP_VAR_INDEXED flag was left set and confused ngx_http_get_variable(). Patch by Yichun Zhang (agentzh), slightly modified.
2012-06-29Merge of r4639, r4640: C++ fixes.Maxim Dounin2-5/+5
Fixed the ngx_regex.h header file compatibility with C++. Fixed building --with-cpp_test_module on some systems.
2012-06-29Merge of r4636, r4637, r4638: config sanity checks.Maxim Dounin5-4/+17
*) Added syntax checking of the second parameter of the "split_clients" directive. *) Capped the status code that may be returned with "return" and "try_files". *) Zero padded the returned and logged HTTP status code, and fixed possible buffer overrun in $status handling.
2012-06-26Merge of r4645: fixed warning during nginx.xs compilation.Maxim Dounin1-1/+1
2012-06-25Version bump.Maxim Dounin2-3/+3