dovecot-2.2: lib-storage: Auto-create dovecot-uidvalidity's miss...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Aug 29 00:57:25 EEST 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/5e01ab977406
changeset: 16702:5e01ab977406
user: Timo Sirainen <tss at iki.fi>
date: Thu Aug 29 00:57:13 2013 +0300
description:
lib-storage: Auto-create dovecot-uidvalidity's missing parent directory
diffstat:
src/lib-storage/mailbox-uidvalidity.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diffs (18 lines):
diff -r 5d22d0c0b233 -r 5e01ab977406 src/lib-storage/mailbox-uidvalidity.c
--- a/src/lib-storage/mailbox-uidvalidity.c Thu Aug 29 00:53:30 2013 +0300
+++ b/src/lib-storage/mailbox-uidvalidity.c Thu Aug 29 00:57:13 2013 +0300
@@ -124,6 +124,14 @@
}
d = opendir(dir);
+ if (d == NULL && errno == ENOENT) {
+ /* FIXME: the PATH_TYPE_CONTROL should come as a parameter, but
+ that's an API change, do it in v2.3. it's not really a
+ problem though, since currently all backends use control
+ dirs for the uidvalidity file. */
+ (void)mailbox_list_mkdir_root(list, dir, MAILBOX_LIST_PATH_TYPE_CONTROL);
+ d = opendir(dir);
+ }
if (d == NULL) {
i_error("opendir(%s) failed: %m", dir);
return mailbox_uidvalidity_next_fallback();
More information about the dovecot-cvs
mailing list