comparison src/mail/ngx_mail_proxy_module.c @ 7843:b38728495e1a

Mail: IMAP pipelining support. The change is mostly the same as the SMTP one (04e43d03e153 and 3f5d0af4e40a), and ensures that nginx is able to properly handle or reject multiple IMAP commands. The s->cmd field is not really used and set for consistency. Non-synchronizing literals handling in invalid/unknown commands is limited, so when a non-synchronizing literal is detected at the end of a discarded line, the connection is closed.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 19 May 2021 03:13:28 +0300
parents 815c63581be4
children 17d6a537fb1b
comparison
equal deleted inserted replaced
7842:4b15f1b92100 7843:b38728495e1a
484 ngx_del_timer(c->read); 484 ngx_del_timer(c->read);
485 485
486 c->log->action = NULL; 486 c->log->action = NULL;
487 ngx_log_error(NGX_LOG_INFO, c->log, 0, "client logged in"); 487 ngx_log_error(NGX_LOG_INFO, c->log, 0, "client logged in");
488 488
489 if (s->buffer->pos < s->buffer->last) {
490 ngx_post_event(c->write, &ngx_posted_events);
491 }
492
489 ngx_mail_proxy_handler(s->connection->write); 493 ngx_mail_proxy_handler(s->connection->write);
490 494
491 return; 495 return;
492 496
493 default: 497 default: