Mercurial > hg > nginx-vendor-current
comparison src/imap/ngx_imap_parse.c @ 252:644510700914 NGINX_0_4_11
nginx 0.4.11
*) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
*) Feature: the ngx_http_perl_module supports the $r->allow_ranges
method.
*) Bugfix: if the APOP was enabled in the POP3 proxy, then the
USER/PASS commands might not work; bug appeared in 0.4.10.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 25 Oct 2006 00:00:00 +0400 |
parents | fbf2b2f66c9f |
children |
comparison
equal
deleted
inserted
replaced
251:16ffa8ae5759 | 252:644510700914 |
---|---|
439 | 439 |
440 } else if (c0 == 'C' && c1 == 'A' && c2 == 'P' && c3 == 'A') | 440 } else if (c0 == 'C' && c1 == 'A' && c2 == 'P' && c3 == 'A') |
441 { | 441 { |
442 s->command = NGX_POP3_CAPA; | 442 s->command = NGX_POP3_CAPA; |
443 | 443 |
444 } else if (c0 == 'A' && c1 == 'U' && c2 == 'T' && c3 == 'H') | |
445 { | |
446 s->command = NGX_POP3_AUTH; | |
447 | |
444 } else if (c0 == 'N' && c1 == 'O' && c2 == 'O' && c3 == 'P') | 448 } else if (c0 == 'N' && c1 == 'O' && c2 == 'O' && c3 == 'P') |
445 { | 449 { |
446 s->command = NGX_POP3_NOOP; | 450 s->command = NGX_POP3_NOOP; |
447 #if (NGX_IMAP_SSL) | 451 #if (NGX_IMAP_SSL) |
448 } else if (c0 == 'S' && c1 == 'T' && c2 == 'L' && c3 == 'S') | 452 } else if (c0 == 'S' && c1 == 'T' && c2 == 'L' && c3 == 'S') |
569 arg->len = s->arg_end - s->arg_start; | 573 arg->len = s->arg_end - s->arg_start; |
570 arg->data = s->arg_start; | 574 arg->data = s->arg_start; |
571 s->arg_start = NULL; | 575 s->arg_start = NULL; |
572 } | 576 } |
573 | 577 |
578 s->state = (s->command != NGX_POP3_AUTH) ? sw_start : sw_argument; | |
579 return NGX_OK; | |
580 | |
581 invalid: | |
582 | |
574 s->state = sw_start; | 583 s->state = sw_start; |
575 | 584 s->arg_start = NULL; |
576 return NGX_OK; | |
577 | |
578 invalid: | |
579 | |
580 s->state = sw_start; | |
581 | 585 |
582 return NGX_IMAP_PARSE_INVALID_COMMAND; | 586 return NGX_IMAP_PARSE_INVALID_COMMAND; |
583 } | 587 } |