Commit Graph

2761 Commits

Author SHA1 Message Date
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
Igor Sysoev
987f1e5fcc 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
Igor Sysoev
d23a267964 merge r3147:
fix typo in addition_types directive name
2010-02-01 14:24:20 +00:00
Igor Sysoev
12c54b3871 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
2010-02-01 14:16:45 +00:00
Igor Sysoev
13653be34e 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
2010-02-01 14:04:20 +00:00
Igor Sysoev
393300584e 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
2010-02-01 14:01:24 +00:00
Igor Sysoev
ab00f26759 merge r3408:
update year
2010-02-01 13:53:14 +00:00
Igor Sysoev
f0f2cb6d01 bump version 2010-02-01 13:50:03 +00:00
Igor Sysoev
ee6f95f723 release-0.7.64 tag 2009-11-16 15:29:47 +00:00
Igor Sysoev
a49413511a nginx-0.7.64-RELEASE 2009-11-16 15:29:46 +00:00
Igor Sysoev
0da83434d7 r3301 merge:
disable SSL renegotiation (CVE-2009-3555)
2009-11-16 15:24:39 +00:00
Igor Sysoev
41063b3f03 r3141 merge:
fix posix_memalign() error handling
2009-11-16 15:22:03 +00:00
Igor Sysoev
bf6c11e928 r3313 merge:
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
2009-11-16 15:16:47 +00:00
Igor Sysoev
de6c14ed3e r3140, r3144, r3298, r3299, r3300, r3307, r3308 merge:
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
2009-11-16 15:13:02 +00:00
Igor Sysoev
9a61c9e761 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
2009-11-16 15:00:13 +00:00
Igor Sysoev
664ca88d33 bump version 2009-11-16 14:52:22 +00:00
Igor Sysoev
50f96713b7 release-0.7.63 tag 2009-10-26 17:57:37 +00:00
Igor Sysoev
2cedf150a4 nginx-0.7.63-RELEASE 2009-10-26 17:57:36 +00:00
Igor Sysoev
cba1137020 merge r3185:
fix building by gcc45
2009-10-26 17:46:25 +00:00
Igor Sysoev
8232053651 merge r3162, r3183:
WebDAV fixes:

*) check unsafe Destination
*) omit '\0' from "Location" header on MKCOL request
2009-10-26 17:45:55 +00:00
Igor Sysoev
5aa449e8ff merge r3079:
discard request body before returning 413 error,
this fixes custom 413 page redirection bug introduced in r1456
2009-10-26 17:40:07 +00:00
Igor Sysoev
bc286e0604 merge r2976:
allow underscore in request method
2009-10-26 17:37:18 +00:00
Igor Sysoev
6427b81842 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
2009-10-26 17:34:43 +00:00
Igor Sysoev
efdaec7003 merge r3024, r3025, r3028, r3033, r3034, r3035, r3036:
allow cross device temporary files atomic copying
2009-10-26 17:32:17 +00:00
Igor Sysoev
7571f6c962 merge r3017, r3018, r3019, r3020, r3021, r3022, r3023, r3196:
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.
2009-10-26 17:23:49 +00:00
Igor Sysoev
7201f40d9f 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
2009-10-26 17:13:44 +00:00
Igor Sysoev
6118897e33 merge r3001, r3007, r3013:
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
2009-10-26 17:09:27 +00:00
Igor Sysoev
f3c5789e7d merge r2999, r3118, r3134, r3135:
various image filter fixes and features:

*) variables support in image_filter
*) fix transparency in GIF
*) fix alpha-channel transparency in PNG
*) image_filter_transparency
2009-10-26 16:56:49 +00:00
Igor Sysoev
99daa8e5d4 merge r2995, r2996, r2997, r2998, r3003, r3141, r3210, r3211, r3232:
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
2009-10-26 16:53:34 +00:00
Igor Sysoev
bedabd488c merge r2993:
geo module supports trusted proxies
2009-10-26 16:42:19 +00:00
Igor Sysoev
703b5e9043 merge r2986, r2992, r3032:
ngx_http_geoip_module
2009-10-26 16:38:44 +00:00
Igor Sysoev
66f4b80a0e 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
2009-10-26 16:30:34 +00:00
Igor Sysoev
39625e5c46 merge r2972, r2994, r3133, r3142, r3143, r3174, r3175, r3176:
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
2009-10-26 16:22:24 +00:00
Igor Sysoev
f10b4e07a5 merge r2920, r2934, r3116, r3119:
style fixes
2009-10-26 16:06:11 +00:00
Igor Sysoev
f7f963d779 merge r2903, r2911, r2912, r3002:
fix various failures handling
2009-10-26 15:54:29 +00:00
Igor Sysoev
df30d3db56 merge r2908:
limit_rate_after
2009-10-26 15:46:59 +00:00
Igor Sysoev
10a04dbf27 merge r2890, r2891, r2892:
refactor ngx_http_charset_header_filter()
2009-10-26 15:37:54 +00:00
Igor Sysoev
90abbf2e23 bump version 2009-10-26 15:32:50 +00:00