dovecot-2.2: lib-storage: Log mailbox directory creations to mai...

dovecot at dovecot.org dovecot at dovecot.org
Tue Sep 4 17:27:09 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/e2c85551268d
changeset: 15026:e2c85551268d
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Sep 04 17:26:37 2012 +0300
description:
lib-storage: Log mailbox directory creations to mailbox log.

diffstat:

 src/lib-index/mailbox-log.h    |   3 ++-
 src/lib-storage/mailbox-list.c |  11 +++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diffs (39 lines):

diff -r 57c964513a46 -r e2c85551268d src/lib-index/mailbox-log.h
--- a/src/lib-index/mailbox-log.h	Tue Sep 04 17:18:08 2012 +0300
+++ b/src/lib-index/mailbox-log.h	Tue Sep 04 17:26:37 2012 +0300
@@ -8,7 +8,8 @@
 	MAILBOX_LOG_RECORD_DELETE_DIR,
 	MAILBOX_LOG_RECORD_RENAME,
 	MAILBOX_LOG_RECORD_SUBSCRIBE,
-	MAILBOX_LOG_RECORD_UNSUBSCRIBE
+	MAILBOX_LOG_RECORD_UNSUBSCRIBE,
+	MAILBOX_LOG_RECORD_CREATE_DIR
 };
 
 struct mailbox_log_record {
diff -r 57c964513a46 -r e2c85551268d src/lib-storage/mailbox-list.c
--- a/src/lib-storage/mailbox-list.c	Tue Sep 04 17:18:08 2012 +0300
+++ b/src/lib-storage/mailbox-list.c	Tue Sep 04 17:26:37 2012 +0300
@@ -1207,13 +1207,20 @@
 
 int mailbox_list_create_dir(struct mailbox_list *list, const char *name)
 {
+	guid_128_t guid;
+
 	if (!mailbox_list_is_valid_create_name(list, name) || *name == '\0') {
 		mailbox_list_set_error(list, MAIL_ERROR_PARAMS,
 				       "Invalid mailbox name");
 		return -1;
 	}
-	return list->v.create_mailbox_dir(list, name,
-					  MAILBOX_DIR_CREATE_TYPE_ONLY_NOSELECT);
+	if (list->v.create_mailbox_dir(list, name,
+				       MAILBOX_DIR_CREATE_TYPE_ONLY_NOSELECT) < 0)
+		return -1;
+
+	mailbox_name_get_sha128(name, guid);
+	mailbox_list_add_change(list, MAILBOX_LOG_RECORD_CREATE_DIR, guid);
+	return 0;
 }
 
 int mailbox_list_delete_dir(struct mailbox_list *list, const char *name)


More information about the dovecot-cvs mailing list