Commit Graph

291 Commits

Author SHA1 Message Date
Igor Sysoev
5fd0931a61 *) host in request line has priority
*) allow several Host headers
*) validate host
2008-05-15 14:44:47 +00:00
Igor Sysoev
7a06fbdcca small fixes 2008-05-13 09:47:52 +00:00
Igor Sysoev
bc5fb294af test user agent in header callback 2008-05-13 09:18:58 +00:00
Igor Sysoev
439e288a1b fix memory leak when ssl_verify_client is on 2008-04-23 18:57:25 +00:00
Igor Sysoev
472233d0a3 invalidate SSL session if there is no valid client certificate 2008-03-10 14:47:07 +00:00
Igor Sysoev
ce30765975 named locations in post_action 2008-02-15 12:46:40 +00:00
Igor Sysoev
57b088d1cc add code missed in r1856 2008-01-09 08:21:57 +00:00
Igor Sysoev
1bc3a93ddf axe old flag remained after ancient "post_accept_timeout" directive 2008-01-08 20:55:27 +00:00
Igor Sysoev
bd68d51407 add code missed in r1830 2008-01-08 20:51:06 +00:00
Igor Sysoev
7b8ed4259b fix socket leak if deferred accept was used 2008-01-04 09:32:12 +00:00
Igor Sysoev
0d68f27748 log right request method 2007-12-30 09:11:19 +00:00
Igor Sysoev
feee7265b5 axe useless r->server_name 2007-12-30 08:15:27 +00:00
Igor Sysoev
cc5956772b log server address 2007-12-30 08:01:50 +00:00
Igor Sysoev
c7a9b7a990 use ngx_http_server_addr() 2007-12-29 16:00:34 +00:00
Igor Sysoev
3f24ae2be2 several changes in server_name:
*) server_name_in_redirect directive and removal of the '*' stub
*) use server address in redirect if host can not be detected
*) ngx_http_server_addr()
*) allow wildcard and regex names to be a main server_name
*) DAV Destination header is tested against Host header
2007-12-29 15:30:39 +00:00
Igor Sysoev
a936b27236 backout r1790 2007-12-27 14:39:05 +00:00
Igor Sysoev
3d70581d45 non-active request is not done 2007-12-27 14:20:50 +00:00
Igor Sysoev
e87afbad35 call post_action for 499 2007-12-27 13:13:34 +00:00
Igor Sysoev
cd2aa8e172 create ssl buffer on demand and free it before keep-alive 2007-12-26 21:07:30 +00:00
Igor Sysoev
12dcb354e9 style fix 2007-12-25 15:31:18 +00:00
Igor Sysoev
acb2f5d8c8 large_client_header_buffers did not free()ed before keep-alive 2007-12-12 15:42:39 +00:00
Igor Sysoev
86ef6aaa6b move condition declarations inside blocks where they are used 2007-12-10 12:09:51 +00:00
Igor Sysoev
58ea0c1aad copy protocol value when large request line is copied,
this fixes error "fastcgi: the request record is too big"
2007-12-01 12:22:48 +00:00
Igor Sysoev
1d4e9b31cc do not allow plain 0.9 request to HTTPS 2007-12-01 11:46:04 +00:00
Igor Sysoev
96dd8af8e6 proxy_pass variables support 2007-11-27 13:34:13 +00:00
Igor Sysoev
a6b5957f92 log entire request line instead of URI only 2007-11-27 12:22:01 +00:00
Igor Sysoev
1d04b14c09 64-bit time_t compatibility 2007-11-15 14:26:36 +00:00
Igor Sysoev
6c2f052744 If-Range support 2007-11-09 15:41:35 +00:00
Igor Sysoev
8decab3dd9 merge_slashes 2007-10-18 11:36:58 +00:00
Igor Sysoev
f53294103b pass length clearly 2007-10-01 12:57:47 +00:00
Igor Sysoev
0659720dc8 use ngx_strstrn() and ngx_strcasestrn() 2007-09-26 19:26:14 +00:00
Igor Sysoev
ec67b19ea0 there may be several "Connection" header lines and each may have several tokens 2007-09-09 18:28:49 +00:00
Igor Sysoev
589fc748ed style fix 2007-09-07 09:29:08 +00:00
Igor Sysoev
4f62b73898 If-Modified-Since should be unique header line 2007-08-29 15:32:49 +00:00
Igor Sysoev
543a6ae513 return 400 response 2007-08-27 20:52:40 +00:00
Igor Sysoev
ae0347afc8 optimize r->connection in ngx_http_finalize_request() 2007-08-27 15:53:00 +00:00
Igor Sysoev
db7b126db2 cancel keep-alive and lingering close on EOF 2007-08-27 15:40:19 +00:00
Igor Sysoev
43c3bf42db regex in server_name 2007-08-12 19:48:12 +00:00
Igor Sysoev
4fbd86829b discard request body before going to keep-alive state and use lingering timeouts 2007-08-07 10:53:27 +00:00
Igor Sysoev
7ab4d9cb55 rename ngx_http_block_read() and ngx_http_test_read() to ..._reading() 2007-08-06 15:22:40 +00:00
Igor Sysoev
f53d0f3177 proxy_ignore_client_abort, fastcgi_ignore_client_abort, and so on were
broken by r1111
2007-07-10 20:53:45 +00:00
Igor Sysoev
9d8a75c525 the "www.example.*" wildcard hash support 2007-06-11 19:49:22 +00:00
Igor Sysoev
62864d1e1e fix ssl_verify_client for HTTP/0.9 2007-06-04 20:40:03 +00:00
Igor Sysoev
e60303cdca SNI support 2007-05-29 15:21:09 +00:00
Igor Sysoev
b4ccb9f5bd $request_time has millisecond precision 2007-04-21 07:50:19 +00:00
Igor Sysoev
3e933d2919 disable TRACE method 2007-03-30 18:59:26 +00:00
Igor Sysoev
4ddeff4956 close keep-alive connections in the shuting down processes 2007-03-19 13:20:15 +00:00
Igor Sysoev
d74b66c82c finalize request to allow post_action 2007-02-15 18:53:48 +00:00
Igor Sysoev
9d58e4bed3 if client closes a connection prematurely, then epoll (at least
in Linux 2.6.16) sends EPOLLERR|EPOLLHUP|EPOLLIN only and writer
does not know about the error
2007-02-15 10:02:34 +00:00
Igor Sysoev
722231f407 ngx_strcasecmp()/ngx_strncasecmp() 2007-02-14 18:51:19 +00:00
Igor Sysoev
8b57df9480 log a real response error code instead of "0" 2007-01-29 11:53:23 +00:00
Igor Sysoev
8d6de94f5b if client closes a connection prematurely, then epoll (at least
in Linux 2.6.18) sends EPOLLERR|EPOLLHUP|EPOLLIN only and writer
does not know about the error
2007-01-19 08:10:06 +00:00
Igor Sysoev
56331ba499 the "Overwrite" header line 2007-01-18 21:11:23 +00:00
Igor Sysoev
1691aaf290 correct an error log message 2007-01-08 18:23:38 +00:00
Igor Sysoev
2316936389 use right status code 2007-01-08 18:22:06 +00:00
Igor Sysoev
36b1edca84 undo r979 2007-01-08 18:20:03 +00:00
Igor Sysoev
f250a6dfba fix segfault 2007-01-06 13:01:26 +00:00
Igor Sysoev
03011fa512 fix segfault when $host is used and
*) request is "GET http://host" without CR or LF, or timed out
*) request is "GET      http://host" with a large blank space
2006-12-15 10:24:57 +00:00
Igor Sysoev
cf100a7827 fix post_action for disconnected client 2006-12-11 08:31:54 +00:00
Igor Sysoev
3d2fd18a39 upstream choice modules 2006-12-04 16:46:13 +00:00
Igor Sysoev
95ead46111 use host part in URL 2006-11-23 20:20:23 +00:00
Igor Sysoev
020ffea637 high level HTTP buffered flags should be on per-subrequest basis,
this fix a bug in SSI when a big static file is included
2006-10-30 20:25:22 +00:00
Igor Sysoev
960100e371 <!--#include virtual=... set=... --> 2006-10-13 15:20:10 +00:00
Igor Sysoev
8a3cdc00ff allowing handling 400 errors via proxy_pass 2006-09-25 17:49:49 +00:00
Igor Sysoev
da173abde0 nginx-0.4.0-RELEASE import
*) Change in internal API: the HTTP modules initialization was moved
       from the init module phase to the HTTP postconfiguration phase.

    *) Change: now the request body is not read beforehand for the
       ngx_http_perl_module: it's required to start the reading using the
       $r->has_request_body method.

    *) Feature: the ngx_http_perl_module supports the DECLINED return code.

    *) Feature: the ngx_http_dav_module supports the incoming "Date" header
       line for the PUT method.

    *) Feature: the "ssi" directive is available inside the "if" block.

    *) Bugfix: a segmentation fault occurred if there was an "index"
       directive with variables and the first index name was without
       variables; the bug had appeared in 0.1.29.
