From: Timo Sirainen Date: Sat, 30 Apr 2016 11:55:14 +0000 (+0300) Subject: lib-storage: Clear list error before mailbox_list_get_hierarchy_sep() X-Git-Tag: 2.3.0.rc1~3878 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e353d03d3643f380dc7e6dc29a512dec86b8a3de;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Clear list error before mailbox_list_get_hierarchy_sep() 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. --- diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index 001667a1e9..72dc53087a 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -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); }