comparison src/mail/ngx_mail_smtp_handler.c @ 6869:b2915d99ee8d

Mail: make it possible to disable SASL EXTERNAL.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 12 Jan 2017 19:22:03 +0300
parents bcb107bb89cd
children fcd92ad76b7b
comparison
equal deleted inserted replaced
6868:ee3645078759 6869:b2915d99ee8d
607 ngx_str_set(&s->out, smtp_invalid_argument); 607 ngx_str_set(&s->out, smtp_invalid_argument);
608 s->state = 0; 608 s->state = 0;
609 return NGX_OK; 609 return NGX_OK;
610 } 610 }
611 611
612 sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module);
613
612 rc = ngx_mail_auth_parse(s, c); 614 rc = ngx_mail_auth_parse(s, c);
613 615
614 switch (rc) { 616 switch (rc) {
615 617
616 case NGX_MAIL_AUTH_LOGIN: 618 case NGX_MAIL_AUTH_LOGIN:
633 s->mail_state = ngx_smtp_auth_plain; 635 s->mail_state = ngx_smtp_auth_plain;
634 636
635 return NGX_OK; 637 return NGX_OK;
636 638
637 case NGX_MAIL_AUTH_CRAM_MD5: 639 case NGX_MAIL_AUTH_CRAM_MD5:
638
639 sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module);
640 640
641 if (!(sscf->auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED)) { 641 if (!(sscf->auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED)) {
642 return NGX_MAIL_PARSE_INVALID_COMMAND; 642 return NGX_MAIL_PARSE_INVALID_COMMAND;
643 } 643 }
644 644
656 } 656 }
657 657
658 return NGX_ERROR; 658 return NGX_ERROR;
659 659
660 case NGX_MAIL_AUTH_EXTERNAL: 660 case NGX_MAIL_AUTH_EXTERNAL:
661
662 if (!(sscf->auth_methods & NGX_MAIL_AUTH_EXTERNAL_ENABLED)) {
663 return NGX_MAIL_PARSE_INVALID_COMMAND;
664 }
661 665
662 ngx_str_set(&s->out, smtp_username); 666 ngx_str_set(&s->out, smtp_username);
663 s->mail_state = ngx_smtp_auth_external; 667 s->mail_state = ngx_smtp_auth_external;
664 668
665 return NGX_OK; 669 return NGX_OK;