]> git.kaiwu.me - nginx.git/commit
Mail: fixed duplicate resolving.
authorMaxim Dounin <mdounin@mdounin.ru>
Thu, 1 Aug 2019 10:50:07 +0000 (13:50 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Thu, 1 Aug 2019 10:50:07 +0000 (13:50 +0300)
commitabe660636c93315b4acb8531b83aec8d309d2eca
tree8fb04ef8f3a77deea4a8c428a29b4d078982c9b5
parent39c40428f93db246a9a27e7a109413fae46e195d
Mail: fixed duplicate resolving.

When using SMTP with SSL and resolver, read events might be enabled
during address resolving, leading to duplicate ngx_mail_ssl_handshake_handler()
calls if something arrives from the client, and duplicate session
initialization - including starting another resolving.  This can lead
to a segmentation fault if the session is closed after first resolving
finished.  Fix is to block read events while resolving.

Reported by Robert Norris,
http://mailman.nginx.org/pipermail/nginx/2019-July/058204.html.
src/mail/ngx_mail_smtp_handler.c