Commit graph

819 commits

Author SHA1 Message Date
Igor Sysoev
2adcffe7f7 allow the upstream modules to send a header only 2007-01-15 17:12:43 +00:00
Igor Sysoev
9ad4d312d9 add debug logging for FastCGI zero size buf alert 2007-01-15 16:00:51 +00:00
Igor Sysoev
eeb2bc3d05 ngx_strn2cmp() > ngx_memn2cmp() 2007-01-12 21:58:02 +00:00
Igor Sysoev
3ba3eb196b style fix 2007-01-12 21:57:20 +00:00
Igor Sysoev
3369ed8af3 fix duplicate rbtree keys case 2007-01-12 20:38:17 +00:00
Igor Sysoev
ad13a152a8 style fix: remove tabs 2007-01-12 20:26:39 +00:00
Igor Sysoev
cde44f2377 stop rbtree search early if equal hash was found 2007-01-11 16:57:30 +00:00
Igor Sysoev
97e64a714e test length of variable and number of connections 2007-01-11 16:50:06 +00:00
Igor Sysoev
ed9b8542fc fix segfault 2007-01-09 22:04:40 +00:00
Igor Sysoev
4fa3bfa639 fix connection counter in subrequests 2007-01-09 20:58:41 +00:00
Igor Sysoev
a2407589e8 fix typo 2007-01-09 20:57:49 +00:00
Igor Sysoev
8dfe18d338 bump version 2007-01-09 20:57:24 +00:00
Igor Sysoev
02570198d9 do not count connection for subrequest 2007-01-09 16:26:53 +00:00
Igor Sysoev
a40037fd87 pass the inherited shm_zone data 2007-01-09 15:59:20 +00:00
Igor Sysoev
65278e8284 correct an error log message 2007-01-08 18:23:38 +00:00
Igor Sysoev
2750b8ef74 use right status code 2007-01-08 18:22:06 +00:00
Igor Sysoev
7e38e2b687 undo r979 2007-01-08 18:20:03 +00:00
Igor Sysoev
792a386511 new syntax 2007-01-07 18:52:34 +00:00
Igor Sysoev
01bbae0b75 ngx_http_realip_module must return NGX_DECLINED 2007-01-07 18:45:55 +00:00
Igor Sysoev
b619e8357a count connection once per request 2007-01-07 17:47:17 +00:00
Igor Sysoev
ab3999bb3d ngx_http_variable_binary_remote_addr() 2007-01-07 13:36:56 +00:00
Igor Sysoev
024f16d8fa $binary_remote_addr 2007-01-07 13:35:08 +00:00
Igor Sysoev
aadd58feff fix key length and alignment 2007-01-07 09:18:26 +00:00
Igor Sysoev
f77b9a5710 ngx_http_limit_zone_module 2007-01-06 18:52:46 +00:00
Igor Sysoev
2bab3862cd fix segfault 2007-01-06 13:01:26 +00:00
Igor Sysoev
c39502dcaf move the session cache callbacks to the ngx_openssl_module 2007-01-03 15:25:40 +00:00
Igor Sysoev
7e1f8df4d5 ssl_session_cache 2007-01-02 23:55:05 +00:00
Igor Sysoev
0f57832db9 style fix: scf > sscf 2007-01-02 23:50:10 +00:00
Igor Sysoev
4b2ed12c5f style fix 2007-01-02 23:41:54 +00:00
Igor Sysoev
c845a243e6 ngx_ssl_get_server_conf() 2007-01-02 23:37:25 +00:00
Igor Sysoev
202e3f2397 move ranges array to ngx_http_range_filter_ctx_t 2006-12-29 08:02:31 +00:00
Igor Sysoev
b8d09631fd support ranges for single memory buffer 2006-12-29 07:47:37 +00:00
Igor Sysoev
317aa48a17 fix the previous commit 2006-12-29 07:01:11 +00:00
Igor Sysoev
53b6cdab76 fix range in $r->sendfile 2006-12-28 20:55:25 +00:00
Igor Sysoev
1b587fb995 style fix 2006-12-28 20:12:03 +00:00
Igor Sysoev
54f5c78b41 recursive DELETE 2006-12-25 12:38:44 +00:00
Igor Sysoev
64b76b0fc6 limit the ngx_http_index_module methods to GET, HEAD and POST 2006-12-25 12:37:04 +00:00
Igor Sysoev
abcebb92e3 style fix: remove trailing spaces 2006-12-24 21:07:34 +00:00
Igor Sysoev
7a05b38603 bump version 2006-12-24 18:42:26 +00:00
Igor Sysoev
a3478c164c fix segfault 2006-12-22 13:05:07 +00:00
Igor Sysoev
11758d23e5 fix debug log 2006-12-20 19:38:06 +00:00
Igor Sysoev
1c0748753a 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
4b45b98dda bump version 2006-12-14 23:22:34 +00:00
Igor Sysoev
1fcebf6b14 fix segfault when $host is used and request is "GET http://host HTTP/1.0" 2006-12-14 22:42:52 +00:00
Igor Sysoev
843db60172 allow "perl" inside "limit_except" 2006-12-14 22:13:33 +00:00
Igor Sysoev
4900b8288a DELETE may not have the "Depth" header 2006-12-14 22:12:42 +00:00
Igor Sysoev
670f53f17a fix number of arguments 2006-12-14 22:11:52 +00:00
Igor Sysoev
5bc3d39eee bump version 2006-12-13 15:11:27 +00:00
Igor Sysoev
b395b435d7 fix msvc build failure 2006-12-13 15:06:46 +00:00
Igor Sysoev
014278757d $r->status 2006-12-13 13:49:56 +00:00
Igor Sysoev
2142f717bc add HTTP response codes 2006-12-13 12:31:58 +00:00
Igor Sysoev
1bafd0a755 fix ngx_http_perl_sleep_handler() 2006-12-13 12:30:57 +00:00
Igor Sysoev
ab48ef48de $r->variable() supports perl only variables 2006-12-12 22:06:03 +00:00
Igor Sysoev
c8cd19970d $r->sleep() 2006-12-12 20:59:24 +00:00
Igor Sysoev
de09e1081d style fix 2006-12-12 20:58:41 +00:00
Igor Sysoev
d64cedb8a0 fix $r->has_request_body() 2006-12-12 20:57:48 +00:00
Igor Sysoev
efa89c7b73 axe ngx_http_perl_cleanup_sv(): all SVs should be freed
by perl_free() in ngx_http_perl_cleanup_perl()
2006-12-12 20:06:04 +00:00
Igor Sysoev
2581c8a93e $r->log_error() 2006-12-12 19:33:13 +00:00
Igor Sysoev
a01e63ea8c rewritten upstream 2006-12-12 16:46:16 +00:00
Igor Sysoev
706f559bf2 fix highly unlikely bug 2006-12-12 15:46:53 +00:00
Igor Sysoev
a8b98f8138 bump version 2006-12-12 14:17:04 +00:00
Igor Sysoev
b70d716e37 upstream name was tried to resolve 2006-12-11 15:12:07 +00:00
Igor Sysoev
4f7ae44085 bump version 2006-12-11 11:05:54 +00:00
Igor Sysoev
e522905cba fix fastcgi and memcached upstreams 2006-12-11 08:59:30 +00:00
Igor Sysoev
97b82cce5b fix post_action for disconnected client 2006-12-11 08:31:54 +00:00
Igor Sysoev
d09a1338c0 TCP upstreams always used the first TCP upstream with the same name 2006-12-11 08:25:03 +00:00
Igor Sysoev
ab868cb984 fix when last htpasswd line has no CR or LF 2006-12-06 14:17:42 +00:00
Igor Sysoev
142e502379 the previous fix does not actually fix overflow 2006-12-06 11:33:18 +00:00
Igor Sysoev
df7522365d fix msec overflow 2006-12-05 20:30:05 +00:00
Igor Sysoev
7e3ada8d58 bump version 2006-12-04 17:05:07 +00:00
Igor Sysoev
2eb4b164a3 upstream choice modules 2006-12-04 16:46:13 +00:00
Igor Sysoev
f7c6a22b0e the PERL_NO_GET_CONTEXT is actually required, see perlguts 2006-11-28 13:20:34 +00:00
Igor Sysoev
92348373ed axe old % log format 2006-11-27 14:46:15 +00:00
Igor Sysoev
72c87dc591 bump version to 0.5.0 2006-11-27 14:34:42 +00:00
Igor Sysoev
2d11730e6c add comment 2006-11-26 16:56:41 +00:00
Igor Sysoev
c76f9ff4cc fix segfaults in future workers those will use old configuration,
if new configuration failed
2006-11-26 15:35:02 +00:00
Igor Sysoev
97fd87d7ff Axe several perl interpreter instances: they may be useful in currently
unsupported threaded environment, but now they complicate code:
*) perl_clone() requires at least duplicating nginx stash;
*) the multiplicity requires to re-evalute all precompiled subroutines
   and nginx stash in new interpreter context.
