# HG changeset patch # User Igor Sysoev # Date 1185300484 0 # Node ID be2e13691c609e3d423f5767c91fa5af4887606f # Parent 32cdba6f2ec17111b7d63662c49d4335be51cab6 fix case when client has closed connection but upstream buffer is not empty diff --git a/src/mail/ngx_mail_proxy_module.c b/src/mail/ngx_mail_proxy_module.c --- a/src/mail/ngx_mail_proxy_module.c +++ b/src/mail/ngx_mail_proxy_module.c @@ -866,9 +866,11 @@ ngx_mail_proxy_handler(ngx_event_t *ev) c->log->action = "proxying"; - if ((s->connection->read->eof || s->proxy->upstream.connection->read->eof) - && s->buffer->pos == s->buffer->last - && s->proxy->buffer->pos == s->proxy->buffer->last) + if ((s->connection->read->eof && s->buffer->pos == s->buffer->last) + || (s->proxy->upstream.connection->read->eof + && s->proxy->buffer->pos == s->proxy->buffer->last) + || (s->connection->read->eof + && s->proxy->upstream.connection->read->eof)) { action = c->log->action; c->log->action = NULL;