Mercurial > hg > nginx-mail
comparison src/mail/ngx_mail_proxy_module.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 ce4f9ff90bfa |
comparison
equal
deleted
inserted
replaced
458:3b8e9d1bc9bb | 459:dac47e9ef0d5 |
---|---|
199 ngx_connection_t *c; | 199 ngx_connection_t *c; |
200 ngx_mail_session_t *s; | 200 ngx_mail_session_t *s; |
201 | 201 |
202 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, rev->log, 0, "mail proxy block read"); | 202 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, rev->log, 0, "mail proxy block read"); |
203 | 203 |
204 if (ngx_handle_read_event(rev, 0) == NGX_ERROR) { | 204 if (ngx_handle_read_event(rev, 0) != NGX_OK) { |
205 c = rev->data; | 205 c = rev->data; |
206 s = c->data; | 206 s = c->data; |
207 | 207 |
208 ngx_mail_proxy_close_session(s); | 208 ngx_mail_proxy_close_session(s); |
209 } | 209 } |
662 ngx_connection_t *c; | 662 ngx_connection_t *c; |
663 ngx_mail_session_t *s; | 663 ngx_mail_session_t *s; |
664 | 664 |
665 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, wev->log, 0, "mail proxy dummy handler"); | 665 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, wev->log, 0, "mail proxy dummy handler"); |
666 | 666 |
667 if (ngx_handle_write_event(wev, 0) == NGX_ERROR) { | 667 if (ngx_handle_write_event(wev, 0) != NGX_OK) { |
668 c = wev->data; | 668 c = wev->data; |
669 s = c->data; | 669 s = c->data; |
670 | 670 |
671 ngx_mail_proxy_close_session(s); | 671 ngx_mail_proxy_close_session(s); |
672 } | 672 } |
945 | 945 |
946 ngx_mail_proxy_close_session(s); | 946 ngx_mail_proxy_close_session(s); |
947 return; | 947 return; |
948 } | 948 } |
949 | 949 |
950 if (ngx_handle_write_event(dst->write, 0) == NGX_ERROR) { | 950 if (ngx_handle_write_event(dst->write, 0) != NGX_OK) { |
951 ngx_mail_proxy_close_session(s); | 951 ngx_mail_proxy_close_session(s); |
952 return; | 952 return; |
953 } | 953 } |
954 | 954 |
955 if (ngx_handle_read_event(dst->read, 0) == NGX_ERROR) { | 955 if (ngx_handle_read_event(dst->read, 0) != NGX_OK) { |
956 ngx_mail_proxy_close_session(s); | 956 ngx_mail_proxy_close_session(s); |
957 return; | 957 return; |
958 } | 958 } |
959 | 959 |
960 if (ngx_handle_write_event(src->write, 0) == NGX_ERROR) { | 960 if (ngx_handle_write_event(src->write, 0) != NGX_OK) { |
961 ngx_mail_proxy_close_session(s); | 961 ngx_mail_proxy_close_session(s); |
962 return; | 962 return; |
963 } | 963 } |
964 | 964 |
965 if (ngx_handle_read_event(src->read, 0) == NGX_ERROR) { | 965 if (ngx_handle_read_event(src->read, 0) != NGX_OK) { |
966 ngx_mail_proxy_close_session(s); | 966 ngx_mail_proxy_close_session(s); |
967 return; | 967 return; |
968 } | 968 } |
969 | 969 |
970 if (c == s->connection) { | 970 if (c == s->connection) { |