[nginx] Mail: make it possible to disable SASL EXTERNAL.
Sergey Kandaurov
pluknet at nginx.com
Thu Jan 12 16:26:28 UTC 2017
details: http://hg.nginx.org/nginx/rev/b2915d99ee8d
branches:
changeset: 6869:b2915d99ee8d
user: Sergey Kandaurov <pluknet at 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;
More information about the nginx-devel
mailing list