2006-08-30 10:39:17 +00:00
Igor Sysoev
ef31643049 nginx-0.3.59-RELEASE import
*) Feature: now is possible to do several redirection using the
       "error_page" directive.

    *) Bugfix: the "dav_access" directive did not support three parameters.

    *) Bugfix: the "error_page" directive did not changes the
       "Content-Type" header line after the "X-Accel-Redirect" was used;
       the bug had appeared in 0.3.58.
2006-08-16 13:09:33 +00:00
Igor Sysoev
c55a104fcb nginx-0.3.57-RELEASE import
*) Feature: the $ssl_client_serial variable.

    *) Bugfix: in the "!-e" operator of the "if" directive.
       Thanks to Andrian Budanstov.

    *) Bugfix: while a client certificate verification nginx did not send
       to a client the required certificates information.

    *) Bugfix: the $document_root variable did not support the variables in
       the "root" directive.
2006-08-09 19:59:45 +00:00
Igor Sysoev
b71c690895 nginx-0.3.56-RELEASE import
*) Feature: the "dav_access" directive.

    *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e",
       "-x", and "!-x" operators.

    *) Bugfix: a segmentation fault occurred if a request returned a
       redirect and some sent to client header lines were logged in the
       access log.
2006-08-04 16:04:04 +00:00
Igor Sysoev
8f1255877c nginx-0.3.55-RELEASE import
*) Feature: the "stub" parameter in the "include" SSI command.

    *) Feature: the "block" SSI command.

    *) Feature: the unicode2nginx script was added to contrib.

    *) Bugfix: if a "root" was specified by variable only, then the root
       was relative to a server prefix.

    *) Bugfix: if the request contained "//" or "/./" and escaped symbols
       after them, then the proxied request was sent unescaped.

    *) Bugfix: the $r->headers_in("Cookie") of the ngx_http_perl_module now
       returns all "Cookie" header lines.

    *) Bugfix: a segmentation fault occurred if
       "client_body_in_file_only on" was used and nginx switched to a next
       upstream.

    *) Bugfix: on some condition while reconfiguration character codes
       inside the "charset_map" may be treated invalid; the bug had
       appeared in 0.3.50.