2006-11-26 14:35:27 +00:00
Igor Sysoev
bdd1a85885 add debug logging 2006-11-25 23:27:34 +00:00
Igor Sysoev
c6544873dc fix recursive perl_set variable call 2006-11-25 23:27:06 +00:00
Igor Sysoev
245cac86b3 it seems the PERL_NO_GET_CONTEXT was needed to disable warnings only 2006-11-25 23:24:24 +00:00
Igor Sysoev
e21e32fe48 style fix 2006-11-25 23:23:27 +00:00
Igor Sysoev
662d2264f9 axe unused code 2006-11-24 13:19:13 +00:00
Igor Sysoev
ef4b13c803 use host part in URL 2006-11-23 20:20:23 +00:00
Igor Sysoev
4432c4b427 fix negative upstream response time 2006-11-15 20:51:07 +00:00
Igor Sysoev
d817072db9 bump version 2006-11-15 20:07:57 +00:00
Igor Sysoev
7e80a1d6e4 fix add_before_body without add_after_body 2006-11-14 13:15:08 +00:00
Igor Sysoev
22961c4e65 debug log should not be under rewrite_log control 2006-11-14 12:45:03 +00:00
Igor Sysoev
eeb8802d21 add more WebDAV methods 2006-11-14 12:43:48 +00:00
Igor Sysoev
3ad30e538a allow proxy_pass inside limit_except 2006-11-14 12:43:14 +00:00
Igor Sysoev
2d03ba8d15 charset could not be set for ngx_http_autoindex_module responses 2006-11-13 20:53:37 +00:00
Igor Sysoev
a72cc1c3ab fix big client body receiving with deferred accept() 2006-11-13 20:40:17 +00:00
Igor Sysoev
50eea191f1 fix subrequest limit 2006-11-02 13:48:28 +00:00
Igor Sysoev
f1d7767f02 fix subrequest limit 2006-11-02 13:38:25 +00:00
Igor Sysoev
11f8d8f772 bump version 2006-10-31 15:41:41 +00:00
Igor Sysoev
3abf68faae $r->variable 2006-10-31 14:46:48 +00:00
Igor Sysoev
1e95e63a4d style fix 2006-10-31 12:30:24 +00:00
Igor Sysoev
170cb264e4 style fix 2006-10-31 12:27:32 +00:00
Igor Sysoev
b39d489079 treat '\' as special character in win32 only 2006-10-30 20:36:54 +00:00
Igor Sysoev
81fcc229f4 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
1c5fb6d67c style fix 2006-10-28 14:36:44 +00:00
Igor Sysoev
669ba6fe8b undo the previous wrong commit 2006-10-28 14:32:39 +00:00
Igor Sysoev
9f65986dd4 bad commit 2006-10-28 14:20:13 +00:00
Igor Sysoev
96a698688e change order 2006-10-28 13:59:56 +00:00
Igor Sysoev
ee71f8d12b optimize the most frequent cases 2006-10-28 12:04:43 +00:00
Igor Sysoev
20b35d255f handle the most frequent case first 2006-10-28 10:47:11 +00:00
Igor Sysoev
7fbfd90217 axe unused state 2006-10-28 10:42:24 +00:00
Igor Sysoev
35ae5e5e6b omit "#fragment" 2006-10-28 10:15:31 +00:00
Igor Sysoev
cc529878c7 we do not need the zero terminated r->uri for a long time 2006-10-28 08:45:01 +00:00
Igor Sysoev
397300b08f bump version 2006-10-25 16:33:40 +00:00
Igor Sysoev
1f07b676ad style fix: remove trailing spaces 2006-10-25 16:19:03 +00:00
Igor Sysoev
32049cf056 fix alias without trailing slash 2006-10-25 15:36:11 +00:00
Igor Sysoev
99c4f7ea7e axe unused code 2006-10-25 14:13:27 +00:00
Igor Sysoev
ade0afecfc $r->allow_ranges 2006-10-25 13:56:32 +00:00
Igor Sysoev
16cc04abd4 now the "memcached_pass" directive uses ngx_parse_url() 2006-10-24 13:50:35 +00:00
Igor Sysoev
ee524b7a9f now the "listen" directives use ngx_parse_url() 2006-10-24 13:06:55 +00:00
Igor Sysoev
affb5b7fb1 bump version 2006-10-23 13:50:51 +00:00
Igor Sysoev
95905bd8b9 NULL is short way 2006-10-20 19:10:16 +00:00
Igor Sysoev
6f259f2882 fix segfault if $server_addr failed 2006-10-20 19:07:50 +00:00
Igor Sysoev
cac6960d1e downgrade gravity of getsockname() errors 2006-10-18 14:27:16 +00:00
Igor Sysoev
f510d8da61 style fix: remove trailing spaces 2006-10-17 16:13:49 +00:00
Igor Sysoev
d084fb13b2 backout r783 and add comment 2006-10-17 12:47:14 +00:00
Igor Sysoev
26ae243b04 fix building by Debian gcc-4.1.2 amd64 2006-10-16 13:29:52 +00:00
Igor Sysoev
1d99203fc2 add 255th array element 2006-10-16 11:28:33 +00:00
Igor Sysoev
837825f987 allow ranges for full flv files 2006-10-16 07:47:00 +00:00
Igor Sysoev
4453ed780c bump version 2006-10-13 15:47:56 +00:00
Igor Sysoev
2951035076 <!--#include virtual=... set=... --> 2006-10-13 15:20:10 +00:00
Igor Sysoev
2224029000 check nginx.pm version 2006-10-12 19:55:15 +00:00
Igor Sysoev
dc44c53272 previous commit broke two modules 2006-10-12 13:56:16 +00:00
Igor Sysoev
888f0963a3 remove r->root_length 2006-10-12 13:36:54 +00:00
Igor Sysoev
ae8b56c96e compact r->http_minor and r->http_major 2006-10-12 13:08:26 +00:00
Igor Sysoev
1588bea234 fix <!--#include virtual=... wait="yes" -->
r766 did not fix the bug too
2006-10-11 14:33:38 +00:00
Igor Sysoev
0ceca90243 fix <!--#include virtual=... wait="yes" -->
r759 did not fix the bug
2006-10-11 09:12:01 +00:00
Igor Sysoev
446703e78b do not send flv header for full file 2006-10-11 05:33:15 +00:00
Igor Sysoev
ade46108fc variable should not be found if no request body file 2006-10-11 05:32:39 +00:00
Igor Sysoev
5f40394edf $request_body_file 2006-10-10 15:50:08 +00:00
Igor Sysoev
6668133b27 fix <!--#include virtual=... wait="yes" --> 2006-10-10 14:30:39 +00:00
Igor Sysoev
c2110f4203 not do ngx_http_upstream_finalize_request() twice 2006-10-10 13:17:58 +00:00
Igor Sysoev
e099531426 fix building introduced by previous commit 2006-10-10 13:12:13 +00:00
Igor Sysoev
db4ad44852 finalize nonbuffered request on timeout 2006-10-10 13:11:06 +00:00
Igor Sysoev
9193c0de97 style fix: remove trailing spaces 2006-10-09 15:38:59 +00:00
Igor Sysoev
45895792ad ngx_http_flv_module 2006-10-09 14:17:36 +00:00
Igor Sysoev
21eda6c3d9 ngx_http_charset_module supports the variables 2006-10-09 14:16:36 +00:00
Igor Sysoev
82811fd36d align hash bucket size to cache line 2006-10-09 14:03:16 +00:00
Igor Sysoev
73fbb2012a fix hash building on unknown 64-bit platform 2006-10-06 15:06:02 +00:00
Igor Sysoev
c95b04928a nonexistent $sent_http_content has value of $sent_http_content_length or so 2006-10-05 15:09:26 +00:00
Igor Sysoev
93851e386f $r->headers_out("Content-Length", "NNN") did not work 2006-10-05 15:05:47 +00:00
Igor Sysoev
157f2db907 after redirecting by error_page any rewrite directive will return this code,
bug introduced in r727
2006-10-03 18:06:44 +00:00
Igor Sysoev
a8c52c9fe0 nginx-0.4.4-RELEASE
fix msvc build failure introduced by previous commit
2006-10-02 11:44:21 +00:00
Igor Sysoev
a897f30416 $scheme variable 2006-10-02 11:07:36 +00:00
Igor Sysoev
85e48a977d set "Content-Length: 0" for errors handled by "return 204" 2006-10-02 10:22:51 +00:00
Igor Sysoev
537a359d58 expires max 2006-10-02 08:53:30 +00:00
Igor Sysoev
df8bceb909 fix: "return" always overrode "error_page" response code 2006-10-02 08:37:11 +00:00
Igor Sysoev
bb7344dd79 fix segfault when zero length file is PUT 2006-10-01 07:17:01 +00:00
Igor Sysoev
1344636837 fix proxy_redirect with variable 2006-09-26 21:15:52 +00:00
Igor Sysoev
157ee76652 ancient browsers support in ngx_http_browser_module 2006-09-26 12:19:34 +00:00
Igor Sysoev
985ea28c91 fix msvc build failure introduced by previous commit 2006-09-25 20:04:54 +00:00
Igor Sysoev
7ecec111f4 allowing handling 400 errors via proxy_pass 2006-09-25 17:49:49 +00:00
Igor Sysoev
ea933c783f disable "error_page 499 ..." 2006-09-25 17:48:34 +00:00
Igor Sysoev
8de7b43358 long user-agent bugfix 2006-09-25 08:56:52 +00:00
Igor Sysoev
ee79b26107 ssi did work with memcached and nonbuffered responses 2006-09-23 15:55:54 +00:00
Igor Sysoev
9cf3ea8c01 delete blank line 2006-09-23 13:02:57 +00:00
Igor Sysoev
bf4fededf5 remove startup debug logging 2006-09-18 14:36:19 +00:00
Igor Sysoev
8f56b8d4f4 ngx_http_browser_module 2006-09-18 12:25:07 +00:00
Igor Sysoev
4093054706 backout O_NOATIME support, it requires CAP_FOWNER capability 2006-09-14 15:05:48 +00:00
Igor Sysoev
eb29c3c8fc Linux O_NOATIME support 2006-09-01 05:15:56 +00:00
Igor Sysoev
ee7c6d3fbe fix typo 2006-08-31 10:40:45 +00:00
Igor Sysoev
a5719ead3e 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
227af605d4 nginx-0.3.61-RELEASE import
*) Change: now the "tcp_nodelay" directive is turned on by default.

    *) Feature: the "msie_refresh" directive.

    *) Feature: the "recursive_error_pages" directive.

    *) Bugfix: the "rewrite" directive returned incorrect redirect, if the
       redirect had the captured escaped symbols from original URI.
