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.
This commit is contained in:
Igor Sysoev 2005-05-16 13:53:20 +00:00
parent d5d6b6bc3b
commit d52477ff6d
12 changed files with 60 additions and 24 deletions

View File

@ -9,6 +9,49 @@
<title lang="en">nginx changelog</title>
<changes ver="0.1.31" date="16.05.2005">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÄÏ ËÏÎÃÁ.
</para>
<para lang="en">
the response encrypted by SSL may not transferred complete.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÏÂÒÁÂÏÔËÅ SSI × ÏÔ×ÅÔÅ, ÐÏÌÕÞÅÎÎÏÇÏ ÏÔ FastCGI-ÓÅÒ×ÅÒÁ.
</para>
<para lang="en">
errors while processing FastCGI response by SSI.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI É ÓÖÁÔÉÑ.
</para>
<para lang="en">
errors while using SSI and gzipping.
</para>
</change>
<change type="bugfix">
<para lang="ru">
ÒÅÄÉÒÅËÔ Ó ËÏÄÏÍ 301 ÐÅÒÅÄÁ×ÁÌÓÑ ÂÅÚ ÔÅÌÁ ÏÔ×ÅÔÁ;
ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.30.
</para>
<para lang="en">
the redirect with the 301 code was transferred without response body;
bug appeared in 0.1.30.
</para>
</change>
</changes>
<changes ver="0.1.30" date="14.05.2005">
<change type="bugfix">

View File

@ -8,7 +8,7 @@
#define _NGINX_H_INCLUDED_
#define NGINX_VER "nginx/0.1.30"
#define NGINX_VER "nginx/0.1.31"
#define NGINX_VAR "NGINX"
#define NGX_NEWPID_EXT ".newbin"

View File

@ -288,8 +288,9 @@ ngx_ssl_send_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
return NGX_CHAIN_ERROR;
}
if (n < 0) {
n = 0;
if (n == NGX_AGAIN) {
c->buffered = 1;
return in;
}
in->buf->pos += n;

View File

@ -367,7 +367,7 @@ ngx_http_gzip_header_filter(ngx_http_request_t *r)
r->headers_out.content_length = NULL;
}
r->filter_need_in_memory = 1;
r->main_filter_need_in_memory = 1;
return ngx_http_next_header_filter(r);
}

View File

@ -321,7 +321,6 @@ ngx_http_ssi_header_filter(ngx_http_request_t *r)
ctx->timefmt.data = (u_char *) "%A, %d-%b-%Y %H:%M:%S %Z";
r->filter_need_in_memory = 1;
r->filter_ssi_need_in_memory = 1;
if (r->main == NULL) {
r->headers_out.content_length_n = -1;
@ -464,10 +463,11 @@ ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
ngx_memcpy(b, ctx->buf, sizeof(ngx_buf_t));
b->last_buf = 0;
b->recycled = 0;
b->pos = ctx->copy_start;
b->last = ctx->copy_end;
b->shadow = NULL;
b->last_buf = 0;
b->recycled = 0;
if (b->in_file) {
if (conf->min_file_chunk < (size_t) (b->last - b->pos))

View File

@ -88,7 +88,8 @@ ngx_http_copy_filter(ngx_http_request_t *r, ngx_chain_t *in)
ngx_http_set_ctx(r, ctx, ngx_http_copy_filter_module);
ctx->sendfile = r->connection->sendfile;
ctx->need_in_memory = r->filter_need_in_memory;
ctx->need_in_memory = r->main_filter_need_in_memory
|| r->filter_need_in_memory;
ctx->need_in_temp = r->filter_need_temporary;
ctx->pool = r->pool;

View File

@ -1023,6 +1023,8 @@ ngx_http_subrequest(ngx_http_request_t *r,
sr->internal = 1;
sr->main_filter_need_in_memory = r->main_filter_need_in_memory;
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"http subrequest \"%V\"", uri);

View File

@ -98,7 +98,7 @@ ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in)
out = in;
}
if (out == NULL && r->out == NULL) {
if (out == NULL && r->out == NULL && !r->connection->buffered) {
return NGX_OK;
}

View File

@ -384,7 +384,7 @@ void ngx_http_init_request(ngx_event_t *rev)
c->ssl->no_rcv_shut = 1;
}
r->filter_need_in_memory = 1;
r->main_filter_need_in_memory = 1;
}
#endif

View File

@ -366,8 +366,8 @@ struct ngx_http_request_s {
unsigned closed:1;
unsigned done:1;
unsigned main_filter_need_in_memory:1;
unsigned filter_need_in_memory:1;
unsigned filter_ssi_need_in_memory:1;
unsigned filter_need_temporary:1;
unsigned filter_allow_ranges:1;

View File

@ -300,7 +300,7 @@ ngx_http_special_response_handler(ngx_http_request_t *r, ngx_int_t error)
} else if (error < NGX_HTTP_BAD_REQUEST) {
/* 3XX */
err = error - NGX_HTTP_MOVED_PERMANENTLY;
err = error - NGX_HTTP_MOVED_PERMANENTLY + NGX_HTTP_LEVEL_200;
} else if (error < NGX_HTTP_NGX_CODES) {
/* 4XX */

View File

@ -168,17 +168,6 @@ ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
return NGX_OK;
}
#if 0
/*
* avoid the output if there are no incoming bufs but there are
* the postponed requests or data
*/
if (in == NULL && r->postponed) {
return NGX_OK;
}
#endif
if (c->write->delayed) {
return NGX_AGAIN;
}
@ -232,7 +221,7 @@ ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
r->out = chain;
if (chain || (last && c->buffered)) {
if (chain || c->buffered) {
return NGX_AGAIN;
}