From: Timo Sirainen Date: Tue, 2 Jun 2015 19:47:21 +0000 (+0300) Subject: imapc: If auth fails due to connection failure, don't treat it the same as failed... X-Git-Tag: 2.2.19.rc1~387 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=014cfdf92b145bc7ff4d1393ca24dfef5c109b0f;p=thirdparty%2Fdovecot%2Fcore.git imapc: If auth fails due to connection failure, don't treat it the same as failed login. --- diff --git a/src/lib-storage/index/imapc/imapc-storage.c b/src/lib-storage/index/imapc/imapc-storage.c index 852a90f9ac..a9d5103064 100644 --- a/src/lib-storage/index/imapc/imapc-storage.c +++ b/src/lib-storage/index/imapc/imapc-storage.c @@ -212,12 +212,20 @@ imapc_storage_client_login(const struct imapc_command_reply *reply, client->auth_failed = TRUE; if (client->_storage != NULL) { - mail_storage_set_error(&client->_storage->storage, - MAIL_ERROR_PERM, reply->text_full); + if (reply->state == IMAPC_COMMAND_STATE_DISCONNECTED) + mail_storage_set_internal_error(&client->_storage->storage); + else { + mail_storage_set_error(&client->_storage->storage, + MAIL_ERROR_PERM, reply->text_full); + } } if (client->_list != NULL) { - mailbox_list_set_error(&client->_list->list, - MAIL_ERROR_PERM, reply->text_full); + if (reply->state == IMAPC_COMMAND_STATE_DISCONNECTED) + mailbox_list_set_internal_error(&client->_list->list); + else { + mailbox_list_set_error(&client->_list->list, + MAIL_ERROR_PERM, reply->text_full); + } } }