2006-08-28 16:57:48 +00:00
Igor Sysoev
c82c0937ce nginx-0.3.60-RELEASE import
*) Bugfix: a worker process may got caught in an endless loop while an
       error redirection; the bug had appeared in 0.3.59.
2006-08-18 14:17:54 +00:00
Igor Sysoev
fd09392ca9 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
fb2d2aadb0 nginx-0.3.58-RELEASE import
*) Feature: the "error_page" directive supports the variables.

    *) Change: now the procfs interface instead of sysctl is used on Linux.

    *) Change: now the "Content-Type" header line is inherited from first
       response when the "X-Accel-Redirect" was used.

    *) Bugfix: the "error_page" directive did not redirect the 413 error.

    *) Bugfix: the trailing "?" did not remove old arguments if no new
       arguments were added to a rewritten URI.

    *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
2006-08-14 15:09:38 +00:00
Igor Sysoev
6d3f4f310f 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
f08b1910d9 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
4c8a3ba101 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
10a8d1d59b 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
cf1e69ba43 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
bc679fc732 nginx-0.3.52-RELEASE import
*) Change: the ngx_http_index_module behavior for the "POST /" requests
       is reverted to the 0.3.40 version state: the module now does not
       return the 405 error.

    *) Bugfix: the worker process may got caught in an endless loop if the
       limit rate was used; the bug had appeared in 0.3.37.

    *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even
       if the recoding was not needed; the bug had appeared in 0.3.50.

    *) Bugfix: if a code response of the PUT request was 409, then a
       temporary file was not removed.
