aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJiri Hruska <jirka@fud.cz>2013-02-28 19:16:33 +0100
committerSteve Holme <steve_holme@hotmail.com>2013-02-28 21:00:10 +0000
commit974c663471c15721082d9bdc50d90dd6843467b0 (patch)
treec083f6a4454558b599b8b86b98fd65f171e3f798 /lib
parent692ef0e1582703e8b55192dceff5ad95aae1eb54 (diff)
imap: Introduced FETCH_FINAL state for processing final fetch responses
A typical FETCH response can be broken down into four parts: 1) "* <uid> FETCH (<what> {<size>}\r\n", using continuation syntax 2) <size> bytes of the actual message 3) ")\r\n", finishing the untagged response 4) "<tag> OK ...", finishing the command Part 1 is read in imap_fetch_resp(), part 2 is consumed in the PERFORM phase by the transfer subsystem, parts 3 and 4 are currently ignored.
Diffstat (limited to 'lib')
-rw-r--r--lib/imap.c1
-rw-r--r--lib/imap.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/imap.c b/lib/imap.c
index 8c1ea01d6..8f6aad7c6 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -467,6 +467,7 @@ static void state(struct connectdata *conn, imapstate newstate)
"LOGIN",
"SELECT",
"FETCH",
+ "FETCH_FINAL",
"LOGOUT",
/* LAST */
};
diff --git a/lib/imap.h b/lib/imap.h
index 428bc23ae..af12130bd 100644
--- a/lib/imap.h
+++ b/lib/imap.h
@@ -47,6 +47,7 @@ typedef enum {
IMAP_LOGIN,
IMAP_SELECT,
IMAP_FETCH,
+ IMAP_FETCH_FINAL,
IMAP_LOGOUT,
IMAP_LAST /* never used */
} imapstate;