Mercurial > hg > nginx-ranges
comparison src/imap/ngx_imap_parse.c @ 250:fbf2b2f66c9f NGINX_0_4_10
nginx 0.4.10
*) Feature: the POP3 proxy supports the APOP command.
*) Bugfix: if the select, poll or /dev/poll methods were used, then
while waiting authentication server response the IMAP/POP3 proxy
hogged CPU.
*) Bugfix: a segmentation fault might occur if the $server_addr
variable was used in the "map" directive.
*) Bugfix: the ngx_http_flv_module did not support the byte ranges for
full responses; bug appeared in 0.4.7.
*) Bugfix: nginx could not be built on Debian amd64; bug appeared in
0.4.9.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 23 Oct 2006 00:00:00 +0400 |
parents | 91372f004adf |
children | 644510700914 |
comparison
equal
deleted
inserted
replaced
249:7a34085272cb | 250:fbf2b2f66c9f |
---|---|
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) { |