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;