aboutsummaryrefslogtreecommitdiff
path: root/src/mail/ngx_mail_imap_handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mail/ngx_mail_imap_handler.c')
-rw-r--r--src/mail/ngx_mail_imap_handler.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mail/ngx_mail_imap_handler.c b/src/mail/ngx_mail_imap_handler.c
index 57e2fb77d..1c5445785 100644
--- a/src/mail/ngx_mail_imap_handler.c
+++ b/src/mail/ngx_mail_imap_handler.c
@@ -222,6 +222,10 @@ ngx_mail_imap_auth_state(ngx_event_t *rev)
case ngx_imap_auth_cram_md5:
rc = ngx_mail_auth_cram_md5(s, c);
break;
+
+ case ngx_imap_auth_external:
+ rc = ngx_mail_auth_external(s, c, 0);
+ break;
}
} else if (rc == NGX_IMAP_NEXT) {
@@ -399,6 +403,13 @@ ngx_mail_imap_authenticate(ngx_mail_session_t *s, ngx_connection_t *c)
}
return NGX_ERROR;
+
+ case NGX_MAIL_AUTH_EXTERNAL:
+
+ ngx_str_set(&s->out, imap_username);
+ s->mail_state = ngx_imap_auth_external;
+
+ return NGX_OK;
}
return rc;