mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 01:12:40 +08:00
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:
parent
d5d6b6bc3b
commit
d52477ff6d
@ -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">
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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))
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user