dovecot-2.2: doveadm dump: Added support for mobox extensions in...

dovecot at dovecot.org dovecot at dovecot.org
Fri Apr 25 13:36:30 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/5798bb0167b9
changeset: 17270:5798bb0167b9
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Apr 25 16:35:51 2014 +0300
description:
doveadm dump: Added support for mobox extensions in dovecot.index.

diffstat:

 src/doveadm/doveadm-dump-index.c |  41 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diffs (65 lines):

diff -r b53ebeaba6aa -r 5798bb0167b9 src/doveadm/doveadm-dump-index.c
--- a/src/doveadm/doveadm-dump-index.c	Fri Apr 25 16:18:09 2014 +0300
+++ b/src/doveadm/doveadm-dump-index.c	Fri Apr 25 16:35:51 2014 +0300
@@ -53,6 +53,25 @@
 	unsigned char guid[GUID_128_SIZE];
 	unsigned char oid[GUID_128_SIZE];
 };
+struct mobox_mail_index_header {
+	uint32_t rebuild_count;
+	uint32_t map_uid_validity;
+	uint8_t unused[4];
+	guid_128_t mailbox_guid;
+};
+struct mobox_mail_index_record {
+	uint32_t map_uid;
+	uint32_t save_date;
+};
+struct mobox_map_mail_index_header {
+	uint32_t rebuild_count;
+};
+
+struct mobox_map_mail_index_record {
+	uint32_t offset;
+	uint32_t size;
+	guid_128_t oid;
+};
 struct mailbox_list_index_record {
 	uint32_t name_id;
 	uint32_t parent_uid;
@@ -184,6 +203,19 @@
 		printf(" - mailbox_guid .. = %s\n",
 		       guid_128_to_string(hdr->mailbox_guid));
 		printf(" - flags ......... = 0x%x\n", hdr->flags);
+	} else if (strcmp(ext->name, "mobox-hdr") == 0) {
+		const struct mobox_mail_index_header *hdr = data;
+
+		printf("header\n");
+		printf(" - rebuild_count    .. = %u\n", hdr->rebuild_count);
+		printf(" - map_uid_validity .. = %u\n", hdr->map_uid_validity);
+		printf(" - mailbox_guid ...... = %s\n",
+		       guid_128_to_string(hdr->mailbox_guid));
+	} else if (strcmp(ext->name, "mobox-map") == 0) {
+		const struct mobox_map_mail_index_header *hdr = data;
+
+		printf("header\n");
+		printf(" - rebuild_count    .. = %u\n", hdr->rebuild_count);
 	} else if (strcmp(ext->name, "modseq") == 0) {
 		const struct mail_index_modseq_header *hdr = data;
 
@@ -579,6 +611,15 @@
 			const struct obox_mail_index_record *orec = data;
 			printf("                   : guid = %s\n", guid_128_to_string(orec->guid));
 			printf("                   : oid  = %s\n", guid_128_to_string(orec->oid));
+		} else if (strcmp(ext[i].name, "mobox") == 0) {
+			const struct mobox_mail_index_record *orec = data;
+			printf("                   : map_uid   = %u\n", orec->map_uid);
+			printf("                   : save_date = %u (%s)\n", orec->save_date, unixdate2str(orec->save_date));
+		} else if (strcmp(ext[i].name, "mobox-map") == 0) {
+			const struct mobox_map_mail_index_record *orec = data;
+			printf("                   : offset = %u\n", orec->offset);
+			printf("                   : size   = %u\n", orec->size);
+			printf("                   : oid    = %s\n", guid_128_to_string(orec->oid));
 		} else if (strcmp(ext[i].name, "list") == 0) {
 			const struct mailbox_list_index_record *lrec = data;
 			printf("                   : name_id      = %u\n", lrec->name_id);


More information about the dovecot-cvs mailing list