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
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
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
resolver fixes:
*) 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
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
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
cache management fixes:
*) separate cache loader process
*) use real file cache length, this fixes cache size counting for responses
without "Content-Length" header and 304 responses.
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
fix variuos segfaults:
*) fix segfault if 400 or 414 errors are handled intricately
*) ngx_http_upstream_create() to cleanup the previous upstream after
internal redirect
various image filter fixes and features:
*) variables support in image_filter
*) fix transparency in GIF
*) fix alpha-channel transparency in PNG
*) image_filter_transparency
various SSL fixes and features:
*) $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
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
various perl fixes:
*) 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
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
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