summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2010-06-25 12:25:38 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-06-28 14:04:37 +0100
commit7542842bcaf47323d519a1ec49b818315baf2dcd (patch)
tree08e712491bc9c3811821e70edcae015969ff651b
parent959c2e831f18d8c1e0abf0c49ded47a0148b1c0b (diff)
downloadevolution-data-server-7542842bcaf47323d519a1ec49b818315baf2dcd.tar.gz
Handle BYE response
(cherry picked from commit 0b52c6b9ef0ed9a27942bc7cf6493886a9db0967)
-rw-r--r--camel/providers/imapx/camel-imapx-server.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index a17c6d150..7b1c8159f 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -1522,12 +1522,22 @@ imapx_untagged(CamelIMAPXServer *imap, CamelException *ex)
}
break;
}
+ case IMAPX_BYE: {
+ guchar *token;
+
+ camel_imapx_stream_text (imap->stream, &token, ex);
+ if (!camel_exception_is_set(ex)) {
+ c(printf("BYE: %s\n", token));
+ camel_exception_setv(ex, 1, "IMAP server said BYE: %s", token);
+ }
+ break;
+ }
case IMAPX_PREAUTH:
c(printf("preauthenticated\n"));
if (imap->state < IMAPX_AUTHENTICATED)
imap->state = IMAPX_AUTHENTICATED;
/* fall through... */
- case IMAPX_BYE: case IMAPX_OK: case IMAPX_NO: case IMAPX_BAD:
+ case IMAPX_OK: case IMAPX_NO: case IMAPX_BAD:
/* TODO: validate which ones of these can happen as unsolicited responses */
/* TODO: handle bye/preauth differently */
camel_imapx_stream_ungettoken(imap->stream, tok, token, len);