Compare commits

...

12 Commits

Author SHA1 Message Date
Igor Sysoev 49a9be4a39 release-0.8.55 tag 2011-07-19 13:59:54 +00:00
Igor Sysoev 154aa541e1 nginx-0.8.55-RELEASE 2011-07-19 13:59:47 +00:00
Igor Sysoev b1e1060408 copy OpenSSL-0.9.8r LICENSE for nginx/Windows zip 2011-07-19 13:54:09 +00:00
Igor Sysoev eca03ee1c6 merge r3945:
fix segfault if cache key is larger than upstream buffer size
patch by Lanshun Zhou
2011-07-19 13:52:56 +00:00
Igor Sysoev 12387aa574 bump version 2011-07-19 13:49:44 +00:00
Igor Sysoev f25a76c1c5 release-0.8.54 tag 2010-12-14 10:55:49 +00:00
Igor Sysoev a93ca0d7fd nginx-0.8.54-RELEASE 2010-12-14 10:55:48 +00:00
Igor Sysoev 333ef8a053 merge r3825, r3826:
*) test wildcard tail hash existance for IPv6 addresses,
   the same fix for IPv4 addresses has been made in r2581
*) always run regex in server_name to get captures for IPv6 addresses,
   the same fix for IPv4 addresses has been made in r2584
2010-12-14 10:41:22 +00:00
Igor Sysoev c38c0665ff merge r3798, r3806, r3807:
revert processing NGX_DONE in rewrite phase changed in r3634
2010-12-14 10:38:42 +00:00
Igor Sysoev 485909346d merge r3797:
allocate last zero byte in ngx_crypt()
2010-12-14 10:35:06 +00:00
Igor Sysoev 6ebe85b88c bump version 2010-12-14 10:33:37 +00:00
Igor Sysoev a98525c80d stable-0.8 branch 2010-11-24 12:50:36 +00:00
8 changed files with 91 additions and 15 deletions

View File

@ -9,6 +9,65 @@
<title lang="en">nginx changelog</title>
<changes ver="0.8.55" date="19.07.2011">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÜÛÉÒÏ×ÁÎÉÑ
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ Lanshun Zhou.
</para>
<para lang="en">
a segmentation fault might occur in a worker process,
if a caching was used.<br/>
Thanks to Lanshun Zhou.
</para>
</change>
</changes>
<changes ver="0.8.54" date="14.12.2010">
<change type="bugfix">
<para lang="ru">
ÅÓÌÉ ÄÌÑ ÐÁÒÙ IPv6-ÁÄÒÅÓ:ÐÏÒÔ ÏÐÉÓÁÎ ÔÏÌØËÏ ÏÄÉÎ ÓÅÒ×ÅÒ, ÔÏ ×ÙÄÅÌÅÎÉÑ
× ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ÄÉÒÅËÔÉ×Å server_name ÎÅ ÒÁÂÏÔÁÌÉ.
</para>
<para lang="en">
if there was a single server for given IPv6 address:port pair,
then captures in regular expressions in a "server_name" directive did not work.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù auth_basic
× ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault.<br/>
óÐÁÓÉÂÏ íÉÈÁÉÌÕ ìÁÌÅÔÉÎÕ.
</para>
<para lang="en">
a segmentation fault might occur in a worker process,
if the "auth_basic" directive was used.<br/>
Thanks to Michail Laletin.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó ÍÏÄÕÌÅÍ ngx_http_eval_module;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.42.
</para>
<para lang="en">
compatibility with ngx_http_eval_module;
the bug had appeared in 0.8.42.
</para>
</change>
</changes>
<!-- 0.9.x branch -->
<changes ver="0.8.53" date="18.10.2010">
<change type="feature">
@ -31,7 +90,7 @@ the "gzip_disable" directive supports special "degradation" mask.
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÆÁÊÌÏ×ÏÇÏ AIO, ÍÏÇÌÁ ÐÒÏÉÓÈÏÄÉÔØ ÕÔÅÞËÁ ÓÏËÅÔÏ×.<br/>
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÆÁÊÌÏ×ÏÇÏ AIO ÍÏÇÌÁ ÐÒÏÉÓÈÏÄÉÔØ ÕÔÅÞËÁ ÓÏËÅÔÏ×.<br/>
óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
</para>
<para lang="en">
@ -3924,7 +3983,7 @@ the "try_files" directive might test incorrectly directories.
× ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ÄÉÒÅËÔÉ×Å server_name ÎÅ ÒÁÂÏÔÁÌÉ.
</para>
<para lang="en">
if there is the single server for given address:port pair,
if there was a single server for given address:port pair,
then captures in regular expressions in a "server_name" directive did not work.
</para>
</change>
@ -5059,7 +5118,7 @@ the "http_503" parameter of the "proxy_next_upstream" or
nginx ÍÏÇ ×ÙÄÁ×ÁÔØ ÓÔÒÏËÕ "Transfer-Encoding: chunked" ÄÌÑ ÚÁÐÒÏÓÏ× HEAD.
</para>
<para lang="en">
nginx might send a "Transfer-Encoding: chunked" heaer line for HEAD requests.
nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests.
</para>
</change>
@ -16104,7 +16163,7 @@ the double slashes in "://" in the URI were converted to ":/".
</para>
<para lang="en">
if the request without arguments contains "//", "/./", "/../" or "%XX"
then the lost character in the request line was lost;
then the last character in the request line was lost;
the bug had appeared in 0.1.9.
</para>
</change>

