dovecot-2.1: lib-storage: Added namespace { ignore_on_failure } ...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Feb 13 14:34:44 EET 2012
details: http://hg.dovecot.org/dovecot-2.1/rev/71201cce97b5
changeset: 14145:71201cce97b5
user: Timo Sirainen <tss at iki.fi>
date: Mon Feb 13 14:34:31 2012 +0200
description:
lib-storage: Added namespace { ignore_on_failure } setting.
If the namespace can't be created for any reason, it's simply silently
skipped.
diffstat:
src/lib-storage/mail-namespace.c | 13 ++++++++++---
src/lib-storage/mail-storage-settings.c | 2 ++
src/lib-storage/mail-storage-settings.h | 1 +
3 files changed, 13 insertions(+), 3 deletions(-)
diffs (53 lines):
diff -r 9574963a16f7 -r 71201cce97b5 src/lib-storage/mail-namespace.c
--- 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) {
diff -r 9574963a16f7 -r 71201cce97b5 src/lib-storage/mail-storage-settings.c
--- 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
};
diff -r 9574963a16f7 -r 71201cce97b5 src/lib-storage/mail-storage-settings.h
--- 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;
More information about the dovecot-cvs
mailing list