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) {