View File

@ -5,7 +5,7 @@ NGINX = nginx-$(VER)
TEMP = tmp
OBJS = objs.msvc8
OPENSSL = openssl-0.9.8o
OPENSSL = openssl-0.9.8r
ZLIB = zlib-1.2.3
PCRE = pcre-7.9

View File

@ -8,8 +8,8 @@
#define _NGINX_H_INCLUDED_
#define nginx_version 8053
#define NGINX_VERSION "0.8.53"
#define nginx_version 8055
#define NGINX_VERSION "0.8.55"
#define NGINX_VER "nginx/" NGINX_VERSION
#define NGINX_VAR "NGINX"

View File

@ -48,7 +48,7 @@ our @EXPORT = qw(
HTTP_INSUFFICIENT_STORAGE
);
our $VERSION = '0.8.53';
our $VERSION = '0.8.55';
require XSLoader;
XSLoader::load('nginx', $VERSION);

View File

@ -1870,8 +1870,12 @@ ngx_http_add_addrs6(ngx_conf_t *cf, ngx_http_port_t *hport,
if (addr[i].hash.buckets == NULL
&& (addr[i].wc_head == NULL
|| addr[i].wc_head->hash.buckets == NULL)
&& (addr[i].wc_head == NULL
|| addr[i].wc_head->hash.buckets == NULL))
&& (addr[i].wc_tail == NULL
|| addr[i].wc_tail->hash.buckets == NULL)
#if (NGX_PCRE)
&& addr[i].nregex == 0
#endif
)
{
continue;
}

View File

@ -910,7 +910,11 @@ ngx_http_core_rewrite_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph)
return NGX_AGAIN;
}
/* rc == NGX_OK || rc == NGX_ERROR || rc == NGX_HTTP_... */
if (rc == NGX_DONE) {
return NGX_OK;
}
/* NGX_OK, NGX_AGAIN, NGX_ERROR, NGX_HTTP_... */
ngx_http_finalize_request(r, rc);

View File

@ -666,6 +666,15 @@ ngx_http_upstream_cache(ngx_http_request_t *r, ngx_http_upstream_t *u)
ngx_http_file_cache_create_key(r);
if (r->cache->header_start >= u->conf->buffer_size) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"cache key too large, increase upstream buffer size %uz",
u->conf->buffer_size);
r->cache = NULL;
return NGX_DECLINED;
}
u->cacheable = 1;
c = r->cache;

View File

@ -41,11 +41,11 @@ ngx_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
err = ngx_errno;
if (err == 0) {
len = ngx_strlen(value);
len = ngx_strlen(value) + 1;
*encrypted = ngx_pnalloc(pool, len);
if (*encrypted) {
ngx_memcpy(*encrypted, value, len + 1);
ngx_memcpy(*encrypted, value, len);
return NGX_OK;
}
}
@ -79,11 +79,11 @@ ngx_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
value = crypt((char *) key, (char *) salt);
if (value) {
len = ngx_strlen(value);
len = ngx_strlen(value) + 1;
*encrypted = ngx_pnalloc(pool, len);
if (*encrypted) {
ngx_memcpy(*encrypted, value, len + 1);
ngx_memcpy(*encrypted, value, len);
}
#if (NGX_THREADS && NGX_NONREENTRANT_CRYPT)