2006-07-03 16:49:20 +00:00
Igor Sysoev
33a1fca2cc nginx-0.3.51-RELEASE import
*) Bugfix: the "<" symbols might disappeared some conditions in the
       SSI; the bug had appeared in 0.3.50.
2006-06-30 12:19:32 +00:00
Igor Sysoev
946811c6b2 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
52e4a6f835 nginx-0.3.49-RELEASE import
*) Bugfix: in the "set" directive.

    *) Bugfix: if two or more FastCGI subrequests was in SSI, then first
       subrequest output was included instead of second and following
       subrequests.
2006-05-31 14:11:45 +00:00
Igor Sysoev
5bb8719d12 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
0dd08e0442 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
4b172a64e1 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
8bbd64c5a6 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
074cac4d6d 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
e578a1aeba nginx-0.3.43-RELEASE import
*) Bugfix: in the SSI.
2006-04-26 15:21:08 +00:00
Igor Sysoev
8ebceb103a 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
fe40b6455c 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
c2af150027 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
6b0949e4d8 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
b9bf2e330d 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
4d7578b829 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
d17850e685 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
9873078d0c nginx-0.3.35-RELEASE import
*) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set
       for first "listen" directive only; the bug had appeared in 0.3.31.

    *) Bugfix: in the "proxy_pass" directive without the URI part in a
       subrequest.