2006-07-28 15:16:17 +00:00
Igor Sysoev
bb28b6d3a4 nginx-0.3.54-RELEASE import
*) Feature: nginx now logs the subrequest information to the error log.

    *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and
       "memcached_next_upstream" directives support the "off" parameter.

    *) Feature: the "debug_connection" directive supports the CIDR address
       form.

    *) Bugfix: if a response of proxied server or FastCGI server was
       converted from UTF-8 or back, then it may be transferred incomplete.

    *) Bugfix: the $upstream_response_time variable had the time of the
       first request to a backend only.

    *) Bugfix: nginx could not be built on amd64 platform; the bug had
       appeared in 0.3.53.
2006-07-11 13:20:19 +00:00
Igor Sysoev
1765f47544 nginx-0.3.53-RELEASE import
*) Change: the "add_header" directive adds the string to 204, 301, and
       302 responses.

    *) Feature: the "server" directive in the "upstream" context supports
       the "weight" parameter.

    *) Feature: the "server_name" directive supports the "*" wildcard.

    *) Feature: nginx supports the request body size more than 2G.

    *) Bugfix: if a client was successfully authorized using "satisfy_any
       on", then anyway the message "access forbidden by rule" was written
       in the log.

    *) Bugfix: the "PUT" method may erroneously not create a file and
       return the 409 code.

    *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx
       continued proxying anyway.
