diff options
author | Igor Sysoev <igor@sysoev.ru> | 2004-09-10 14:32:02 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2004-09-10 14:32:02 +0000 |
commit | 10778353ae8eac375bf4cec5cff358b68c0a74be (patch) | |
tree | a65ec8992d91da0bd9bb67edd360949e4a687a3d /src/imap/ngx_imap_parse.c | |
parent | 34a497e500bb9da4e3a9cb6032193f836539be84 (diff) | |
download | nginx-10778353ae8eac375bf4cec5cff358b68c0a74be.tar.gz nginx-10778353ae8eac375bf4cec5cff358b68c0a74be.zip |
nginx-0.0.10-2004-09-10-18:32:02 import
Diffstat (limited to 'src/imap/ngx_imap_parse.c')
-rw-r--r-- | src/imap/ngx_imap_parse.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/imap/ngx_imap_parse.c b/src/imap/ngx_imap_parse.c index e29791d73..fdd6fc233 100644 --- a/src/imap/ngx_imap_parse.c +++ b/src/imap/ngx_imap_parse.c @@ -39,7 +39,7 @@ ngx_int_t ngx_pop3_parse_command(ngx_imap_session_t *s) s->command = NGX_POP3_USER; } else if (c[0] == 'P' && c[1] == 'A' - && c[2] == 'A' && c[3] == 'S') + && c[2] == 'S' && c[3] == 'S') { s->command = NGX_POP3_PASS; @@ -56,10 +56,12 @@ ngx_int_t ngx_pop3_parse_command(ngx_imap_session_t *s) #endif } else { + s->state = sw_start; return NGX_IMAP_PARSE_INVALID_COMMAND; } } else { + s->state = sw_start; return NGX_IMAP_PARSE_INVALID_COMMAND; } @@ -78,6 +80,7 @@ ngx_int_t ngx_pop3_parse_command(ngx_imap_session_t *s) } if (ch < 'A' || ch > 'Z') { + s->state = sw_start; return NGX_IMAP_PARSE_INVALID_COMMAND; } @@ -98,6 +101,7 @@ ngx_int_t ngx_pop3_parse_command(ngx_imap_session_t *s) break; default: if (s->args.nelts > 2) { + s->state = sw_start; return NGX_IMAP_PARSE_INVALID_COMMAND; } @@ -145,6 +149,7 @@ ngx_int_t ngx_pop3_parse_command(ngx_imap_session_t *s) state = sw_done; break; default: + s->state = sw_start; return NGX_IMAP_PARSE_INVALID_COMMAND; } break; @@ -167,6 +172,7 @@ ngx_int_t ngx_pop3_parse_command(ngx_imap_session_t *s) s->arg_start = NULL; } + s->state = sw_start; return NGX_OK; } else { |