diff options
author | Igor Sysoev <igor@sysoev.ru> | 2007-03-19 13:44:42 +0000 |
---|---|---|
committer | Jonathan Kolb <jon@b0g.us> | 2007-03-19 13:44:42 +0000 |
commit | 310da76bdd131de0ea49c3aba2d54858d34273b9 (patch) | |
tree | cd53a138d2a958b4e2e0bc4e18726c879ac5d335 /src/http | |
parent | bfec3c49c20668e1e4058a7bc94e76ae27f73e65 (diff) | |
download | nginx-310da76bdd131de0ea49c3aba2d54858d34273b9.tar.gz |
Changes with nginx 0.5.15 19 Mar 2007v0.5.15
*) Feature: the mail proxy supports authenticated SMTP proxying and the
"smtp_auth", "smtp_capablities", and "xclient" directives.
Thanks to Anton Yuzhaninov and Maxim Dounin.
*) Change: the "imap" and "auth" directives were renamed to the "mail"
and "pop3_auth" directives.
*) Bugfix: a segmentation fault occurred in worker process if the
CRAM-MD5 authentication method was used and the APOP method was
disabled.
*) Bugfix: if the "starttls only" directive was used in POP3 protocol,
then nginx allowed authentication without switching to the SSL mode.
*) Bugfix: worker processes did not exit after reconfiguration and did
not rotate logs if the eventport method was used.
*) Bugfix: a worker process may got caught in an endless loop, if the
"ip_hash" directive was used.
*) Bugfix: now nginx does not log some alerts if eventport or /dev/poll
methods are used.
Diffstat (limited to 'src/http')
-rw-r--r-- | src/http/modules/ngx_http_upstream_ip_hash_module.c | 5 | ||||
-rw-r--r-- | src/http/modules/perl/nginx.pm | 2 | ||||
-rw-r--r-- | src/http/ngx_http_request.c | 6 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/http/modules/ngx_http_upstream_ip_hash_module.c b/src/http/modules/ngx_http_upstream_ip_hash_module.c index e0cf8afc1..87e5ac4d2 100644 --- a/src/http/modules/ngx_http_upstream_ip_hash_module.c +++ b/src/http/modules/ngx_http_upstream_ip_hash_module.c @@ -179,11 +179,10 @@ ngx_http_upstream_get_ip_hash_peer(ngx_peer_connection_t *pc, void *data) peer->fails = 0; break; } - - } else { - iphp->rrp.tried[n] |= m; } + iphp->rrp.tried[n] |= m; + /* ngx_unlock_mutex(iphp->rrp.peers->mutex); */ pc->tries--; diff --git a/src/http/modules/perl/nginx.pm b/src/http/modules/perl/nginx.pm index aa50bafe1..eea114ce9 100644 --- a/src/http/modules/perl/nginx.pm +++ b/src/http/modules/perl/nginx.pm @@ -47,7 +47,7 @@ our @EXPORT = qw( HTTP_INSUFFICIENT_STORAGE ); -our $VERSION = '0.5.14'; +our $VERSION = '0.5.15'; require XSLoader; XSLoader::load('nginx', $VERSION); diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 96286597b..afc1d644d 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2032,6 +2032,8 @@ ngx_http_set_keepalive(ngx_http_request_t *r) r->http_state = NGX_HTTP_KEEPALIVE_STATE; #endif + c->idle = 1; + if (rev->ready) { ngx_http_keepalive_handler(rev); } @@ -2050,7 +2052,7 @@ ngx_http_keepalive_handler(ngx_event_t *rev) ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http keepalive handler"); - if (rev->timedout) { + if (rev->timedout || c->close) { ngx_http_close_connection(c); return; } @@ -2139,6 +2141,8 @@ ngx_http_keepalive_handler(ngx_event_t *rev) c->log->handler = ngx_http_log_error; c->log->action = "reading client request line"; + c->idle = 0; + ngx_http_init_request(rev); } |