2006-07-07 16:33:19 +00:00
Igor Sysoev
ef809b86c3 nginx-0.3.50-RELEASE import
*) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
       directives was renamed to the "proxy_intercept_errors" and
       "fastcgi_intercept_errors" directives.

    *) Feature: the ngx_http_charset_module supports the recoding from the
       single byte encodings to the UTF-8 encoding and back.

    *) Feature: the "X-Accel-Charset" response header line is supported in
       proxy and FastCGI mode.

    *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI
       command was removed only if the command also has the "$" symbol.

    *) Bugfix: the "<!--" string might be added on some conditions in the
       SSI after inclusion.

    *) Bugfix: if the "Content-Length: 0" header line was in response, then
       in nonbuffered proxying mode the client connection was not closed.
2006-06-28 16:00:26 +00:00
Igor Sysoev
afd7ec5357 nginx-0.3.48-RELEASE import
*) Change: now the ngx_http_charset_module works for subrequests, if
       the response has no "Content-Type" header line.

    *) Bugfix: if the "proxy_pass" directive has no URI part, then the
       "proxy_redirect default" directive add the unnecessary slash in
       start of the rewritten redirect.

    *) Bugfix: the internal redirect always transform client's HTTP method
       to GET, now the transformation is made for the "X-Accel-Redirect"
       redirects only and if the method is not HEAD; the bug had appeared
       in 0.3.42.

    *) Bugfix: the ngx_http_perl_module could not be built, if the perl was
       built with the threads support; the bug had appeared in 0.3.46.
2006-05-29 17:28:12 +00:00
Igor Sysoev
6f134cc275 nginx-0.3.47-RELEASE import
*) Feature: the "upstream" directive.

    *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the
       SSI command is always removed.
2006-05-23 14:54:58 +00:00
Igor Sysoev
3338cfdfbc nginx-0.3.46-RELEASE import
*) Feature: the "proxy_hide_header", "proxy_pass_header",
       "fastcgi_hide_header", and "fastcgi_pass_header" directives.

    *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and
       "proxy_pass_server" directives were canceled.

    *) Feature: the "X-Accel-Buffering" response header line is supported
       in proxy mode.

    *) Bugfix: the reconfiguration bug and memory leaks in the
       ngx_http_perl_module.
2006-05-11 14:43:47 +00:00
Igor Sysoev
44d872259c nginx-0.3.45-RELEASE import
*) Feature: the "ssl_verify_client", "ssl_verify_depth", and
       "ssl_client_certificate" directives.

    *) Change: the $request_method variable now returns the main request
       method.

    *) Change: the &deg; symbol codes were changed in koi-win conversion
       table.

    *) Feature: the euro and N symbols were added to koi-win conversion
       table.

    *) Bugfix: if nginx distributed the requests among several backends and
       some backend failed, then requests intended for this backend was
       directed to one live backend only instead of being distributed among
       the rest.
2006-05-06 16:28:56 +00:00
Igor Sysoev
ac72bd17d1 nginx-0.3.44-RELEASE import
*) Feature: the "wait" parameter in the "include" SSI command.

    *) Feature: the Ukrainian and Byelorussian characters were added to
       koi-win conversion table.

    *) Bugfix: in the SSI.
2006-05-04 15:32:46 +00:00
Igor Sysoev
7f7846d820 nginx-0.3.42-RELEASE import
*) Feature: the "bind" option of the "listen" directive in IMAP/POP3
       proxy.

    *) Bugfix: if the same capture in the "rewrite" directive was used more
       then once.

    *) Bugfix: the $sent_http_content_type, $sent_http_content_length,
       $sent_http_last_modified, $sent_http_connection,
       $sent_http_keep_alive, and $sent_http_transfer_encoding variables
       were not written to access log.

    *) Bugfix: the $sent_http_cache_control returned value of the single
       "Cache-Control" response header line.
