Igor Sysoev [Mon, 1 Feb 2010 14:52:25 +0000 (14:52 +0000)]
merge r3201, r3204, r3411:
ngx_http_autoindex_module fixes:
*) reset cached dirent.d_type after stat()
this fixes slash after link to a directory in ngx_http_autoindex_module;
*) use cached dirent.d_type as hint on all systems
the issues has been introduced in r2235
*) fix ngx_utf8_cpystrn(): it did not fully copy utf-8 string
*) $ssl_session_id
*) allow "make clean" for OpenSSL, the bug was introduced in r2874
*) disable SSLv2 and use only strong ciphers by default
*) decrease SSL handshake error level to info
Igor Sysoev [Mon, 1 Feb 2010 14:16:45 +0000 (14:16 +0000)]
merge r3153, r3154, r3288, r3382:
request header processing fixes:
*) $host is always in low case:
*) move low case convertation from ngx_http_find_virtual_server()
to ngx_http_validate_host()
*) add in ngx_http_validate_host() capability to copy host name in the pool
allocated memory
*) fix segfault if there is single large_client_header_buffers
and a request line fills it completely
*) default large_client_header_buffers' buffer size should be 8K as compatible
with Apache's one
Igor Sysoev [Mon, 1 Feb 2010 14:04:20 +0000 (14:04 +0000)]
merge r3039, r3145:
access_log fixes:
*) strict testing "access_log off"
*) allow to log invalid $request in access_log always,
before it was logged only if error_log was set to info or debug level
Igor Sysoev [Mon, 1 Feb 2010 14:01:24 +0000 (14:01 +0000)]
merge r2990, r3324, r3384, r3419:
various proxy/FastCGI fixes:
*) do auto redirect for proxy_pass/fastcgi_pass with variables
*) allow "proxy_pass http://$backend" without URI part
*) add conf/fastcgi.conf
*) delete u->cleanup mark, this fixes large values in $upstream_response_time,
the bug had been introduced in r3246
*) fix memory leak in resolver
*) fix resolver cache rbtree comparison
*) fix segfault in resolver:
ngx_resolve_name_done() and ngx_resolve_addr_done() did not delete
contexts from a resolver node waiting list.
*) fix "PTR ." case in address resolver
*) add quotes in an error message,
*) fix resolving an empty name (".")
*) use ngx_resolver_alloc() instead of ngx_resolver_calloc()
since all fields are filled
Igor Sysoev [Mon, 16 Nov 2009 15:00:13 +0000 (15:00 +0000)]
r3117, r3123, r3229 merge:
server name related merges:
*) 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
*) test space between "~" and regex in server_name and invalid_referers
*) do not run regex for empty host name since regex always fails in this case,
the bug had been introduced in r2196
Igor Sysoev [Mon, 26 Oct 2009 17:34:43 +0000 (17:34 +0000)]
merge r3055, r3136:
gzip related fixes:
*) do not disable gzip for MSIE 6.0 SV1 in "gzip_disable msie6"
*) nginx always sent "Vary: Accept-Encoding",
if both gzip_static and gzip_vary were on
*) separate cache loader process
*) use real file cache length, this fixes cache size counting for responses
without "Content-Length" header and 304 responses.
Igor Sysoev [Mon, 26 Oct 2009 17:13:44 +0000 (17:13 +0000)]
merge r3004, r3005, r3006:
various header fixes:
*) allow to proxy_pass_header/fastcgi_pass_header "X-Accel-Redirect",
"X-Accel-Limit-Rate", "X-Accel-Buffering", and "X-Accel-Charset"
*) fix handling "Last-Modified" and "Accept-Ranges" for upstream responses
*) clear "Accept-Ranges" for SSI responses
*) $ssl_client_verify
*) "ssl_verify_client ask" was changed to "ssl_verify_client optional"
*) ssl_crl
*) delete OpenSSL pre-0.9.7 compatibility: the sources were not actually
compatible with OpenSSL 0.9.6 since ssl_session_cache introduction
*) fix memory corruption in $ssl_client_cert
*) issue SNI warning instead of failure: this is too common case
*) use ngx_log_error(), since OpenSSL does not set an error on the failure
*) add SNI support in -V output
Igor Sysoev [Mon, 26 Oct 2009 16:30:34 +0000 (16:30 +0000)]
merge r2973, r2974, r3184, r3192, r3186, r3187:
various limit_req and limit_conn fixes:
*) fix client write event handling in ngx_http_limit_req_module
*) make limit_req to conform to the leaky bucket algorithm
*) limit_req_log_level
*) limit_conn_log_level
*) fix ngx_http_send_special() for subrequests handled by perl
*) allow perl "sub{..."
*) restore environ, this fixes segfault on reconfiguration failure when
perl module creates new environment
*) optimize error handling
*) use ngx_conf_set_str_array_slot() for perl_require
*) allow several perl_modules
Igor Sysoev [Mon, 7 Sep 2009 10:12:49 +0000 (10:12 +0000)]
merge r3011, r3012, r3026:
FastCGI fixes:
*) continue to parse available fastcgi record after a split header,
this fixes the erroneous message "upstream prematurely closed connection
while reading response header from upstream"
*) fix a garbage in a split fastcgi header
*) refactor fastcgi stderr handling
Igor Sysoev [Mon, 7 Sep 2009 10:01:26 +0000 (10:01 +0000)]
merge r2980, r2981, r2982:
win32 fixes:
*) ngx_http_set_exten() is always successful since 0.3.46
*) skip URI trailing dots under Win32
*) use caseless regex locations on caseless filesystems: MacOSX, Win32, Cygwin
*) use no-threads for Unix builds only
*) Win32 returns ERROR_PATH_NOT_FOUND instead of ERROR_FILE_NOT_FOUND
*) add trailing zero to a file name in ngx_win32_rename_file()
*) fix logging in ngx_win32_rename_file()
*) allow shared memory segments more than 4G
*) fix memory leak in successful case
*) log shared memory name in failure case
*) test that zone has the same addresses in different processes
*) add drive letter for Win32 root path
*) log GetExitCodeProcess()'s errno
*) test premature process termination
*) fix debug logging
*) exit if no workers could not be started
*) do not quit old workers if no new workers could not be started
*) a signaller process should stop configuration processing just after
it is able to get pid file, this allows to not open log files, etc.
*) win32 master process had aready closed listening sockets
Igor Sysoev [Mon, 15 Jun 2009 09:30:59 +0000 (09:30 +0000)]
merge r2895, r2896, r2926, r2927, r2928, r2930, and r2936:
various proxy/fastcgi cache features and fixes:
*) report about proxy/fastcgi_store and proxy/fastcgi_cache incompatibility
*) delete useless r->cache->uses
*) proxy_cache_use_stale/fastcgi_cache_use_stale updating
*) inherit proxy_set_header, proxy_hide_header, and fastcgi_hide_header
only if cache settings are similar
*) add response file uniq while loading cold cache on demand
Igor Sysoev [Mon, 15 Jun 2009 08:49:53 +0000 (08:49 +0000)]
merge r2893, r2894, and r2917:
various ./configure fixes:
*) use md5/sha1 in OpenSSL only if OpenSSL is used
*) stop ./configure at once on library failure
*) librt must be tested before creating Makefile
the bug has been introduced in r2817
Igor Sysoev [Mon, 15 Jun 2009 08:43:10 +0000 (08:43 +0000)]
merge r2889, r2918, and r2921:
fix a pool growing and CPU usage for multi-requests keepalive connections:
*) keepalive_requests
*) try to reuse last 4 free large allocation links
*) do not test a pool block space if we can not allocated from
the block 4 times
Igor Sysoev [Sun, 24 May 2009 14:19:16 +0000 (14:19 +0000)]
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