Mercurial > dovecot > core-2.2
changeset 14164:71201cce97b5
lib-storage: Added namespace { ignore_on_failure } setting.
If the namespace can't be created for any reason, it's simply silently
skipped.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 13 Feb 2012 14:34:31 +0200 |
parents | 9574963a16f7 |
children | 9c4cac11da15 |
files | src/lib-storage/mail-namespace.c src/lib-storage/mail-storage-settings.c src/lib-storage/mail-storage-settings.h |
diffstat | 3 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mail-namespace.c Sun Feb 12 23:04:13 2012 +0200 +++ b/src/lib-storage/mail-namespace.c Mon Feb 13 14:34:31 2012 +0200 @@ -280,9 +280,16 @@ } for (i = 0; i < count; i++) { if (namespace_add(user, ns_set[i], unexpanded_ns_set[i], - mail_set, ns_p, error_r) < 0) - return -1; - ns_p = &(*ns_p)->next; + mail_set, ns_p, error_r) < 0) { + if (!ns_set[i]->ignore_on_failure) + return -1; + if (mail_set->mail_debug) { + i_debug("Skipping namespace %s: %s", + ns_set[i]->prefix, *error_r); + } + } else { + ns_p = &(*ns_p)->next; + } } if (namespaces != NULL) {
--- a/src/lib-storage/mail-storage-settings.c Sun Feb 12 23:04:13 2012 +0200 +++ b/src/lib-storage/mail-storage-settings.c Mon Feb 13 14:34:31 2012 +0200 @@ -149,6 +149,7 @@ DEF(SET_BOOL, hidden), DEF(SET_ENUM, list), DEF(SET_BOOL, subscriptions), + DEF(SET_BOOL, ignore_on_failure), DEFLIST_UNIQUE(mailboxes, "mailbox", &mailbox_setting_parser_info), @@ -167,6 +168,7 @@ .hidden = FALSE, .list = "yes:no:children", .subscriptions = TRUE, + .ignore_on_failure = FALSE, .mailboxes = ARRAY_INIT };
--- a/src/lib-storage/mail-storage-settings.h Sun Feb 12 23:04:13 2012 +0200 +++ b/src/lib-storage/mail-storage-settings.h Mon Feb 13 14:34:31 2012 +0200 @@ -51,6 +51,7 @@ bool hidden; const char *list; bool subscriptions; + bool ignore_on_failure; ARRAY_DEFINE(mailboxes, struct mailbox_settings *); struct mail_user_settings *user_set;