Commit graph

2747 commits

Author SHA1 Message Date
Igor Sysoev
0fa6d231bc release-0.7.67 tag 2010-06-15 09:55:01 +00:00
Igor Sysoev
87fc2486af nginx-0.7.67-RELEASE 2010-06-15 09:55:00 +00:00
Igor Sysoev
86fa681d16 merge r3615:
do not free() stack allocated buffer
2010-06-15 09:51:58 +00:00
Igor Sysoev
784e96770e bump version 2010-06-15 09:50:55 +00:00
Igor Sysoev
31ada09e06 release-0.7.66 tag 2010-06-07 12:41:32 +00:00
Igor Sysoev
9e711c55b6 nginx-0.7.66-RELEASE 2010-06-07 12:41:31 +00:00
Igor Sysoev
d8020e69f5 merge r3528:
remove r->zero_in_uri
2010-06-07 12:27:06 +00:00
Igor Sysoev
4bda43e5b9 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
7637e17aac merge r3502:
use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
2010-06-07 12:17:10 +00:00
Igor Sysoev
f40f491092 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
8b6279ef16 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
8258c50bbb 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
f93f77f431 merge r3488:
revert partially r1555 and fix the error "memcached sent invalid trailer"
2010-06-07 11:49:03 +00:00
Igor Sysoev
64a572cb8c 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
584e7aefb0 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
b61109cc00 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
fc9853f61c merge r3477:
zlib 1.2.4 compatibility
2010-06-07 10:37:58 +00:00
Igor Sysoev
8b45b8d1b4 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
bb699ffdb2 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
9e81dfc1d4 merge r3460:
allow HTTPS referers
2010-06-07 10:15:21 +00:00
Igor Sysoev
54f0e8ae0a 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
5ff6279efa 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
8a0e2616c2 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
3baed8e663 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
f3a89a2cd3 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
e6365cd48e 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
edebdd6404 merge r3412, r3485:
*) allow a chunked body for 201 responses
*) chunked_transfer_encoding
2010-06-07 09:19:10 +00:00
Igor Sysoev
b1a13a3501 merge r3399:
$geoip_city_continent_code, $geoip_latitude, $geoip_longitude
2010-06-07 09:06:39 +00:00
Igor Sysoev
974c49330c 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
5427dc9ee5 merge r3368, r3392:
./configure related fixes:

*) test invalid --with-ld-opt in right place
*) do not add NGX_GCC_OPT twice: it is added later with -W
2010-06-07 09:01:46 +00:00
Igor Sysoev
d916bacca5 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
47762239ef 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
68a58c361d bump version 2010-06-04 17:38:59 +00:00
Igor Sysoev
838eb01a8b release-0.7.65 tag 2010-02-01 16:09:16 +00:00
Igor Sysoev
eee52d16e8 nginx-0.7.65-RELEASE 2010-02-01 16:09:15 +00:00
Igor Sysoev
d13451937a 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
6eb6500651 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
d1378313b6 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
ac11ecdcb2 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
6f400f8a46 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
9d87953f67 merge r3286:
use setproctitle("%s", title)
2010-02-01 15:32:57 +00:00
Igor Sysoev
7ac538bd2a 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
8059c8bb5c merge r3282:
fix "if (!-x ...)"
2010-02-01 15:17:12 +00:00
Igor Sysoev
553388bca1 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
45ccf9336a 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
f846765797 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
651ae60661 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
324484a59c merge r3163, r3213:
*) fix discarding body
*) prevent handling discarded body as a pipelined request
2010-02-01 14:42:38 +00:00
Igor Sysoev
70a7d24817 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
Igor Sysoev
87706c49c3 merge r3148, r3152, r3161:
error processing fixes:

*) fail if file size was changed
*) low default connection errors level from alert to error
*) low ENAMETOOLONG logging level
2010-02-01 14:31:26 +00:00