2006-03-28 12:24:47 +00:00
Igor Sysoev
392bbc9380 nginx-0.3.34-RELEASE import
*) Feature: the "add_header" directive supports the variables.
2006-03-21 08:20:41 +00:00
Igor Sysoev
3dd6ce6fa2 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
0ff14c314b nginx-0.3.32-RELEASE import
*) Bugfix: the debug logging on startup and reconfiguration time was
       removed; the bug had appeared in 0.3.31.
2006-03-11 06:40:30 +00:00
Igor Sysoev
47001ac1e3 nginx-0.3.31-RELEASE import
*) Change: now nginx passes the malformed proxied backend responses.

    *) Feature: the "listen" directives support the address in the "*:port"
       form.

    *) Feature: the EVFILER_TIMER support in MacOSX 10.4.

    *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout
       bug.
       Thanks to Andrei Nigmatulin.

    *) Bugfix: if there were several "listen" directives listening one
       various addresses inside one server, then server names like
       "*.domain.tld" worked for first address only; the bug had appeared
       in 0.3.18.

    *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
       and the request body was in temporarily file then the request was
       not transferred.

    *) Bugfix: perl 5.8.8 compatibility.
2006-03-10 12:51:52 +00:00
Igor Sysoev
57b0c9c6ff nginx-0.3.30-RELEASE import
*) Change: the ECONNABORTED error log level was changed to "error" from
       "crit".

    *) Bugfix: the ngx_http_perl_module could not be build without the
       ngx_http_ssi_filter_module.

    *) Bugfix: nginx could not be built on i386 platform, if the PIC was
       used; the bug had appeared in 0.3.27.
2006-02-22 19:41:39 +00:00
Igor Sysoev
d085904dc3 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
47f3076bd6 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
79e64b1233 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
a74a413027 nginx-0.3.26-RELEASE import
*) Change: the "optimize_host_names" directive was renamed to the
       "optimize_server_names".

    *) Bugfix: if in the "proxy_pass" directive was no the URI part, then
       the main request URI was transferred to a backend while proxying the
       SSI subrequest.
2006-02-03 12:58:48 +00:00
Igor Sysoev
4040634818 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
87801847b2 nginx-0.3.23-RELEASE import
*) Feature: the "optimize_host_names" directive.

    *) Bugfix: in using of the variables in the "path" and "alias"
       directives.

    *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and
       Solaris.
2006-01-24 16:08:27 +00:00
Igor Sysoev
4bcaae3ca6 nginx-0.3.22-RELEASE import
*) Feature: the ngx_http_perl_module supports the $r->args and
       $r->unescape methods.

    *) Feature: the method $r->query_string of ngx_http_perl_module was
       canceled.

    *) Bugfix: segmentation fault was occurred if the "none" or "blocked"
       values was specified in the "valid_referers" directive; the bug had
       appeared in 0.3.18.
2006-01-17 20:04:32 +00:00
Igor Sysoev
3ca3a6b229 nginx-0.3.21-RELEASE import
*) Feature: the ngx_http_perl_module.

    *) Change: the "valid_referers" directive allows the referreres without
       URI part.
2006-01-16 14:56:53 +00:00
Igor Sysoev
1088523c6b 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
1919ad8a41 nginx-0.3.19-RELEASE import
*) Feature: the "path" and "alias" directives support the variables.

    *) Change: now the "valid_referers" directive again checks the URI part.

    *) Bugfix: in SSI handling.
2005-12-28 14:23:52 +00:00
Igor Sysoev
61e066131b 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
2e96792ef4 nginx-0.3.17-RELEASE import
*) Change: now on Linux configure checks the presence of epoll and
       sendfile64() in kernel.

    *) Feature: the "map" directive supports domain names in the
       ".domain.tld" form.

    *) Bugfix: the timeouts were not used in SSL handshake; the bug had
       appeared in 0.2.4.

    *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.

    *) Bugfix: when the HTTPS protocol was used in the "proxy_pass"
       directive the port 80 was used by default.
2005-12-18 16:02:44 +00:00
Igor Sysoev
08e6bae5c8 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
a78da273da 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
23aa8920ca nginx-0.3.14-RELEASE import
*) Bugfix: in the 304 response the body was transferred; the bug had
       appeared in 0.3.13.
2005-12-05 16:59:05 +00:00
Igor Sysoev
1f1153d5cc 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
0d005976e1 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
f427178936 nginx-0.3.11-RELEASE import
*) Bugfix: nginx did not pass the client request headers and body while
       proxying; the bug had appeared in 0.3.10.
2005-11-15 14:49:57 +00:00
Igor Sysoev
50476beb66 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
215d39918b nginx-0.3.9-RELEASE import
*) Bugfix: nginx considered URI as unsafe if two any symbols was
       between two slashes; the bug had appeared in 0.3.8.
2005-11-10 07:44:53 +00:00
Igor Sysoev
276e06a14c 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
0e8c3164a8 nginx-0.3.7-RELEASE import
*) Feature: the "access_log" supports the "buffer=" parameter.

    *) Bugfix: nginx could not be built on platforms different from i386,
       amd64, sparc, and ppc; the bug had appeared in 0.3.2.
2005-10-27 15:46:13 +00:00
Igor Sysoev
8866fd302b 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
d1740af972 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
c7af0c0db0 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
Igor Sysoev
7b27eb9bfb nginx-0.3.2-RELEASE import
*) Feature: the Sun Studio 10 C compiler support.

    *) Feature: the "proxy_upstream_max_fails",
       "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and
       "fastcgi_upstream_fail_timeout" directives.
