dovecot-2.0: mdbox index rebuild: GUID wasn't kept for messages.
dovecot at dovecot.org
dovecot at dovecot.org
Sat Mar 6 14:28:39 EET 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/f7755658257d
changeset: 10852:f7755658257d
user: Timo Sirainen <tss at iki.fi>
date: Sat Mar 06 14:28:32 2010 +0200
description:
mdbox index rebuild: GUID wasn't kept for messages.
diffstat:
src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diffs (29 lines):
diff -r 68042df10756 -r f7755658257d src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
--- a/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c Sat Mar 06 14:08:49 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c Sat Mar 06 14:28:32 2010 +0200
@@ -171,7 +171,7 @@
prev_offset = offset;
guid = dbox_file_metadata_get(file, DBOX_METADATA_GUID);
- if (guid == NULL) {
+ if (guid == NULL || *guid == '\0') {
dbox_file_set_corrupted(file,
"Message is missing GUID");
ret = 0;
@@ -183,6 +183,7 @@
rec->offset = offset;
rec->size = file->input->v_offset - offset;
mail_generate_guid_128_hash(guid, rec->guid_128);
+ i_assert(!mail_guid_128_is_empty(rec->guid_128));
array_append(&ctx->msgs, &rec, 1);
if (hash_table_lookup(ctx->guid_hash, rec->guid_128) != NULL) {
@@ -389,6 +390,8 @@
new_dbox_rec.map_uid = rec->map_uid;
mail_index_update_ext(trans, new_seq, mbox->ext_id,
&new_dbox_rec, NULL);
+ mail_index_update_ext(trans, new_seq, mbox->guid_ext_id,
+ rec->guid_128, NULL);
} T_END;
}
}
More information about the dovecot-cvs
mailing list