Mercurial > hg > nginx
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; |