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;