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