diff options
Diffstat (limited to 'src/mail/ngx_mail_imap_handler.c')
-rw-r--r-- | src/mail/ngx_mail_imap_handler.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mail/ngx_mail_imap_handler.c b/src/mail/ngx_mail_imap_handler.c index 47a79c6d7..0a93a0789 100644 --- a/src/mail/ngx_mail_imap_handler.c +++ b/src/mail/ngx_mail_imap_handler.c @@ -45,11 +45,17 @@ ngx_mail_imap_init_session(ngx_mail_session_t *s, ngx_connection_t *c) } } - c->read->handler = ngx_mail_imap_init_protocol; - s->out.len = sizeof(imap_greeting) - 1; s->out.data = imap_greeting; + c->read->handler = ngx_mail_imap_init_protocol; + + ngx_add_timer(c->read, cscf->timeout); + + if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { + ngx_mail_close_connection(c); + } + ngx_mail_send(c->write); } |