mirror of
https://github.com/curl/curl.git
synced 2025-09-21 03:22:41 +03:00
pop3: Differentiate between success and continuation responses
This commit is contained in:
parent
6af80afe49
commit
41efdadf09
14
lib/pop3.c
14
lib/pop3.c
|
@ -214,7 +214,7 @@ static const struct Curl_handler Curl_handler_pop3s_proxy = {
|
|||
/* SASL parameters for the pop3 protocol */
|
||||
static const struct SASLproto saslpop3 = {
|
||||
"pop", /* The service name */
|
||||
'+', /* Code received when continuation is expected */
|
||||
'*', /* Code received when continuation is expected */
|
||||
'+', /* Code to receive upon authentication success */
|
||||
255 - 8, /* Maximum initial response length (no max) */
|
||||
pop3_perform_auth, /* Send authentication command */
|
||||
|
@ -265,14 +265,20 @@ static bool pop3_endofresp(struct connectdata *conn, char *line, size_t len,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Do we have a success or continuation response? */
|
||||
if((len >= 3 && !memcmp("+OK", line, 3)) ||
|
||||
(len >= 1 && !memcmp("+", line, 1))) {
|
||||
/* Do we have a success response? */
|
||||
if(len >= 3 && !memcmp("+OK", line, 3)) {
|
||||
*resp = '+';
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Do we have a continuation response? */
|
||||
if(len >= 1 && !memcmp("+", line, 1)) {
|
||||
*resp = '*';
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE; /* Nothing for us */
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user