2006-04-26 09:52:47 +00:00
Igor Sysoev
4ecb4d721d nginx-0.3.41-RELEASE import
*) Feature: the -v switch.

    *) Bugfix: the segmentation fault may occurred if the SSI page has
       remote subrequests.

    *) Bugfix: in FastCGI handling.

    *) Bugfix: if the perl modules path was not set using
       --with-perl_modules_path=PATH or the "perl_modules", then the
       segmentation fault was occurred.
2006-04-21 12:06:44 +00:00
Igor Sysoev
7bdb720d6a nginx-0.3.40-RELEASE import
*) Feature: the ngx_http_dav_module supports the MKCOL method.

    *) Feature: the "create_full_put_path" directive.

    *) Feature: the "$limit_rate" variable.
2006-04-19 15:30:56 +00:00
Igor Sysoev
cdf609a925 nginx-0.3.39-RELEASE import
*) Feature: the "uninitialized_variable_warn" directive; the logging
       level of the "uninitialized variable" message was lowered from
       "alert" to "warn".

    *) Feature: the "override_charset" directive.

    *) Change: now if the unknown variable is used in the "echo" and "if
       expr='$name'" SSI-commands, then the "unknown variable" message is
       not logged.

    *) Bugfix: the active connection counter increased on the exceeding of
       the connection limit specified by the "worker_connections"
       directive; the bug had appeared in 0.2.0.

    *) Bugfix: the limit rate might not work on some condition; the bug had
       appeared in 0.3.38.
2006-04-17 19:55:41 +00:00
Igor Sysoev
8a2b2fb4fb nginx-0.3.38-RELEASE import
*) Feature: the ngx_http_dav_module.

    *) Change: the ngx_http_perl_module optimizations.
       Thanks to Sergey Skvortsov.

    *) Feature: the ngx_http_perl_module supports the $r->request_body_file
       method.

    *) Feature: the "client_body_in_file_only" directive.

    *) Workaround: now on disk overflow nginx tries to write access logs
       once a second only.
       Thanks to Anton Yuzhaninov and Maxim Dounin.

    *) Bugfix: now the "limit_rate" directive more precisely limits rate if
       rate is more than 100 Kbyte/s.
       Thanks to ForJest.

    *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in
       login and password to pass authorization server.
       Thanks to Maxim Dounin.
2006-04-14 09:53:38 +00:00
Igor Sysoev
94e32ce7f8 nginx-0.3.37-RELEASE import
*) Feature: the "limit_except" directive.

    *) Feature: the "if" directive supports the "!~", "!~*", "-f", and
       "!-f" operators.

    *) Feature: the ngx_http_perl_module supports the $r->request_body
       method.

    *) Bugfix: in the ngx_http_addition_filter_module.
2006-04-07 14:08:04 +00:00
Igor Sysoev
6d16e1e1df nginx-0.3.36-RELEASE import
*) Feature: the ngx_http_addition_filter_module.

    *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used
       inside the "if" block.

    *) Feature: the "proxy_ignore_client_abort" and
       "fastcgi_ignore_client_abort" directives.

    *) Feature: the "$request_completion" variable.

    *) Feature: the ngx_http_perl_module supports the $r->request_method
       and $r->remote_addr.

    *) Feature: the ngx_http_ssi_module supports the "elif" command.

    *) Bugfix: the "\/" string in the expression of the "if" command of the
       ngx_http_ssi_module was treated incorrectly.

    *) Bugfix: in the regular expressions in the "if" command of the
       ngx_http_ssi_module.

    *) Bugfix: if the relative path was specified in the
       "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and
       "perl_modules" directives, then the directory was used relatively to
       a current path but not to a server prefix.
