imap: Fixed handling of untagged responses for the STORE custom command
Added an exception, for the STORE command, to the untagged response processor in imap_endofresp() as servers will back respones containing the FETCH keyword instead.
This commit is contained in:
@@ -415,9 +415,12 @@ static bool imap_endofresp(struct connectdata *conn, char *line, size_t len,
|
|||||||
case IMAP_CUSTOM:
|
case IMAP_CUSTOM:
|
||||||
/* When dealing with a custom command, we are interested in all
|
/* When dealing with a custom command, we are interested in all
|
||||||
intermediate responses which match the parameter name. The
|
intermediate responses which match the parameter name. The
|
||||||
exceptions are SELECT and EXAMINE commands, for which no
|
exceptions are STORE, which returns untagged responses as FETCH,
|
||||||
filtering is (or can be easily) done. */
|
and SELECT and EXAMINE commands, for which no filtering is (or can
|
||||||
|
be easily) done. */
|
||||||
if(!imap_matchresp(line, len, imap->custom) &&
|
if(!imap_matchresp(line, len, imap->custom) &&
|
||||||
|
(strcmp(imap->custom, "STORE") ||
|
||||||
|
!imap_matchresp(line, len, "FETCH")) &&
|
||||||
strcmp(imap->custom, "SELECT") &&
|
strcmp(imap->custom, "SELECT") &&
|
||||||
strcmp(imap->custom, "EXAMINE"))
|
strcmp(imap->custom, "EXAMINE"))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
Reference in New Issue
Block a user