From: Timo Sirainen Date: Mon, 6 Dec 2010 00:37:20 +0000 (+0000) Subject: lib-storage: Removed unused mailbox_list_get_mailbox_name_status() status codes. X-Git-Tag: 2.1.alpha1~452 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=43a4450c3b9d995a68f1f0dac129c5a63ae2a8ae;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Removed unused mailbox_list_get_mailbox_name_status() status codes. --- diff --git a/src/lib-storage/list/mailbox-list-fs.c b/src/lib-storage/list/mailbox-list-fs.c index 9db56cdad6..7a92eb0578 100644 --- a/src/lib-storage/list/mailbox-list-fs.c +++ b/src/lib-storage/list/mailbox-list-fs.c @@ -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); diff --git a/src/lib-storage/list/mailbox-list-maildir.c b/src/lib-storage/list/mailbox-list-maildir.c index f11eb45299..2cce5a45e1 100644 --- a/src/lib-storage/list/mailbox-list-maildir.c +++ b/src/lib-storage/list/mailbox-list-maildir.c @@ -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); diff --git a/src/lib-storage/list/mailbox-list-none.c b/src/lib-storage/list/mailbox-list-none.c index 9246fa4ee9..e009ab0a9b 100644 --- a/src/lib-storage/list/mailbox-list-none.c +++ b/src/lib-storage/list/mailbox-list-none.c @@ -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; } diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index d816b67f70..26ddda61de 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -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); } diff --git a/src/lib-storage/mailbox-list.h b/src/lib-storage/mailbox-list.h index 984da51841..f3964ed79e 100644 --- a/src/lib-storage/mailbox-list.h +++ b/src/lib-storage/mailbox-list.h @@ -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 { diff --git a/src/plugins/acl/acl-mailbox-list.c b/src/plugins/acl/acl-mailbox-list.c index 96accb4936..493d90e36e 100644 --- a/src/plugins/acl/acl-mailbox-list.c +++ b/src/plugins/acl/acl-mailbox-list.c @@ -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; }