dovecot-2.2: lib-imap-client: If SELECT/EXAMINE fails, set the c...

dovecot at dovecot.org dovecot at dovecot.org
Thu Jun 6 08:57:26 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/375becde3b42
changeset: 16462:375becde3b42
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Jun 06 08:56:07 2013 +0300
description:
lib-imap-client: If SELECT/EXAMINE fails, set the connection as not being selected.

diffstat:

 src/lib-imap-client/imapc-connection.c |  7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diffs (17 lines):

diff -r 0a88c358cf82 -r 375becde3b42 src/lib-imap-client/imapc-connection.c
--- a/src/lib-imap-client/imapc-connection.c	Thu Jun 06 06:55:34 2013 +0300
+++ b/src/lib-imap-client/imapc-connection.c	Thu Jun 06 08:56:07 2013 +0300
@@ -1047,6 +1047,13 @@
 		imapc_connection_disconnect(conn);
 	}
 
+	if (reply.state == IMAPC_COMMAND_STATE_NO &&
+	    (cmd->flags & IMAPC_COMMAND_FLAG_SELECT) != 0 &&
+	    conn->selected_box != NULL) {
+		/* EXAMINE/SELECT failed: mailbox is no longer selected */
+		imapc_connection_unselect(conn->selected_box);
+	}
+
 	imapc_connection_input_reset(conn);
 	imapc_command_reply_free(cmd, &reply);
 	imapc_command_send_more(conn);


More information about the dovecot-cvs mailing list