Mercurial > hg > nginx
comparison src/imap/ngx_imap_parse.c @ 800:887d8dec72dc
APOP
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 23 Oct 2006 13:10:10 +0000 |
parents | 4e296b7d25bf |
children | da9c1521319d |
comparison
equal
deleted
inserted
replaced
799:9737d6fb1ac6 | 800:887d8dec72dc |
---|---|
427 | 427 |
428 } else if (c0 == 'P' && c1 == 'A' && c2 == 'S' && c3 == 'S') | 428 } else if (c0 == 'P' && c1 == 'A' && c2 == 'S' && c3 == 'S') |
429 { | 429 { |
430 s->command = NGX_POP3_PASS; | 430 s->command = NGX_POP3_PASS; |
431 | 431 |
432 } else if (c0 == 'A' && c1 == 'P' && c2 == 'O' && c3 == 'P') | |
433 { | |
434 s->command = NGX_POP3_APOP; | |
435 | |
432 } else if (c0 == 'Q' && c1 == 'U' && c2 == 'I' && c3 == 'T') | 436 } else if (c0 == 'Q' && c1 == 'U' && c2 == 'I' && c3 == 'T') |
433 { | 437 { |
434 s->command = NGX_POP3_QUIT; | 438 s->command = NGX_POP3_QUIT; |
435 | 439 |
436 } else if (c0 == 'C' && c1 == 'A' && c2 == 'P' && c3 == 'A') | 440 } else if (c0 == 'C' && c1 == 'A' && c2 == 'P' && c3 == 'A') |
494 break; | 498 break; |
495 | 499 |
496 case sw_argument: | 500 case sw_argument: |
497 switch (ch) { | 501 switch (ch) { |
498 | 502 |
499 /* | 503 case ' ': |
500 * the space should be considered part of the at username | 504 |
501 * or password, but not of argument in other commands | 505 /* |
502 * | 506 * the space should be considered as part of the at username |
503 * case ' ': | 507 * or password, but not of argument in other commands |
504 */ | 508 */ |
509 | |
510 if (s->command == NGX_POP3_USER | |
511 || s->command == NGX_POP3_PASS) | |
512 { | |
513 break; | |
514 } | |
515 | |
516 /* fall through */ | |
505 | 517 |
506 case CR: | 518 case CR: |
507 case LF: | 519 case LF: |
508 arg = ngx_array_push(&s->args); | 520 arg = ngx_array_push(&s->args); |
509 if (arg == NULL) { | 521 if (arg == NULL) { |