Commit Graph

2227 Commits

Author SHA1 Message Date
Igor Sysoev
e0ec6a04f5 merge r3945:
fix segfault if cache key is larger than upstream buffer size
patch by Lanshun Zhou
2011-07-19 14:15:50 +00:00
Igor Sysoev
97bf815054 bump version 2011-07-19 14:11:18 +00:00
Igor Sysoev
64926d848a merge r3797:
allocate last zero byte in ngx_crypt()
2010-12-14 19:35:44 +00:00
Igor Sysoev
6527a8e679 merge r3681:
update r->buffered after processing SSI command,
the bug has been probably introduced in r2378
2010-12-14 19:34:29 +00:00
Igor Sysoev
af3064901d merge r3676:
fix case of partially matched patterns on buffer border in sub_filter
2010-12-14 19:32:52 +00:00
Igor Sysoev
ad070b55b8 SSL related fixes:
*) merge r3675:
   fix recognition of SSLv2 Client Hello Packet large than 255 bytes
*) upgrade OpenSSL to 0.8.9q in nginx/Windows
2010-12-14 19:29:57 +00:00
Igor Sysoev
217f8cea3a merge r3659, r3825, r3826:
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
2010-12-14 19:19:07 +00:00
Igor Sysoev
772ecd6cc6 set r->valid_unparsed_uri just after request line processing,
it allows to use X-Accel-Redirect'ed URI in a proxy_pass without URI part
this fix corresponds to r3616
2010-12-14 19:15:08 +00:00
Igor Sysoev
d60cb3f9f7 bump version 2010-12-14 19:10:00 +00:00
Igor Sysoev
5692070547 merge r3615:
do not free() stack allocated buffer
2010-06-15 09:51:58 +00:00
Igor Sysoev
e52c9001f8 bump version 2010-06-15 09:50:55 +00:00
Igor Sysoev
ba08ffbd6b merge r3528:
remove r->zero_in_uri
2010-06-07 12:27:06 +00:00
Igor Sysoev
1839e0d53c merge r3518, r3527:
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
2010-06-07 12:23:23 +00:00
Igor Sysoev
99b468d6bd merge r3502:
use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
2010-06-07 12:17:10 +00:00
Igor Sysoev
9d4085af44 merge r3498, r3499:
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
2010-06-07 12:08:44 +00:00
Igor Sysoev
400683ac91 merge r3489, r3493:
*) MSVC8 compatibility with OpenSSL 1.0.0
*) fix building OpenSSL-1.0.0 on 64-bit Linux:
   make installs the libraries in lib64 directory

and build nginx/Windows against OpenSSL-0.9.8n
2010-06-07 11:55:20 +00:00
Igor Sysoev
a16387eba9 merge r3487, r3525:
rewrite fixes:

*) escape ampersand in argument while rewrite
*) autodetect redirect if URI is rewritten to a string starting with $scheme
2010-06-07 11:51:37 +00:00
Igor Sysoev
7fbe27b79f merge r3488:
revert partially r1555 and fix the error "memcached sent invalid trailer"
2010-06-07 11:49:03 +00:00
Igor Sysoev
6b2bcfcd0d merge r3482:
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-06-07 11:48:19 +00:00
Igor Sysoev
0625f491f4 merge r3515:
fix segfault: ngx_http_upstream_cleanup() cleans r->cleanup,
the bug had been introduced in r3426
2010-06-07 11:46:43 +00:00
Igor Sysoev
4fd0e896db merge r3478:
reset a parsing state to parse correctly an upstream response,
if 400 or 414 response has been redirected to upstream
2010-06-07 11:45:04 +00:00
Igor Sysoev
e66eb15b7b merge r3473, r3474, r3385, r3386, r3537:
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
2010-06-07 10:35:08 +00:00
Igor Sysoev
ea3aaae636 merge r3464, r3500, r3501:
*) 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
2010-06-07 10:26:50 +00:00
Igor Sysoev
ce8183ca7e merge r3460:
allow HTTPS referers
2010-06-07 10:15:21 +00:00
Igor Sysoev
98e044cd86 merge r3459, r3571:
Win32 fixes:

*) compare long file names in case-insensitive mode,
   the bug had been introduced in r3436
*) test default NTFS stream "::$DATA"
2010-06-07 10:14:11 +00:00
Igor Sysoev
49ab49ec55 merge r3456, r3458, r3465:
SSL fixes:

*) decrease SSL handshake error level to info
*) Set SSL session context for "ssl_session_cache none".
   This fixes a bug when client certficate is used and nginx closes connection
   with the message: "SSL_GET_PREV_SESSION:session id context uninitialized".
