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)