Commit 974c6634 authored by Jiri Hruska's avatar Jiri Hruska Committed by Steve Holme
Browse files

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.
parent 692ef0e1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -467,6 +467,7 @@ static void state(struct connectdata *conn, imapstate newstate)
    "LOGIN",
    "SELECT",
    "FETCH",
    "FETCH_FINAL",
    "LOGOUT",
    /* LAST */
  };
+1 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ typedef enum {
  IMAP_LOGIN,
  IMAP_SELECT,
  IMAP_FETCH,
  IMAP_FETCH_FINAL,
  IMAP_LOGOUT,
  IMAP_LAST          /* never used */
} imapstate;