changeset 21328:b6a83ac90085

imapc: Log server disconnection error only once.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 15 Dec 2016 17:43:11 +0200
parents 71d1be9f77bd
children a6116b23e7e9
files src/lib-storage/index/imapc/imapc-list.c src/lib-storage/index/imapc/imapc-search.c src/lib-storage/index/imapc/imapc-storage.c
diffstat 3 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/imapc/imapc-list.c	Thu Dec 15 17:45:06 2016 +0200
+++ b/src/lib-storage/index/imapc/imapc-list.c	Thu Dec 15 17:43:11 2016 +0200
@@ -131,6 +131,9 @@
 		ctx->ret = -1;
 	} else if (ctx->client->auth_failed) {
 		ctx->ret = -1;
+	} else if (reply->state == IMAPC_COMMAND_STATE_DISCONNECTED) {
+		mailbox_list_set_internal_error(&ctx->client->_list->list);
+		ctx->ret = -1;
 	} else {
 		mailbox_list_set_critical(&ctx->client->_list->list,
 			"imapc: Command failed: %s", reply->text_full);
@@ -284,6 +287,8 @@
 		imapc_list_copy_error_from_reply(list, MAIL_ERROR_PARAMS, reply);
 	else if (list->client->auth_failed)
 		;
+	else if (reply->state == IMAPC_COMMAND_STATE_DISCONNECTED)
+		mailbox_list_set_internal_error(&list->list);
 	else if (!list->list.ns->user->deinitializing) {
 		mailbox_list_set_critical(&list->list,
 			"imapc: Command failed: %s", reply->text_full);
--- a/src/lib-storage/index/imapc/imapc-search.c	Thu Dec 15 17:45:06 2016 +0200
+++ b/src/lib-storage/index/imapc/imapc-search.c	Thu Dec 15 17:43:11 2016 +0200
@@ -197,6 +197,8 @@
 	if (reply->state == IMAPC_COMMAND_STATE_OK) {
 		seq_range_array_iter_init(&ictx->iter, &ictx->rseqs);
 		ictx->success = TRUE;
+	} else if (reply->state == IMAPC_COMMAND_STATE_DISCONNECTED) {
+		mail_storage_set_internal_error(mbox->box.storage);
 	} else {
 		mail_storage_set_critical(mbox->box.storage,
 			"imapc: Command failed: %s", reply->text_full);
--- a/src/lib-storage/index/imapc/imapc-storage.c	Thu Dec 15 17:45:06 2016 +0200
+++ b/src/lib-storage/index/imapc/imapc-storage.c	Thu Dec 15 17:43:11 2016 +0200
@@ -157,6 +157,9 @@
 		ctx->ret = -1;
 	} else if (ctx->client->auth_failed) {
 		ctx->ret = -1;
+	} else if (reply->state == IMAPC_COMMAND_STATE_DISCONNECTED) {
+		mail_storage_set_internal_error(&ctx->client->_storage->storage);
+		ctx->ret = -1;
 	} else {
 		mail_storage_set_critical(&ctx->client->_storage->storage,
 			"imapc: Command failed: %s", reply->text_full);
@@ -556,6 +559,9 @@
 		ctx->ret = -1;
 	} else if (ctx->mbox->storage->client->auth_failed) {
 		ctx->ret = -1;
+	} else if (reply->state == IMAPC_COMMAND_STATE_DISCONNECTED) {
+		ctx->ret = -1;
+		mail_storage_set_internal_error(ctx->mbox->box.storage);
 	} else {
 		mail_storage_set_critical(ctx->mbox->box.storage,
 			"imapc: Opening mailbox '%s' failed: %s",