]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Clear list error before mailbox_list_get_hierarchy_sep()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Sat, 30 Apr 2016 11:55:14 +0000 (14:55 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Sat, 30 Apr 2016 11:55:14 +0000 (14:55 +0300)
With ACL plugin enabled the call could have triggered dovecot-acl-list
rebuild, which in turn could have set list errors if it didn't have
permissions to all the mailboxes. This caused IMAP logins to fail.

src/lib-storage/mailbox-list.c

index 001667a1e9ca14cea707c3101abcc88b1277b82b..72dc53087a0d06c8a73b735958dfd9afa9fa2fc3 100644 (file)
@@ -866,6 +866,10 @@ void mailbox_list_get_default_storage(struct mailbox_list *list,
 
 char mailbox_list_get_hierarchy_sep(struct mailbox_list *list)
 {
+       /* the current API doesn't allow returning an error, so imap code
+          looks at the list's last error. make sure the error is cleared
+          so the error-check doesn't return something irrelevant */
+       mailbox_list_clear_error(list);
        return list->v.get_hierarchy_sep(list);
 }