2006-04-05 13:40:54 +00:00
Igor Sysoev
8fea885cbf nginx-0.3.33-RELEASE import
*) Feature: the "http_503" parameter of the "proxy_next_upstream" or
       "fastcgi_next_upstream" directives.

    *) Bugfix: ngx_http_perl_module did not work with inlined in the
       configuration code, if it was not started with the "sub" word.

    *) Bugfix: in the "post_action" directive.
2006-03-15 09:53:04 +00:00
Igor Sysoev
69d73da629 nginx-0.3.29-RELEASE import
*) Feature: now nginx uses less memory, if PHP in FastCGI mode sends
       many warnings before the response.

    *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in
       the 204 responses for the HTTP/1.1 requests.

    *) Bugfix: nginx returned the 502 response, if the complete response
       header lines were transferred in a separate FastCGI records.

    *) Bugfix: if the proxied URI was specified in the "post_action"
       directive, then it ran only after a successful completion of a
       request.
2006-02-20 16:48:17 +00:00
Igor Sysoev
c2807ecf45 nginx-0.3.28-RELEASE import
*) Feature: the "restrict_host_names" directive was canceled.

    *) Feature: the --with-cpu-opt=ppc64 configuration parameter.

    *) Bugfix: on some condition the proxied connection with a client was
       terminated prematurely.
       Thanks to Vladimir Shutoff.

    *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into
       account if the request was redirected using the "X-Accel-Redirect"
       header line.

    *) Bugfix: the "post_action" directive ran only after a successful
       completion of a request.

    *) Bugfix: the proxied response body generated by the "post_action"
       directive was transferred to a client.
2006-02-16 15:26:46 +00:00
Igor Sysoev
ffe714403d nginx-0.3.27-RELEASE import
*) Change: the "variables_hash_max_size" and
       "variables_hash_bucket_size" directives.

    *) Feature: the $body_bytes_sent variable can be used not only in the
       "log_format" directive.

    *) Feature: the $ssl_protocol and $ssl_cipher variables.

    *) Feature: the cache line size detection for widespread CPUs at start
       time.

    *) Feature: now the "accept_mutex" directive is supported using
       fcntl(2) on platforms different from i386, amd64, sparc64, and ppc.

    *) Feature: the "lock_file" directive and the --with-lock-path=PATH
       autoconfiguration directive.

    *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
       then the requests with the body was not transferred.
2006-02-08 15:33:12 +00:00
Igor Sysoev
9e58019dc2 nginx-0.3.24-RELEASE import
*) Workaround: for bug in FreeBSD kqueue.

    *) Bugfix: now a response generated by the "post_action" directive is
       not transferred to a client.

    *) Bugfix: the memory leaks were occurring if many log files were used.

    *) Bugfix: the first "proxy_redirect" directive was working inside one
       location.

    *) Bugfix: on 64-bit platforms segmentation fault may occurred on start
       if the many names were used in the "server_name" directives; the bug
       had appeared in 0.3.18.
2006-02-01 18:22:15 +00:00
Igor Sysoev
df3254aa49 nginx-0.3.20-RELEASE import
*) Bugfix: in SSI handling.

    *) Bugfix: the ngx_http_memcached_module did not support the keys in
       the "/usr?args" form.
2006-01-11 15:26:57 +00:00
Igor Sysoev
305a9d83cf nginx-0.3.18-RELEASE import
*) Feature: the "server_names" directive supports the ".domain.tld"
       names.

    *) Feature: the "server_names" directive uses the hash for the
       "*.domain.tld" names and more effective hash for usual names.

    *) Change: the "server_names_hash_max_size" and
       "server_names_hash_bucket_size" directives.

    *) Change: the "server_names_hash" and "server_names_hash_threshold"
       directives were canceled.

    *) Feature: the "valid_referers" directive uses the hash site names.

    *) Change: now the "valid_referers" directive checks the site names
       only without the URI part.

    *) Bugfix: some ".domain.tld" names incorrectly processed by the
       ngx_http_map_module.

    *) Bugfix: segmentation fault was occurred if configuration file did
       not exist; the bug had appeared in 0.3.12.

    *) Bugfix: on 64-bit platforms segmentation fault may occurred on
       start; the bug had appeared in 0.3.16.
