comparison src/http/ngx_http_request.c @ 290:f745bf973510 NGINX_0_5_15

nginx 0.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. *) Feature: now the keep-alive connections are closed just after receiving the reconfiguration signal. *) 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.
author Igor Sysoev <http://sysoev.ru>
date Mon, 19 Mar 2007 00:00:00 +0300
parents 5bef04fc3fd5
children 27d9d1f26b38
comparison
equal deleted inserted replaced
289:a9323c9433a7 290:f745bf973510
2030 #if 0 2030 #if 0
2031 /* if ngx_http_request_t was freed then we need some other place */ 2031 /* if ngx_http_request_t was freed then we need some other place */
2032 r->http_state = NGX_HTTP_KEEPALIVE_STATE; 2032 r->http_state = NGX_HTTP_KEEPALIVE_STATE;
2033 #endif 2033 #endif
2034 2034
2035 c->idle = 1;
2036
2035 if (rev->ready) { 2037 if (rev->ready) {
2036 ngx_http_keepalive_handler(rev); 2038 ngx_http_keepalive_handler(rev);
2037 } 2039 }
2038 } 2040 }
2039 2041
2048 2050
2049 c = rev->data; 2051 c = rev->data;
2050 2052
2051 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http keepalive handler"); 2053 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http keepalive handler");
2052 2054
2053 if (rev->timedout) { 2055 if (rev->timedout || c->close) {
2054 ngx_http_close_connection(c); 2056 ngx_http_close_connection(c);
2055 return; 2057 return;
2056 } 2058 }
2057 2059
2058 #if (NGX_HAVE_KQUEUE) 2060 #if (NGX_HAVE_KQUEUE)
2137 #endif 2139 #endif
2138 2140
2139 c->log->handler = ngx_http_log_error; 2141 c->log->handler = ngx_http_log_error;
2140 c->log->action = "reading client request line"; 2142 c->log->action = "reading client request line";
2141 2143
2144 c->idle = 0;
2145
2142 ngx_http_init_request(rev); 2146 ngx_http_init_request(rev);
2143 } 2147 }
2144 2148
2145 2149
2146 static void 2150 static void