2005-10-12 13:50:36 +00:00
Igor Sysoev
bcfd788791 nginx-0.3.1-RELEASE import
*) Bugfix: the segmentation fault occurred when the signal queue
       overflowed if the "rtsig" method was used; the bug had appeared in
       0.2.0.

    *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in
       SSI.
2005-10-10 12:59:41 +00:00
Igor Sysoev
41463cc106 nginx-0.3.0-RELEASE import
*) Change: the 10-days live time limit of worker process was
       eliminated. The limit was introduced because of millisecond timers
       overflow.
2005-10-07 13:30:52 +00:00
Igor Sysoev
2a2345270f nginx-0.2.6-RELEASE import
*) Change: while using load-balancing the time before the failed
       backend retry was decreased from 60 to 10 seconds.

    *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI
       now passed, if the URI part is omitted in "proxy_pass" directive.

    *) Feature: the "error_page" directive supports redirects and allows
       more flexible to change an error code.

    *) Change: the charset in the "Content-Type" header line now is ignored
       in proxied subrequests.

    *) Bugfix: if the URI was changed in the "if" block and request did not
       found new configuration, then the ngx_http_rewrite_module rules ran
       again.

    *) Bugfix: if the "set" directive set the ngx_http_geo_module variable
       in some configuration part, the this variable was not available in
       other configuration parts and the "using uninitialized variable"
       error was occurred; the bug had appeared in 0.2.2.
2005-10-05 14:46:21 +00:00
Igor Sysoev
c689a96deb nginx-0.2.5-RELEASE import
*) Change: the duplicate value of the ngx_http_geo_module variable now
       causes the warning and changes old value.

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

    *) Feature: the ngx_http_ssi_module supports the "file" parameter in
       the "include" command.

    *) Feature: the ngx_http_ssi_module supports the variable value
       substitutions in expressions of the "if" command.
2005-10-04 10:38:53 +00:00
Igor Sysoev
1fc0e620a3 nginx-0.2.4-RELEASE import
*) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text",
       "$var=/text/", and "$var!=/text/" expressions in the "if" command.

    *) Bugfix: in proxying location without trailing slash; the bug had
       appeared in 0.1.44.

    *) Bugfix: the segmentation fault may occurred if the "rtsig" method
       was used; the bug had appeared in 0.2.0.
2005-10-03 12:53:14 +00:00
Igor Sysoev
bac1ba4863 nginx-0.2.2-RELEASE import
*) Feature: the "config errmsg" command of the ngx_http_ssi_module.

    *) Change: the ngx_http_geo_module variables can be overridden by the
       "set" directive.

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

    *) Bugfix: the ngx_http_autoindex_module did not show correctly the
       long file names;

    *) Bugfix: the ngx_http_autoindex_module now do not show the files
       starting by dot.

    *) Bugfix: if the SSL handshake failed then another connection may be
       closed too.
       Thanks to Rob Mueller.

    *) Bugfix: the export versions of MSIE 5.x could not connect via HTTPS.
2005-09-30 14:41:25 +00:00
Igor Sysoev
fa7eb4b976 nginx-0.2.0-RELEASE import
*) The pid-file names used during online upgrade was changed and now is
       not required a manual rename operation. The old master process adds
       the ".oldbin" suffix to its pid-file and executes a new binary file.
       The new master process creates usual pid-file without the ".newbin"
       suffix. If the master process exits, then old master process renames
       back its pid-file with the ".oldbin" suffix to the pid-file without
       suffix.

    *) Change: the "worker_connections" directive, new name of the
       "connections" directive; now the directive specifies maximum number
       of connections, but not maximum socket descriptor number.

    *) Feature: SSL supports the session cache inside one worker process.

    *) Feature: the "satisfy_any" directive.

    *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do
       not run for subrequests.

    *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending"
       directives.

    *) Bugfix: if all backend using in load-balancing failed after one
       error, then nginx did not try do connect to them during 60 seconds.

    *) Bugfix: in IMAP/POP3 command argument parsing.
       Thanks to Rob Mueller.

    *) Bugfix: errors while using SSL in IMAP/POP3 proxy.

    *) Bugfix: errors while using SSI and gzipping.

    *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted
       from the 304 responses.
       Thanks to Alexandr Kukushkin.
2005-09-23 11:02:22 +00:00
Igor Sysoev
264a308ed4 nginx-0.1.45-RELEASE import
*) Change: the "ssl_engine" directive was canceled in the
       ngx_http_ssl_module and now is introduced at global level.

    *) Bugfix: the responses with SSI subrequests did not transferred via
       SSL connection.

    *) Various bug fixes in the IMAP/POP3 proxy.
2005-09-08 14:36:09 +00:00
Igor Sysoev
8548e50e04 nginx-0.1.44-RELEASE import
*) Feature: the IMAP/POP3 proxy supports SSL.

    *) Feature: the "proxy_timeout" directive of the ngx_imap_proxy_module.

    *) Feature: the "userid_mark" directive.

    *) Feature: the $remote_user variable value is determined independently
       of authorization use.
2005-09-06 16:09:32 +00:00
Igor Sysoev
6affab13dc nginx-0.1.43-RELEASE import
*) Feature: the listen(2) backlog in the "listen" directive can be
       changed using the -HUP signal.

    *) Feature: the geo2nginx.pl script was added to contrib.

    *) Change: the FastCGI parameters with the empty values now are passed
       to a server.

    *) Bugfix: the segmentation fault occurred or the worker process may
       got caught in an endless loop if the proxied or FastCGI server sent
       the "Cache-Control" header line and the "expires" directive was
       used; in the proxied mode the the bug had appeared in 0.1.29.
