]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Removed unused mailbox_list_get_mailbox_name_status() status codes.
authorTimo Sirainen <tss@iki.fi>
Mon, 6 Dec 2010 00:37:20 +0000 (00:37 +0000)
committerTimo Sirainen <tss@iki.fi>
Mon, 6 Dec 2010 00:37:20 +0000 (00:37 +0000)
src/lib-storage/list/mailbox-list-fs.c
src/lib-storage/list/mailbox-list-maildir.c
src/lib-storage/list/mailbox-list-none.c
src/lib-storage/mailbox-list.c
src/lib-storage/mailbox-list.h
src/plugins/acl/acl-mailbox-list.c

index 9db56cdad623002394bc7516c17b13b33b61ef66..7a92eb0578abf7e2910bf7cc76f99540ed407fa2 100644 (file)
@@ -254,16 +254,8 @@ fs_list_get_mailbox_name_status(struct mailbox_list *_list, const char *name,
                errno = ENOENT;
        }
 
-       if (!mailbox_list_is_valid_create_name(_list, name)) {
-               *status = MAILBOX_NAME_INVALID;
-               return 0;
-       }
-
        if (ENOTFOUND(errno) || errno == EACCES) {
-               *status = MAILBOX_NAME_VALID;
-               return 0;
-       } else if (errno == ENOTDIR) {
-               *status = MAILBOX_NAME_NOINFERIORS;
+               *status = MAILBOX_NAME_NONEXISTENT;
                return 0;
        } else {
                mailbox_list_set_critical(_list, "stat(%s) failed: %m", path);
index f11eb452998e45514c0bc98a0a43b6ab0d3fa953..2cce5a45e1a9bf5518da28712ea8a076facf3a8c 100644 (file)
@@ -240,13 +240,8 @@ maildir_list_get_mailbox_name_status(struct mailbox_list *_list,
                return 0;
        }
 
-       if (!mailbox_list_is_valid_create_name(_list, name)) {
-               *status = MAILBOX_NAME_INVALID;
-               return 0;
-       }
-
        if (ENOTFOUND(errno) || errno == EACCES) {
-               *status = MAILBOX_NAME_VALID;
+               *status = MAILBOX_NAME_NONEXISTENT;
                return 0;
        } else {
                mailbox_list_set_critical(_list, "stat(%s) failed: %m", path);
index 9246fa4ee96056b1622bc7a5dd7bffa8a4c7c4e4..e009ab0a9bb5ad5be941e22d2bf424f85bbc0e28 100644 (file)
@@ -62,7 +62,7 @@ none_list_get_mailbox_name_status(struct mailbox_list *list ATTR_UNUSED,
                                  const char *name ATTR_UNUSED,
                                  enum mailbox_name_status *status)
 {
-       *status = MAILBOX_NAME_VALID;
+       *status = MAILBOX_NAME_NONEXISTENT;
        return 0;
 }
 
index d816b67f70d5a03c02173c96ca8b036d3ea99bfb..26ddda61de9862bc87501e85e361018af5f898cb 100644 (file)
@@ -758,8 +758,9 @@ int mailbox_list_get_mailbox_name_status(struct mailbox_list *list,
                                         enum mailbox_name_status *status)
 {
        if (!mailbox_list_is_valid_existing_name(list, name)) {
-               *status = MAILBOX_NAME_INVALID;
-               return 0;
+               mailbox_list_set_error(list, MAIL_ERROR_PARAMS,
+                                      "Invalid mailbox name");
+               return -1;
        }
        return list->v.get_mailbox_name_status(list, name, status);
 }
index 984da5184148a70d0488a136acd50321578096d5..f3964ed79e82b44f99d6b4378b0f7ed0b516382a 100644 (file)
@@ -49,13 +49,11 @@ enum mailbox_info_flags {
 };
 
 enum mailbox_name_status {
+       MAILBOX_NAME_NONEXISTENT,
        /* name points to a selectable mailbox */
        MAILBOX_NAME_EXISTS_MAILBOX,
        /* name points to non-selectable mailbox */
-       MAILBOX_NAME_EXISTS_DIR,
-       MAILBOX_NAME_VALID,
-       MAILBOX_NAME_INVALID,
-       MAILBOX_NAME_NOINFERIORS
+       MAILBOX_NAME_EXISTS_DIR
 };
 
 enum mailbox_list_iter_flags {
index 96accb4936a7c49fa2cf2e3df57372c4e8c61efa..493d90e36eff5152dafd6c57ba6cd69d305f4617 100644 (file)
@@ -439,34 +439,9 @@ static int acl_get_mailbox_name_status(struct mailbox_list *list,
        if (alist->module_ctx.super.get_mailbox_name_status(list, name,
                                                            status) < 0)
                return -1;
-       if (ret > 0)
-               return 0;
-
-       /* we shouldn't reveal this mailbox's existance */
-       switch (*status) {
-       case MAILBOX_NAME_EXISTS_MAILBOX:
-       case MAILBOX_NAME_EXISTS_DIR:
-               *status = MAILBOX_NAME_VALID;
-               break;
-       case MAILBOX_NAME_VALID:
-       case MAILBOX_NAME_INVALID:
-               break;
-       case MAILBOX_NAME_NOINFERIORS:
-               /* have to check if we are allowed to see the parent */
-               T_BEGIN {
-                       ret = acl_mailbox_list_have_right(list, name,
-                                       TRUE, ACL_STORAGE_RIGHT_LOOKUP, NULL);
-               } T_END;
-
-               if (ret < 0) {
-                       mailbox_list_set_internal_error(list);
-                       return -1;
-               }
-               if (ret == 0) {
-                       /* no permission to see the parent */
-                       *status = MAILBOX_NAME_VALID;
-               }
-               break;
+       if (ret == 0) {
+               /* we shouldn't reveal this mailbox's existance */
+               *status = MAILBOX_NAME_NONEXISTENT;
        }
        return 0;
 }