changeset 21901:a44b05748869

lib-storage: Do not clobber error with imapc
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Wed, 05 Apr 2017 12:48:31 +0300
parents de92e4fbb7c9
children 1a8d0b40e6a4
files src/lib-storage/index/imapc/imapc-list.c src/lib-storage/index/imapc/imapc-storage.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/imapc/imapc-list.c	Wed Apr 05 12:47:24 2017 +0300
+++ b/src/lib-storage/index/imapc/imapc-list.c	Wed Apr 05 12:48:31 2017 +0300
@@ -552,6 +552,8 @@
 	struct mailbox_node *node;
 	const char *pattern;
 
+	if (list->client->auth_failed)
+		return -1;
 	if (list->root_sep_lookup_failed) {
 		mailbox_list_set_internal_error(&list->list);
 		return -1;
--- a/src/lib-storage/index/imapc/imapc-storage.c	Wed Apr 05 12:47:24 2017 +0300
+++ b/src/lib-storage/index/imapc/imapc-storage.c	Wed Apr 05 12:48:31 2017 +0300
@@ -500,6 +500,12 @@
 {
 	enum mailbox_info_flags flags;
 
+	struct imapc_mailbox_list *list = (struct imapc_mailbox_list *)box->list;
+
+	if (list->client->auth_failed) {
+		mail_storage_copy_list_error(box->storage, box->list);
+		return -1;
+	}
 	if (imapc_list_get_mailbox_flags(box->list, box->name, &flags) < 0) {
 		mail_storage_copy_list_error(box->storage, box->list);
 		return -1;
@@ -623,7 +629,6 @@
 
 	/* If authentication failed, don't check again. */
 	if (mbox->storage->client->auth_failed) {
-		mail_storage_set_internal_error(&mbox->storage->storage);
 		return -1;
 	}