| Age | Commit message (Collapse) | Author | Files | Lines |
|
fix segfault if cache key is larger than upstream buffer size
patch by Lanshun Zhou
|
|
|
|
update r->buffered after processing SSI command,
the bug has been probably introduced in r2378
|
|
fix case of partially matched patterns on buffer border in sub_filter
|
|
*) merge r3675:
fix recognition of SSLv2 Client Hello Packet large than 255 bytes
*) upgrade OpenSSL to 0.8.9q in nginx/Windows
|
|
IPv6 related fixes:
*) fix IPv6 listen socket handling while reconfiguring
*) test wildcard tail hash existance for IPv6 addresses,
the same fix for IPv4 addresses has been made in r2581
*) always run regex in server_name to get captures for IPv6 addresses,
the same fix for IPv4 addresses has been made in r2584
|
|
it allows to use X-Accel-Redirect'ed URI in a proxy_pass without URI part
this fix corresponds to r3616
|
|
|
|
|
|
remove r->zero_in_uri
|
|
cache related fixes:
*) do not cache response if it has "no-store" or "private"
in "Cache-Control" header
*) proxy_no_cache and fastcgi_no_cache
|
|
use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
|
|
opening files fixes:
*) use non-blocking open() not to hang on FIFO files, etc.
*) do not log misleading errno in "not a regular file" error
|
|
rewrite fixes:
*) escape ampersand in argument while rewrite
*) autodetect redirect if URI is rewritten to a string starting with $scheme
|
|
revert partially r1555 and fix the error "memcached sent invalid trailer"
|
|
fix segfault: ngx_http_upstream_cleanup() cleans r->cleanup,
the bug had been introduced in r3426
|
|
reset a parsing state to parse correctly an upstream response,
if 400 or 414 response has been redirected to upstream
|
|
signal processing stability:
*) use sys_errlist[] in signal handler instead
of non Async-Signal-Safe strerror_r()
*) do not update time in the timer signal handler,
since localtime_r() is not Async-Signal-Safe function
*) 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
*) introduce ngx_time_sigsafe_update() to update the error log time only
*) change ngx_time_update() interface
|
|
*) make $request_method non-cacheable
*) make $arg_ variables non-cacheable
*) change processing variables accessed by SSI and perl module:
*) the indexed variables are always flushed
*) never show warning for not found variables
|
|
allow HTTPS referers
|
|
Win32 fixes:
*) compare long file names in case-insensitive mode,
the bug had been introduced in r3436
*) test default NTFS stream "::$DATA"
|
|
fix a geo range if the range includes two or more /16 networks
and does not begin at /16 network boundary
|
|
SSI fixes:
*) use content type of the parent request in SSI stub block output
instead of default one
*) SSI %s timefmt has no timezone offset
*) change ngx_http_ssi_filter and ngx_http_charset_filter order
*) do not store an encoded variable value as a new cached variable value
*) fix SSI include stub for valid empty responses
*) allow to use $uid_got in SSI and perl module
|
|
fix miscellaneous name bugs:
*) fix $upstream_http_ variable prefix length
*) use a right "Location" header name, however, it did not harm,
since ngx_http_variable_sent_location() never use key name field
*) fix proxy_redirect name in error message
*) "proxy_redirect default" may not be used if a proxy_pass uses variables
|
|
*) allow a chunked body for 201 responses
*) chunked_transfer_encoding
|
|
$geoip_city_continent_code, $geoip_latitude, $geoip_longitude
|
|
force image filter conversion if JPEG application data consume more than 5%
|
|
perl related fixes:
*) do not log error if $r->variable was not found
*) delete ngx_http_perl_cleanup_t unused since r909
|
|
browsers related fixes:
*) add MSIE padding for Chrome too
*) disable keepalive for Safari:
https://bugs.webkit.org/show_bug.cgi?id=5760
*) do not disable keepalive after POST requests for MSIE 7+
|
|
|
|
fix negative time in "Cache-Control" if "expires modified" sets time in the past
|
|
perl exit fixes:
*) use global perl variable in perl_destruct()/perl_free()
for non-mulitiplicity perl
*) add comment from r2716 commit message
|
|
gzip headers related fixes:
*) remove "Content-Encoding: gzip" in 304 response
sent by ngx_http_gzip_static_module
*) refactor gzip_vary handling
*) test r->header_only last, since it's not actually
frequent here: 304 and HEAD responses are not set it before the filter
|
|
cache related fixes:
*) do not pass buf with empty cached response,
this fixes "zero size buf in output" alert
*) hide cacheable Set-Cookie and P3P FastCGI response headers
*) test comma separator in "Cache-Control"
*) a cache manager thread handle was overwritten by a cache loader thread
handle, this caused an exit delay, the bug had been introduced in r3248
*) fix handling cached HTTP/0.9 response
*) log proxied HTTP/0.9 responses status as "009"
*) fix the "If-None-Match" header name
*) fix a cached zero-length body case
|
|
fix segfault if $limit_rate was logged
fix segfault in SSL if limit_rate is used
|
|
r3202, r3203, r3383, r3388, r3417, r3418:
Win32 (mostly) and some Unix file related fixes:
*) preserve errno while ngx_free()
*) win32 ngx_file_info() utf8 support
*) delete Win95 code
*) log file name for read/write errors
*) test incomplete WriteFile()
*) handle short pwrite() to log an error cause: ENOSPC, EDQUOT, or EFBIG
*) uniform ngx_directio_on/off() interface with other file functions
*) do not create Win32 drive letter in ngx_create_full_path()
*) ignore EACCES errors for top level directories in ngx_create_full_path()
*) 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()
*) 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
*) skip URI trailing spaces under Win32
*) disable Win32 short file names
|
|
ngx_http_parse_time() fixes:
*) use ngx_uint_t instead of int,
strange to say this reduce function size by 16 bytes
*) ngx_http_parse_time() should support full 32-bit time
|
|
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
|
|
*) fix discarding body
*) prevent handling discarded body as a pipelined request
|
|
SSL fixes:
*) $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
|
|
error processing fixes:
*) fail if file size was changed
*) low default connection errors level from alert to error
*) low ENAMETOOLONG logging level
|
|
fix typo in addition_types directive name
|
|
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
|
|
|
|
nginx sent gzipped responses to clients those do not support gzip,
if "gzip_static on" and "gzip_vary off"; the bug had been introduced in r3250
|
|
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
|
|
|
|
fix building by gcc45
|