Mercurial > hg > nginx-mail
comparison src/mail/ngx_mail_smtp_handler.c @ 468:2580fe1c5a9a PATCH_NGINX_MAIL_0_6
Mail: support for smtp auth login with username.
According to "[MS-XLOGIN]: SMTP Protocol AUTH LOGIN Extension Specification"
(http://msdn.microsoft.com/en-us/library/cc433484.aspx) there is special mode
called "AUTH LOGIN with User Name". And it seems to be used by some Microsoft
software seen in wild.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sun, 11 Jan 2009 23:19:26 +0300 |
parents | d67e93e97b4a |
children | a28a95b7a86d |
comparison
equal
deleted
inserted
replaced
467:d67e93e97b4a | 468:2580fe1c5a9a |
---|---|
444 } | 444 } |
445 | 445 |
446 break; | 446 break; |
447 | 447 |
448 case ngx_smtp_auth_login_username: | 448 case ngx_smtp_auth_login_username: |
449 rc = ngx_mail_auth_login_username(s, c); | 449 rc = ngx_mail_auth_login_username(s, c, 0); |
450 | 450 |
451 s->out.len = sizeof(smtp_password) - 1; | 451 s->out.len = sizeof(smtp_password) - 1; |
452 s->out.data = smtp_password; | 452 s->out.data = smtp_password; |
453 s->mail_state = ngx_smtp_auth_login_password; | 453 s->mail_state = ngx_smtp_auth_login_password; |
454 break; | 454 break; |
599 s->out.len = sizeof(smtp_username) - 1; | 599 s->out.len = sizeof(smtp_username) - 1; |
600 s->out.data = smtp_username; | 600 s->out.data = smtp_username; |
601 s->mail_state = ngx_smtp_auth_login_username; | 601 s->mail_state = ngx_smtp_auth_login_username; |
602 | 602 |
603 return NGX_OK; | 603 return NGX_OK; |
604 | |
605 case NGX_MAIL_AUTH_LOGIN_USERNAME: | |
606 | |
607 s->out.len = sizeof(smtp_password) - 1; | |
608 s->out.data = smtp_password; | |
609 s->mail_state = ngx_smtp_auth_login_password; | |
610 | |
611 return ngx_mail_auth_login_username(s, c, 1); | |
604 | 612 |
605 case NGX_MAIL_AUTH_PLAIN: | 613 case NGX_MAIL_AUTH_PLAIN: |
606 | 614 |
607 s->out.len = sizeof(smtp_next) - 1; | 615 s->out.len = sizeof(smtp_next) - 1; |
608 s->out.data = smtp_next; | 616 s->out.data = smtp_next; |