Compare commits
12 Commits
quic
...
stable-0.8
Author | SHA1 | Date |
---|---|---|
Igor Sysoev | 49a9be4a39 | |
Igor Sysoev | 154aa541e1 | |
Igor Sysoev | b1e1060408 | |
Igor Sysoev | eca03ee1c6 | |
Igor Sysoev | 12387aa574 | |
Igor Sysoev | f25a76c1c5 | |
Igor Sysoev | a93ca0d7fd | |
Igor Sysoev | 333ef8a053 | |
Igor Sysoev | c38c0665ff | |
Igor Sysoev | 485909346d | |
Igor Sysoev | 6ebe85b88c | |
Igor Sysoev | a98525c80d |
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue