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