2005-12-26 17:07:48 +00:00
Igor Sysoev
2402502c2f nginx-0.3.16-RELEASE import
*) Feature: the ngx_http_map_module.

    *) Feature: the "types_hash_max_size" and "types_hash_bucket_size"
       directives.

    *) Feature: the "ssi_value_length" directive.

    *) Feature: the "worker_rlimit_core" directive.

    *) Workaround: the connection number in logs was always 1 if nginx was
       built by the icc 8.1 or 9.0 compilers with optimization for
       Pentium 4.

    *) Bugfix: the "config timefmt" SSI command set incorrect time format.

    *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
       SSL connections; the bug had appeared in 0.3.13.
       Thanks to Rob Mueller.

    *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
       had appeared in 0.3.13.
2005-12-16 15:07:08 +00:00
Igor Sysoev
cdc463042b nginx-0.3.15-RELEASE import
*) Feature: the new 444 code of the "return" directive to close
       connection.

    *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy.

    *) Bugfix: if there are unclosed connection nginx now calls abort()
       only on gracefull quit and active "debug_points" directive.
2005-12-07 14:51:31 +00:00
Igor Sysoev
d3283ff922 nginx-0.3.13-RELEASE import
*) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS.

    *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and
       /dev/poll methods.

    *) Bugfix: in SSI handling.

    *) Bugfix: now Solaris sendfilev() is not used to transfer the client
       request body to FastCGI-server via the unix domain socket.

    *) Bugfix: the "auth_basic" directive did not disable the
       authorization; the bug had appeared in 0.3.11.
2005-12-05 13:18:09 +00:00
Igor Sysoev
c31a9bb5e3 nginx-0.3.12-RELEASE import
*) Security: if nginx was built with the ngx_http_realip_module and the
       "satisfy_any on" directive was used, then access and authorization
       directives did not work. The ngx_http_realip_module was not built
       and is not built by default.

    *) Change: the "$time_gmt" variable name was changed to "$time_local".

    *) Change: the "proxy_header_buffer_size" and
       "fastcgi_header_buffer_size" directives was renamed to the
       "proxy_buffer_size" and "fastcgi_buffer_size" directives.

    *) Feature: the ngx_http_memcached_module.

    *) Feature: the "proxy_buffering" directive.

    *) Bugfix: the changes in accept mutex handling when the "rtsig" method
       was used; the bug had appeared in 0.3.0.

    *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
       line, then nginx returns the 411 error.

    *) Bugfix: if the "auth_basic" directive was inherited from the http
       level, then the realm in the "WWW-Authenticate" header line was
       without the "Basic realm" text.

    *) Bugfix: if the "combined" format was explicitly specified in the
       "access_log" directive, then the empty lines was written to the log;
       the bug had appeared in 0.3.8.

    *) Bugfix: nginx did not run on the sparc platform under any OS except
       Solaris.

    *) Bugfix: now it is not necessary to place space between the quoted
       string and closing bracket in the "if" directive.
2005-11-26 10:11:11 +00:00
Igor Sysoev
0e5dc5cff6 nginx-0.3.10-RELEASE import
*) Change: the "valid_referers" directive and the "$invalid_referer"
       variable were moved to the new ngx_http_referer_module from the
       ngx_http_rewrite_module.

    *) Change: the "$apache_bytes_sent" variable name was changed to
       "$body_bytes_sent".

    *) Feature: the "$sent_http_..." variables.

    *) Feature: the "if" directive supports the "=" and "!=" operations.

    *) Feature: the "proxy_pass" directive supports the HTTPS protocol.

    *) Feature: the "proxy_set_body" directive.

    *) Feature: the "post_action" directive.

    *) Feature: the ngx_http_empty_gif_module.

    *) Feature: the "worker_cpu_affinity" directive for Linux.

    *) Bugfix: the "rewrite" directive did not unescape URI part in
       redirect, now it is unescaped except the %00-%25 and %7F-%FF
       characters.

    *) Bugfix: nginx could not be built by the icc 9.0 compiler.

    *) Bugfix: if the SSI was enabled for zero size static file, then the
       chunked response was encoded incorrectly.
