details: http://hg.nginx.org/nginx/rev/b2915d99ee8d branches: changeset: 6869:b2915d99ee8d user: Sergey Kandaurov <pluk...@nginx.com> date: Thu Jan 12 19:22:03 2017 +0300 description: Mail: make it possible to disable SASL EXTERNAL.
diffstat: src/mail/ngx_mail_imap_handler.c | 8 ++++++-- src/mail/ngx_mail_pop3_handler.c | 4 ++++ src/mail/ngx_mail_smtp_handler.c | 8 ++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diffs (78 lines): diff -r ee3645078759 -r b2915d99ee8d src/mail/ngx_mail_imap_handler.c --- a/src/mail/ngx_mail_imap_handler.c Wed Jan 11 12:01:56 2017 +0300 +++ b/src/mail/ngx_mail_imap_handler.c Thu Jan 12 19:22:03 2017 +0300 @@ -356,6 +356,8 @@ ngx_mail_imap_authenticate(ngx_mail_sess } #endif + iscf = ngx_mail_get_module_srv_conf(s, ngx_mail_imap_module); + rc = ngx_mail_auth_parse(s, c); switch (rc) { @@ -383,8 +385,6 @@ ngx_mail_imap_authenticate(ngx_mail_sess case NGX_MAIL_AUTH_CRAM_MD5: - iscf = ngx_mail_get_module_srv_conf(s, ngx_mail_imap_module); - if (!(iscf->auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED)) { return NGX_MAIL_PARSE_INVALID_COMMAND; } @@ -406,6 +406,10 @@ ngx_mail_imap_authenticate(ngx_mail_sess case NGX_MAIL_AUTH_EXTERNAL: + if (!(iscf->auth_methods & NGX_MAIL_AUTH_EXTERNAL_ENABLED)) { + return NGX_MAIL_PARSE_INVALID_COMMAND; + } + ngx_str_set(&s->out, imap_username); s->mail_state = ngx_imap_auth_external; diff -r ee3645078759 -r b2915d99ee8d src/mail/ngx_mail_pop3_handler.c --- a/src/mail/ngx_mail_pop3_handler.c Wed Jan 11 12:01:56 2017 +0300 +++ b/src/mail/ngx_mail_pop3_handler.c Thu Jan 12 19:22:03 2017 +0300 @@ -501,6 +501,10 @@ ngx_mail_pop3_auth(ngx_mail_session_t *s case NGX_MAIL_AUTH_EXTERNAL: + if (!(pscf->auth_methods & NGX_MAIL_AUTH_EXTERNAL_ENABLED)) { + return NGX_MAIL_PARSE_INVALID_COMMAND; + } + ngx_str_set(&s->out, pop3_username); s->mail_state = ngx_pop3_auth_external; diff -r ee3645078759 -r b2915d99ee8d src/mail/ngx_mail_smtp_handler.c --- a/src/mail/ngx_mail_smtp_handler.c Wed Jan 11 12:01:56 2017 +0300 +++ b/src/mail/ngx_mail_smtp_handler.c Thu Jan 12 19:22:03 2017 +0300 @@ -609,6 +609,8 @@ ngx_mail_smtp_auth(ngx_mail_session_t *s return NGX_OK; } + sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module); + rc = ngx_mail_auth_parse(s, c); switch (rc) { @@ -636,8 +638,6 @@ ngx_mail_smtp_auth(ngx_mail_session_t *s case NGX_MAIL_AUTH_CRAM_MD5: - sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module); - if (!(sscf->auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED)) { return NGX_MAIL_PARSE_INVALID_COMMAND; } @@ -659,6 +659,10 @@ ngx_mail_smtp_auth(ngx_mail_session_t *s case NGX_MAIL_AUTH_EXTERNAL: + if (!(sscf->auth_methods & NGX_MAIL_AUTH_EXTERNAL_ENABLED)) { + return NGX_MAIL_PARSE_INVALID_COMMAND; + } + ngx_str_set(&s->out, smtp_username); s->mail_state = ngx_smtp_auth_external; _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel