aboutsummaryrefslogtreecommitdiff
path: root/src/imap/ngx_imap_parse.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-09-10 14:32:02 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-09-10 14:32:02 +0000
commit10778353ae8eac375bf4cec5cff358b68c0a74be (patch)
treea65ec8992d91da0bd9bb67edd360949e4a687a3d /src/imap/ngx_imap_parse.c
parent34a497e500bb9da4e3a9cb6032193f836539be84 (diff)
downloadnginx-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.c8
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 {