2005-11-15 13:30:52 +00:00
Igor Sysoev
09c684b2d5 nginx-0.3.8-RELEASE import
*) Security: nginx now checks URI got from a backend in
       "X-Accel-Redirect" header line or in SSI file for the "/../" paths
       and zeroes.

    *) Change: nginx now does not treat the empty user name in the
       "Authorization" header line as valid one.

    *) Feature: the "ssl_session_timeout" directives of the
       ngx_http_ssl_module and ngx_imap_ssl_module.

    *) Feature: the "auth_http_header" directive of the
       ngx_imap_auth_http_module.

    *) Feature: the "add_header" directive.

    *) Feature: the ngx_http_realip_module.

    *) Feature: the new variables to use in the "log_format" directive:
       $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,
       $request_time, $request_length, $upstream_status,
       $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
       $connection, $pipe, and $msec. The parameters in the "%name" form
       will be canceled soon.

    *) Change: now the false variable values in the "if" directive are the
       empty string "" and string starting with "0".

    *) Bugfix: while using proxied or FastCGI-server nginx may leave
       connections and temporary files with client requests in open state.

    *) Bugfix: the worker processes did not flush the buffered logs on
       graceful exit.

    *) Bugfix: if the request URI was changes by the "rewrite" directive
       and the request was proxied in location given by regular expression,
       then the incorrect request was transferred to backend; the bug had
       appeared in 0.2.6.

    *) Bugfix: the "expires" directive did not remove the previous
       "Expires" header.

    *) Bugfix: nginx may stop to accept requests if the "rtsig" method and
       several worker processes were used.

    *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in
       SSI commands.

    *) Bugfix: if the response was ended just after the SSI command and
       gzipping was used, then the response did not transferred complete or
       did not transferred at all.
2005-11-09 17:25:55 +00:00
Igor Sysoev
9ac946bcc9 nginx-0.3.6-RELEASE import
*) Change: now the IMAP/POP3 proxy do not send the empty login to
       authorization server.

    *) Feature: the "log_format" supports the variables in the $name form.

    *) Bugfix: if at least in one server was no the "listen" directive,
       then nginx did not listen on the 80 port; the bug had appeared in
       0.3.3.

    *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the
       the 80 port was always used.
2005-10-24 15:09:41 +00:00
Igor Sysoev
055951dc96 nginx-0.3.5-RELEASE import
*) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login
       was changed by authorization server; the bug had appeared in 0.2.2.

    *) Bugfix: the accept mutex did not work and all connections were
       handled by one process; the bug had appeared in 0.3.3.

    *) Bugfix: the timeout did not work if the "rtsig" method and the
       "timer_resolution" directive were used.
2005-10-21 19:12:18 +00:00
Igor Sysoev
c2068d08f0 nginx-0.3.3-RELEASE import
*) Change: the "bl" and "af" parameters of the "listen" directive was
       renamed to the "backlog" and "accept_filter".

    *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
       directive.

    *) Change: the "$msec" log parameter does not require now the
       additional the gettimeofday() system call.

    *) Feature: the -t switch now tests the "listen" directives.

    *) Bugfix: if the invalid address was specified in the "listen"
       directive, then after the -HUP signal nginx left an open socket in
       the CLOSED state.

    *) Bugfix: the mime type may be incorrectly set to default value for
       index file with variable in the name; the bug had appeared in 0.3.0.

    *) Feature: the "timer_resolution" directive.

    *) Feature: the millisecond "$upstream_response_time" log parameter.

    *) Bugfix: a temporary file with client request body now is removed
       just after the response header was transferred to a client.

    *) Bugfix: OpenSSL 0.9.6 compatibility.

    *) Bugfix: the SSL certificate and key file paths could not be relative.

    *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in
       the ngx_imap_ssl_module.

    *) Bugfix: the "ssl_protocols" directive allowed to specify the single
       protocol only.
2005-10-19 12:33:58 +00:00