]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mailbox_exists() now returns NOSELECT for invalid mailbox names instead...
authorTimo Sirainen <tss@iki.fi>
Fri, 22 Jul 2011 10:11:26 +0000 (13:11 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 22 Jul 2011 10:11:26 +0000 (13:11 +0300)
src/lib-storage/mail-storage.c

index 9c3873e39d80bd4387fc171a2f4fb5fe41ab5dd9..dcf9859f9255bcd426a72223c1d79b8043c69447 100644 (file)
@@ -625,9 +625,10 @@ static bool have_listable_namespace_prefix(struct mail_namespace *ns,
 int mailbox_exists(struct mailbox *box, enum mailbox_existence *existence_r)
 {
        if (!mailbox_list_is_valid_existing_name(box->list, box->name)) {
-               mail_storage_set_error(box->storage, MAIL_ERROR_PARAMS,
-                                      "Invalid mailbox name");
-               return -1;
+               /* report it as not selectable, since it exists but we won't
+                  let it be opened. */
+               *existence_r = MAILBOX_EXISTENCE_NOSELECT;
+               return 0;
        }
 
        if (have_listable_namespace_prefix(box->storage->user->namespaces,