Mercurial > hg > nginx-mail
comparison src/mail/ngx_mail_smtp_handler.c @ 459:dac47e9ef0d5 NGINX_0_7_27
nginx 0.7.27
*) Feature: the "try_files" directive.
*) Feature: variables support in the "fastcgi_pass" directive.
*) Feature: now the $geo variable may get an address from a
variable.
Thanks to Andrei Nigmatulin.
*) Feature: now a location's modifier may be used without space before
name.
*) Feature: the $upstream_response_length variable.
*) Bugfix: now a "add_header" directive does not add an empty value.
*) Bugfix: if zero length static file was requested, then nginx just
closed connection; the bug had appeared in 0.7.25.
*) Bugfix: a MOVE method could not move file in non-existent directory.
*) Bugfix: a segmentation fault occurred in worker process, if no one
named location was defined in server, but some one was used in an
error_page directive.
Thanks to Sergey Bochenkov.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 15 Dec 2008 00:00:00 +0300 |
parents | ad0a34a8efa6 |
children | d67e93e97b4a 670af56a1158 |
comparison
equal
deleted
inserted
replaced
458:3b8e9d1bc9bb | 459:dac47e9ef0d5 |
---|---|
226 sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module); | 226 sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module); |
227 | 227 |
228 timeout = sscf->greeting_delay ? sscf->greeting_delay : cscf->timeout; | 228 timeout = sscf->greeting_delay ? sscf->greeting_delay : cscf->timeout; |
229 ngx_add_timer(c->read, timeout); | 229 ngx_add_timer(c->read, timeout); |
230 | 230 |
231 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 231 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
232 ngx_mail_close_connection(c); | 232 ngx_mail_close_connection(c); |
233 } | 233 } |
234 | 234 |
235 if (sscf->greeting_delay) { | 235 if (sscf->greeting_delay) { |
236 c->read->handler = ngx_mail_smtp_invalid_pipelining; | 236 c->read->handler = ngx_mail_smtp_invalid_pipelining; |
268 | 268 |
269 c->read->handler = ngx_mail_smtp_init_protocol; | 269 c->read->handler = ngx_mail_smtp_init_protocol; |
270 | 270 |
271 ngx_add_timer(c->read, cscf->timeout); | 271 ngx_add_timer(c->read, cscf->timeout); |
272 | 272 |
273 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 273 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
274 ngx_mail_close_connection(c); | 274 ngx_mail_close_connection(c); |
275 return; | 275 return; |
276 } | 276 } |
277 | 277 |
278 sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module); | 278 sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module); |
817 if (n > 0) { | 817 if (n > 0) { |
818 s->buffer->last += n; | 818 s->buffer->last += n; |
819 } | 819 } |
820 | 820 |
821 if (n == NGX_AGAIN) { | 821 if (n == NGX_AGAIN) { |
822 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 822 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
823 ngx_mail_session_internal_server_error(s); | 823 ngx_mail_session_internal_server_error(s); |
824 return NGX_ERROR; | 824 return NGX_ERROR; |
825 } | 825 } |
826 | 826 |
827 return NGX_AGAIN; | 827 return NGX_AGAIN; |