comparison src/mail/ngx_mail_imap_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 8246d8a2c2be
comparison
equal deleted inserted replaced
467:d67e93e97b4a 468:2580fe1c5a9a
203 } 203 }
204 204
205 break; 205 break;
206 206
207 case ngx_imap_auth_login_username: 207 case ngx_imap_auth_login_username:
208 rc = ngx_mail_auth_login_username(s, c); 208 rc = ngx_mail_auth_login_username(s, c, 0);
209 209
210 tag = 0; 210 tag = 0;
211 s->out.len = sizeof(imap_password) - 1; 211 s->out.len = sizeof(imap_password) - 1;
212 s->out.data = imap_password; 212 s->out.data = imap_password;
213 s->mail_state = ngx_imap_auth_login_password; 213 s->mail_state = ngx_imap_auth_login_password;
368 s->out.data = imap_username; 368 s->out.data = imap_username;
369 s->mail_state = ngx_imap_auth_login_username; 369 s->mail_state = ngx_imap_auth_login_username;
370 370
371 return NGX_OK; 371 return NGX_OK;
372 372
373 case NGX_MAIL_AUTH_LOGIN_USERNAME:
374
375 s->out.len = sizeof(imap_password) - 1;
376 s->out.data = imap_password;
377 s->mail_state = ngx_imap_auth_login_password;
378
379 return ngx_mail_auth_login_username(s, c, 1);
380
373 case NGX_MAIL_AUTH_PLAIN: 381 case NGX_MAIL_AUTH_PLAIN:
374 382
375 s->out.len = sizeof(imap_plain_next) - 1; 383 s->out.len = sizeof(imap_plain_next) - 1;
376 s->out.data = imap_plain_next; 384 s->out.data = imap_plain_next;
377 s->mail_state = ngx_imap_auth_plain; 385 s->mail_state = ngx_imap_auth_plain;