*) add OpenSSL_add_all_algorithms(), this fixes the error
   "ASN1_item_verify:unknown message digest algorithm" occurred if
   client certificate is signed using sha256WithRSAEncryption
2010-06-07 10:09:14 +00:00
Igor Sysoev
54573bdc1f merge r3457:
fix a geo range if the range includes two or more /16 networks
and does not begin at /16 network boundary
2010-06-07 10:04:13 +00:00
Igor Sysoev
90b8db3224 merge r3454, r3455, r3486, r3496, r3519, r3523:
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
2010-06-07 09:54:19 +00:00
Igor Sysoev
149578df88 merge r3452, r3462, r3471, r3472:
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
2010-06-07 09:36:33 +00:00
Igor Sysoev
3b755fc6c4 merge r3451, r3506:
mail related fixes:

*) delete surplus code
*) Zimbra IMAP server may return only 4 bytes: "+ \r\n"
2010-06-07 09:25:39 +00:00
Igor Sysoev
da6332fa98 merge r3412, r3485:
*) allow a chunked body for 201 responses
*) chunked_transfer_encoding
2010-06-07 09:19:10 +00:00
Igor Sysoev
f4ed65dfaa merge r3399:
$geoip_city_continent_code, $geoip_latitude, $geoip_longitude
2010-06-07 09:06:39 +00:00
Igor Sysoev
e984c7d64f merge r3394, r3395:
force image filter conversion if JPEG application data consume more than 5%
2010-06-07 09:05:18 +00:00
Igor Sysoev
8a9171fa30 merge r3318, r3449:
perl related fixes:

*) do not log error if $r->variable was not found
*) delete ngx_http_perl_cleanup_t unused since r909
2010-06-07 08:51:48 +00:00
Igor Sysoev
575d563e22 merge r3316, r3317, r3420, r3421, r3453:
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+
2010-06-04 17:47:04 +00:00
Igor Sysoev
0a3498289d bump version 2010-06-04 17:38:59 +00:00
Igor Sysoev
d0abd9e4f8 merge r3406:
fix negative time in "Cache-Control" if "expires modified" sets time in the past
2010-02-01 15:56:45 +00:00
Igor Sysoev
c76fa1de09 merge r3351, r3352:
perl exit fixes:

*) use global perl variable in perl_destruct()/perl_free()
   for non-mulitiplicity perl
*) add comment from r2716 commit message
2010-02-01 15:55:48 +00:00
Igor Sysoev
afbfc8b451 merge r3309, r3314, r3315, r3380:
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
2010-02-01 15:54:02 +00:00
Igor Sysoev
c419414db4 merge r3294, r3305:
Fix a bug introduced in r2032: After a child process has read a terminate
message from a channel, the process tries to read the channel again.
The kernel (at least FreeBSD) may preempt the process and sends a SIGIO
signal to a master process. The master process sends a new terminate message,
the kernel switches again to the the child process, and the child process
reads the messages instead of an EAGAIN error. And this may repeat over
and over. Being that the child process can not exit the cycle and test
the termination flag set by the message handler.

The fix disallow the master process to send a new terminate message on
SIGIO signal reception. It may send the message only on SIGALARM signal.
2010-02-01 15:49:36 +00:00
Igor Sysoev
95a5ecb1ac merge r3137, r3198, r3199, r3353, r3370, r3371, r3398, r3399:
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
2010-02-01 15:46:14 +00:00
Igor Sysoev
848cc35a65 merge r3286:
use setproctitle("%s", title)
2010-02-01 15:32:57 +00:00
Igor Sysoev
30a57a1262 merge r3283, r3284:
fix segfault if $limit_rate was logged
fix segfault in SSL if limit_rate is used
2010-02-01 15:20:43 +00:00
Igor Sysoev
94558617d1 merge r3282:
fix "if (!-x ...)"
2010-02-01 15:17:12 +00:00
Igor Sysoev
208bda2807 merge r3138, r3139, r3157, r3158, r3159, r3164, r3165,
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
2010-02-01 15:06:25 +00:00
Igor Sysoev
82f12f7911 merge r3208, r3209:
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
2010-02-01 14:55:53 +00:00
Igor Sysoev
af7e533682 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
2010-02-01 14:52:25 +00:00
Igor Sysoev
30ee8008be merge r3200:
nginx did not close log file set by --error-log-path,
the bug was introduced in r2744
2010-02-01 14:44:43 +00:00
Igor Sysoev
ce7f11c6d0 merge r3163, r3213:
*) fix discarding body
*) prevent handling discarded body as a pipelined request
2010-02-01 14:42:38 +00:00
Igor Sysoev
7a03f30dd2 merge r3155, r3156, r3160, r969, r3191, r3197, r3358:
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
2010-02-01 14:39:16 +00:00