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:
Steve Holme 2013-03-08 21:18:36 +00:00
parent 21c1de430a
commit 1f41772bef
1 changed files with 5 additions and 2 deletions

View File

@ -415,9 +415,12 @@ static bool imap_endofresp(struct connectdata *conn, char *line, size_t len,
case IMAP_CUSTOM:
/* When dealing with a custom command, we are interested in all
intermediate responses which match the parameter name. The
exceptions are SELECT and EXAMINE commands, for which no
filtering is (or can be easily) done. */
exceptions are STORE, which returns untagged responses as FETCH,
and SELECT and EXAMINE commands, for which no filtering is (or can
be easily) done. */
if(!imap_matchresp(line, len, imap->custom) &&
(strcmp(imap->custom, "STORE") ||
!imap_matchresp(line, len, "FETCH")) &&
strcmp(imap->custom, "SELECT") &&
strcmp(imap->custom, "EXAMINE"))
return FALSE;