Latest update - 7404, Version bump
This commit is contained in:
@@ -432,3 +432,4 @@ b234199c7ed8a156a6bb98f7ff58302c857c954f release-1.15.2
|
||||
49d49835653857daa418e68d6cbfed4958c78fca release-1.15.4
|
||||
f062e43d74fc2578bb100a9e82a953efa1eb9e4e release-1.15.5
|
||||
2351853ce6867b6166823bdf94333c0a76633c0a release-1.15.6
|
||||
051a039ce1c7e09144de4a4846669ec7116cecea release-1.15.7
|
||||
@@ -5,6 +5,62 @@
|
||||
<change_log title="nginx">
|
||||
|
||||
|
||||
<changes ver="1.15.7" date="2018-11-27">
|
||||
|
||||
<change type="feature">
|
||||
<para lang="ru">
|
||||
директива proxy_requests в модуле stream.
|
||||
</para>
|
||||
<para lang="en">
|
||||
the "proxy_requests" directive in the stream module.
|
||||
</para>
|
||||
</change>
|
||||
|
||||
<change type="feature">
|
||||
<para lang="ru">
|
||||
параметр "delay" директивы "limit_req".<br/>
|
||||
Спасибо Владиславу Шабанову и Петру Щучкину.
|
||||
</para>
|
||||
<para lang="en">
|
||||
the "delay" parameter of the "limit_req" directive.<br/>
|
||||
Thanks to Vladislav Shabanov and Peter Shchuchkin.
|
||||
</para>
|
||||
</change>
|
||||
|
||||
<change type="bugfix">
|
||||
<para lang="ru">
|
||||
утечки памяти в случае ошибок при переконфигурации.
|
||||
</para>
|
||||
<para lang="en">
|
||||
memory leak on errors during reconfiguration.
|
||||
</para>
|
||||
</change>
|
||||
|
||||
<change type="bugfix">
|
||||
<para lang="ru">
|
||||
в переменных $upstream_response_time, $upstream_connect_time и
|
||||
$upstream_header_time.
|
||||
</para>
|
||||
<para lang="en">
|
||||
in the $upstream_response_time, $upstream_connect_time, and
|
||||
$upstream_header_time variables.
|
||||
</para>
|
||||
</change>
|
||||
|
||||
<change type="bugfix">
|
||||
<para lang="ru">
|
||||
в рабочем процессе мог произойти segmentation fault,
|
||||
если использовался модуль ngx_http_mp4_module на 32-битных платформах.
|
||||
</para>
|
||||
<para lang="en">
|
||||
a segmentation fault might occur in a worker process
|
||||
if the ngx_http_mp4_module was used on 32-bit platforms.
|
||||
</para>
|
||||
</change>
|
||||
|
||||
</changes>
|
||||
|
||||
|
||||
<changes ver="1.15.6" date="2018-11-06">
|
||||
|
||||
<change type="security">
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ TEMP = tmp
|
||||
|
||||
CC = cl
|
||||
OBJS = objs.msvc8
|
||||
OPENSSL = openssl-1.0.2p
|
||||
OPENSSL = openssl-1.0.2q
|
||||
ZLIB = zlib-1.2.11
|
||||
PCRE = pcre-8.42
|
||||
|
||||
|
||||
+2
-2
@@ -9,8 +9,8 @@
|
||||
#define _NGINX_H_INCLUDED_
|
||||
|
||||
|
||||
#define nginx_version 1015007
|
||||
#define NGINX_VERSION "1.15.7"
|
||||
#define nginx_version 1015008
|
||||
#define NGINX_VERSION "1.15.8"
|
||||
#define NGINX_VER "nginx/" NGINX_VERSION " by Hakase"
|
||||
|
||||
#ifndef NGINX_SERVER
|
||||
|
||||
@@ -126,6 +126,26 @@ ngx_output_chain(ngx_output_chain_ctx_t *ctx, ngx_chain_t *in)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (bsize < 0) {
|
||||
|
||||
ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
|
||||
"negative size buf in output "
|
||||
"t:%d r:%d f:%d %p %p-%p %p %O-%O",
|
||||
ctx->in->buf->temporary,
|
||||
ctx->in->buf->recycled,
|
||||
ctx->in->buf->in_file,
|
||||
ctx->in->buf->start,
|
||||
ctx->in->buf->pos,
|
||||
ctx->in->buf->last,
|
||||
ctx->in->buf->file,
|
||||
ctx->in->buf->file_pos,
|
||||
ctx->in->buf->file_last);
|
||||
|
||||
ngx_debug_point();
|
||||
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
if (ngx_output_chain_as_is(ctx, ctx->in->buf)) {
|
||||
|
||||
/* move the chain link to the output chain */
|
||||
@@ -665,7 +685,6 @@ ngx_chain_writer(void *data, ngx_chain_t *in)
|
||||
|
||||
for (size = 0; in; in = in->next) {
|
||||
|
||||
#if 1
|
||||
if (ngx_buf_size(in->buf) == 0 && !ngx_buf_special(in->buf)) {
|
||||
|
||||
ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
|
||||
@@ -685,7 +704,26 @@ ngx_chain_writer(void *data, ngx_chain_t *in)
|
||||
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ngx_buf_size(in->buf) < 0) {
|
||||
|
||||
ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
|
||||
"negative size buf in chain writer "
|
||||
"t:%d r:%d f:%d %p %p-%p %p %O-%O",
|
||||
in->buf->temporary,
|
||||
in->buf->recycled,
|
||||
in->buf->in_file,
|
||||
in->buf->start,
|
||||
in->buf->pos,
|
||||
in->buf->last,
|
||||
in->buf->file,
|
||||
in->buf->file_pos,
|
||||
in->buf->file_last);
|
||||
|
||||
ngx_debug_point();
|
||||
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
size += ngx_buf_size(in->buf);
|
||||
|
||||
@@ -709,7 +747,6 @@ ngx_chain_writer(void *data, ngx_chain_t *in)
|
||||
|
||||
for (cl = ctx->out; cl; cl = cl->next) {
|
||||
|
||||
#if 1
|
||||
if (ngx_buf_size(cl->buf) == 0 && !ngx_buf_special(cl->buf)) {
|
||||
|
||||
ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
|
||||
@@ -729,7 +766,26 @@ ngx_chain_writer(void *data, ngx_chain_t *in)
|
||||
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ngx_buf_size(cl->buf) < 0) {
|
||||
|
||||
ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
|
||||
"negative size buf in chain writer "
|
||||
"t:%d r:%d f:%d %p %p-%p %p %O-%O",
|
||||
cl->buf->temporary,
|
||||
cl->buf->recycled,
|
||||
cl->buf->in_file,
|
||||
cl->buf->start,
|
||||
cl->buf->pos,
|
||||
cl->buf->last,
|
||||
cl->buf->file,
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last);
|
||||
|
||||
ngx_debug_point();
|
||||
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
size += ngx_buf_size(cl->buf);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,6 @@ ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last - cl->buf->file_pos);
|
||||
|
||||
#if 1
|
||||
if (ngx_buf_size(cl->buf) == 0 && !ngx_buf_special(cl->buf)) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"zero size buf in writer "
|
||||
@@ -98,7 +97,24 @@ ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ngx_buf_size(cl->buf) < 0) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"negative size buf in writer "
|
||||
"t:%d r:%d f:%d %p %p-%p %p %O-%O",
|
||||
cl->buf->temporary,
|
||||
cl->buf->recycled,
|
||||
cl->buf->in_file,
|
||||
cl->buf->start,
|
||||
cl->buf->pos,
|
||||
cl->buf->last,
|
||||
cl->buf->file,
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last);
|
||||
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
size += ngx_buf_size(cl->buf);
|
||||
|
||||
@@ -136,7 +152,6 @@ ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last - cl->buf->file_pos);
|
||||
|
||||
#if 1
|
||||
if (ngx_buf_size(cl->buf) == 0 && !ngx_buf_special(cl->buf)) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"zero size buf in writer "
|
||||
@@ -154,7 +169,24 @@ ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ngx_buf_size(cl->buf) < 0) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"negative size buf in writer "
|
||||
"t:%d r:%d f:%d %p %p-%p %p %O-%O",
|
||||
cl->buf->temporary,
|
||||
cl->buf->recycled,
|
||||
cl->buf->in_file,
|
||||
cl->buf->start,
|
||||
cl->buf->pos,
|
||||
cl->buf->last,
|
||||
cl->buf->file,
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last);
|
||||
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
size += ngx_buf_size(cl->buf);
|
||||
|
||||
|
||||
@@ -104,7 +104,6 @@ ngx_stream_write_filter(ngx_stream_session_t *s, ngx_chain_t *in,
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last - cl->buf->file_pos);
|
||||
|
||||
#if 1
|
||||
if (ngx_buf_size(cl->buf) == 0 && !ngx_buf_special(cl->buf)) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"zero size buf in writer "
|
||||
@@ -122,7 +121,24 @@ ngx_stream_write_filter(ngx_stream_session_t *s, ngx_chain_t *in,
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ngx_buf_size(cl->buf) < 0) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"negative size buf in writer "
|
||||
"t:%d r:%d f:%d %p %p-%p %p %O-%O",
|
||||
cl->buf->temporary,
|
||||
cl->buf->recycled,
|
||||
cl->buf->in_file,
|
||||
cl->buf->start,
|
||||
cl->buf->pos,
|
||||
cl->buf->last,
|
||||
cl->buf->file,
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last);
|
||||
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
size += ngx_buf_size(cl->buf);
|
||||
|
||||
@@ -160,7 +176,6 @@ ngx_stream_write_filter(ngx_stream_session_t *s, ngx_chain_t *in,
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last - cl->buf->file_pos);
|
||||
|
||||
#if 1
|
||||
if (ngx_buf_size(cl->buf) == 0 && !ngx_buf_special(cl->buf)) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"zero size buf in writer "
|
||||
@@ -178,7 +193,24 @@ ngx_stream_write_filter(ngx_stream_session_t *s, ngx_chain_t *in,
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ngx_buf_size(cl->buf) < 0) {
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||
"negative size buf in writer "
|
||||
"t:%d r:%d f:%d %p %p-%p %p %O-%O",
|
||||
cl->buf->temporary,
|
||||
cl->buf->recycled,
|
||||
cl->buf->in_file,
|
||||
cl->buf->start,
|
||||
cl->buf->pos,
|
||||
cl->buf->last,
|
||||
cl->buf->file,
|
||||
cl->buf->file_pos,
|
||||
cl->buf->file_last);
|
||||
|
||||
ngx_debug_point();
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
size += ngx_buf_size(cl->buf);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user