Mercurial > hg > nginx
comparison src/mail/ngx_mail_proxy_module.c @ 5398:04e43d03e153
Mail: smtp pipelining support.
Basically, this does the following two changes (and corresponding
modifications of related code):
1. Does not reset session buffer unless it's reached it's end, and always
wait for LF to terminate command (even if we detected invalid command).
2. Record command name to make it available for handlers (since now we
can't assume that command starts from s->buffer->start).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 30 Sep 2013 22:09:57 +0400 |
parents | d620f497c50f |
children | d3e09aa03a7a |
comparison
equal
deleted
inserted
replaced
5397:ae73d7a4fcde | 5398:04e43d03e153 |
---|---|
655 ngx_del_timer(c->read); | 655 ngx_del_timer(c->read); |
656 | 656 |
657 c->log->action = NULL; | 657 c->log->action = NULL; |
658 ngx_log_error(NGX_LOG_INFO, c->log, 0, "client logged in"); | 658 ngx_log_error(NGX_LOG_INFO, c->log, 0, "client logged in"); |
659 | 659 |
660 ngx_mail_proxy_handler(s->connection->write); | 660 if (s->buffer->pos == s->buffer->last) { |
661 ngx_mail_proxy_handler(s->connection->write); | |
662 | |
663 } else { | |
664 ngx_mail_proxy_handler(c->write); | |
665 } | |
661 | 666 |
662 return; | 667 return; |
663 | 668 |
664 default: | 669 default: |
665 #if (NGX_SUPPRESS_WARN) | 670 #if (NGX_SUPPRESS_WARN) |