2005-08-30 10:55:07 +00:00
Igor Sysoev
fde6b69119 nginx-0.1.42-RELEASE import
*) Bugfix: if the request URI had a zero length after the processing in
       the ngx_http_proxy_module, then the segmentation fault or bus error
       occurred in the ngx_http_proxy_module.

    *) Bugfix: the "limit_rate" directive did not work inside the "if"
       block; the bug had appeared in 0.1.38.
2005-08-23 15:36:54 +00:00
Igor Sysoev
2a21135113 nginx-0.1.41-RELEASE import
*) Bugfix: if the variable was used in the configuration file, then it
       can not be used in SSI.
2005-08-19 08:54:17 +00:00
Igor Sysoev
c6e3a63fdd nginx-0.1.40-RELEASE import
*) Bugfix: if a client sent too long header line, then the request
       information did not logged in the error log.

    *) Bugfix: the "Set-Cookie" header line was not transferred when the
       "X-Accel-Redirect" was used; the bug had appeared in 0.1.39.

    *) Bugfix: the "Content-Disposition" header line was not transferred
       when the "X-Accel-Redirect" was used.

    *) Bugfix: the master process did not close the listen socket on the
       SIGQUIT signal.

    *) Bugfix: after on-line upgrade on Linux and Solaris the process name
       became shorter in the "ps" command.
2005-07-25 09:41:38 +00:00
Igor Sysoev
84a268d4e4 nginx-0.1.39-RELEASE import
*) The changes in the ngx_http_charset_module: the "default_charset"
       directive was canceled; the "charset" directive sets the response
       charset; the "source_charset" directive sets the source charset only.

    *) Bugfix: the backend "WWW-Authenticate" header line did not
       transferred while the 401 response code redirecting.

    *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may
       close a connection before anything was transferred to a client; the
       bug had appeared in 0.1.38.

    *) Workaround: the Linux glibc crypt_r() initialization bug.

    *) Bugfix: the ngx_http_ssi_module did not support the relative URI in
       the "include virtual" command.

    *) Bugfix: if the backend response had the "Location" header line and
       nginx should not rewrite this line, then the 500 code response body
       was transferred; the bug had appeared in 0.1.29.

    *) Bugfix: some directives of the ngx_http_proxy_module and
       ngx_http_fastcgi_module were not inherited from the server to the
       location level; the bug had appeared in 0.1.29.

    *) Bugfix: the ngx_http_ssl_module did not support the certificate
       chain.

    *) Bugfix: the ngx_http_autoindex_module did not show correctly the
       long file names; the bug had appeared in 0.1.38.

    *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the
       login state.
2005-07-14 12:51:53 +00:00
Igor Sysoev
f273a55eb1 nginx-0.1.38-RELEASE import
*) Feature: the "limit_rate" directive is supported in in proxy and
       FastCGI mode.

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

    *) Feature: the "break" directive.

    *) Feature: the "log_not_found" directive.

    *) Bugfix: the response status code was not changed when request was
       redirected by the ""X-Accel-Redirect" header line.

    *) Bugfix: the variables set by the "set" directive could not be used
       in SSI.

    *) Bugfix: the segmentation fault may occurred if the SSI page has more
       than one remote subrequest.

    *) Bugfix: nginx treated the backend response as invalid if the status
       line in the header was transferred in two packets; the bug had
       appeared in 0.1.29.

    *) Feature: the "ssi_types" directive.

    *) Feature: the "autoindex_exact_size" directive.

    *) Bugfix: the ngx_http_autoindex_module did not support the long file
       names in UTF-8.

    *) Feature: the IMAP/POP3 proxy.
2005-07-08 14:34:20 +00:00
Igor Sysoev
6a333962e7 nginx-0.1.37-RELEASE import
*) Change: now the "\n" is added to the end of the "nginx.pid" file.

    *) Bugfix: the responses may be transferred not completely, if many
       parts or the big parts were included by SSI.

    *) Bugfix: if all backends had returned the 404 reponse and the
       "http_404" parameter of the "proxy_next_upstream" or
       "fastcgi_next_upstream" directives was used, then nginx started to
       request all backends again.
2005-06-23 13:41:06 +00:00
Igor Sysoev
aa394d7b1c nginx-0.1.36-RELEASE import
*) Change: if the request header has duplicate the "Host",
       "Connection", "Content-Length", or "Authorization" lines, then nginx
       now returns the 400 error.

    *) Change: the "post_accept_timeout" directive was canceled.

    *) Feature: the "default", "af=", "bl=", "deferred", and "bind"
       parameters of the "listen" directive.

    *) Feature: the FreeBSD accept filters support.

    *) Feature: the Linux TCP_DEFER_ACCEPT support.

    *) Bugfix: the ngx_http_autoindex_module did not support the file names
       in UTF-8.

    *) Bugfix: the new log file can be rotated by the -USR1 signal only if
       the reconfiguration by the -HUP signal was made twice.
2005-06-15 18:33:41 +00:00
Igor Sysoev
955604f394 nginx-0.1.35-RELEASE import
*) Feature: the "working_directory" directive.

    *) Feature: the "port_in_redirect" directive.

    *) Bugfix: the segmentation fault was occurred if the backend response
       header was in several packets; the bug had appeared in 0.1.29.

    *) Bugfix: if more than 10 servers were configured or some server did
       not use the "listen" directive, then the segmentation fault was
       occurred on the start.

    *) Bugfix: the segmentation fault might occur if the response was
       bigger than the temporary file.

    *) Bugfix: nginx returned the 400 response on requests like
       "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in
       0.1.28.
