Mercurial > hg > nginx-mail
comparison src/mail/ngx_mail_pop3_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 | dac47e9ef0d5 |
children | 5938746e70c2 da3c99095432 |
comparison
equal
deleted
inserted
replaced
467:d67e93e97b4a | 468:2580fe1c5a9a |
---|---|
224 /* suppress warinings */ | 224 /* suppress warinings */ |
225 case ngx_pop3_passwd: | 225 case ngx_pop3_passwd: |
226 break; | 226 break; |
227 | 227 |
228 case ngx_pop3_auth_login_username: | 228 case ngx_pop3_auth_login_username: |
229 rc = ngx_mail_auth_login_username(s, c); | 229 rc = ngx_mail_auth_login_username(s, c, 0); |
230 | 230 |
231 s->out.len = sizeof(pop3_password) - 1; | 231 s->out.len = sizeof(pop3_password) - 1; |
232 s->out.data = pop3_password; | 232 s->out.data = pop3_password; |
233 s->mail_state = ngx_pop3_auth_login_password; | 233 s->mail_state = ngx_pop3_auth_login_password; |
234 break; | 234 break; |
472 s->out.data = pop3_username; | 472 s->out.data = pop3_username; |
473 s->mail_state = ngx_pop3_auth_login_username; | 473 s->mail_state = ngx_pop3_auth_login_username; |
474 | 474 |
475 return NGX_OK; | 475 return NGX_OK; |
476 | 476 |
477 case NGX_MAIL_AUTH_LOGIN_USERNAME: | |
478 | |
479 s->out.len = sizeof(pop3_password) - 1; | |
480 s->out.data = pop3_password; | |
481 s->mail_state = ngx_pop3_auth_login_password; | |
482 | |
483 return ngx_mail_auth_login_username(s, c, 1); | |
484 | |
477 case NGX_MAIL_AUTH_PLAIN: | 485 case NGX_MAIL_AUTH_PLAIN: |
478 | 486 |
479 s->out.len = sizeof(pop3_next) - 1; | 487 s->out.len = sizeof(pop3_next) - 1; |
480 s->out.data = pop3_next; | 488 s->out.data = pop3_next; |
481 s->mail_state = ngx_pop3_auth_plain; | 489 s->mail_state = ngx_pop3_auth_plain; |