2005-06-07 15:56:31 +00:00
Igor Sysoev
864115e8f0 nginx-0.1.34-RELEASE import
*) Bugfix: the worker process may got caught in an endless loop if the
       big response part were include by SSI.

    *) Bugfix: the variables set by the "set" directive were not available
       in SSI.

    *) Feature: the "autoindex_localtime" directive.

    *) Bugfix: the empty value of the "proxy_set_header" directive forbids
       the client request header line passing.
2005-05-26 18:12:40 +00:00
Igor Sysoev
1e01f875e6 nginx-0.1.33-RELEASE import
*) Bugfix: nginx could not be built with the --without-pcre parameter;
       the bug had appeared in 0.1.29.

    *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one
       level cause the bus fault on start up.

    *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.

    *) Bugfix: if the "rewrite" directive used the captures inside the "if"
       directive, then the 500 error code was returned.
2005-05-23 12:07:45 +00:00
Igor Sysoev
a693970001 nginx-0.1.32-RELEASE import
*) Bugfix: the arguments were omitted in the redirects, issued by the
       "rewrite" directive; the bug had appeared in 0.1.29.

    *) Feature: the "if" directive supports the captures in regular
       expressions.

    *) Feature: the "set" directive supports the variables and the captures
       of regular expressions.

    *) Feature: the "X-Accel-Redirect" response header line is supported in
       proxy and FastCGI mode.
2005-05-19 13:25:22 +00:00
Igor Sysoev
9561ccb4f7 nginx-0.1.31-RELEASE import
*) Bugfix: the response encrypted by SSL may not transferred complete.

    *) Bugfix: errors while processing FastCGI response by SSI.

    *) Bugfix: errors while using SSI and gzipping.

    *) Bugfix: the redirect with the 301 code was transferred without
       response body; the bug had appeared in 0.1.30.
2005-05-16 13:53:20 +00:00
Igor Sysoev
6f713b05b3 nginx-0.1.30-RELEASE import
*) Bugfix: the worker process may got caught in an endless loop if the
       SSI was used.

    *) Bugfix: the response encrypted by SSL may not transferred complete.

    *) Bugfix: if the length of the response part received at once from
       proxied or FastCGI server was equal to 500, then nginx returns the
       500 response code; in proxy mode the the bug had appeared in 0.1.29
       only.

    *) Bugfix: nginx did not consider the directives with 8 or 9 parameters
       as invalid.

    *) Feature: the "return" directive can return the 204 response code.

    *) Feature: the "ignore_invalid_headers" directive.
2005-05-14 18:42:03 +00:00
Igor Sysoev
7fed746a3a nginx-0.1.29-RELEASE import
*) Feature: the ngx_http_ssi_module supports "include virtual" command.

    *) Feature: the ngx_http_ssi_module supports the condition command like
       'if expr="$NAME"' and "else" and "endif" commands. Only one nested
       level is supported.

    *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and
       DATE_GMT variables and "config timefmt" command.

    *) Feature: the "ssi_ignore_recycled_buffers" directive.

    *) Bugfix: the "echo" command did not show the default value for the
       empty QUERY_STRING variable.

    *) Change: the ngx_http_proxy_module was rewritten.

    *) Feature: the "proxy_redirect", "proxy_pass_request_headers",
       "proxy_pass_request_body", and "proxy_method" directives.

    *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
       canceled and must be replaced with the proxy_set_header directive.

    *) Change: the "proxy_preserve_host" is canceled and must be replaced
       with the "proxy_set_header Host $host" and the "proxy_redirect off"
       directives, the "proxy_set_header Host $host:$proxy_port" directive
       and the appropriate proxy_redirect directives.

    *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
       with the "proxy_set_header X-Real-IP $remote_addr" directive.

    *) Change: the "proxy_add_x_forwarded_for" is canceled and must be
       replaced with
       the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
       directive.

    *) Change: the "proxy_set_x_url" is canceled and must be replaced with
       the "proxy_set_header X-URL http://$host:$server_port$request_uri"
       directive.

    *) Feature: the "fastcgi_param" directive.

    *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
       directive are canceled and must be replaced with the fastcgi_param
       directives.

    *) Feature: the "index" directive can use the variables.

    *) Feature: the "index" directive can be used at http and server levels.

    *) Change: the last index only in the "index" directive can be absolute.

    *) Feature: the "rewrite" directive can use the variables.

    *) Feature: the "internal" directive.

    *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
       SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
       REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.

    *) Change: nginx now passes the invalid lines in a client request
       headers or a backend response header.

    *) Bugfix: if the backend did not transfer response for a long time and
       the "send_timeout" was less than "proxy_read_timeout", then nginx
       returned the 408 response.

    *) Bugfix: the segmentation fault was occurred if the backend sent an
       invalid line in response header; the bug had appeared in 0.1.26.

    *) Bugfix: the segmentation fault may occurred in FastCGI fault
       tolerance configuration.

    *) Bugfix: the "expires" directive did not remove the previous
       "Expires" and "Cache-Control" headers.

    *) Bugfix: nginx did not take into account trailing dot in "Host"
       header line.

    *) Bugfix: the ngx_http_auth_module did not work under Linux.

    *) Bugfix: the rewrite directive worked incorrectly, if the arguments
       were in a request.

    *) Bugfix: nginx could not be built on MacOS X.
2005-05-12 14:58:06 +00:00
Igor Sysoev
56c3cb74a5 nginx-0.1.28-RELEASE import
*) Bugfix: nginx hogs CPU while proxying the huge files.

    *) Bugfix: nginx could not be built by gcc 4.0 on Linux.
2005-04-08 15:18:55 +00:00