Mercurial > dovecot > core-2.2
changeset 2582:39d944735147 HEAD
Removed all "unreliable headers" handling code. With mbox we actually handle
only virtual header sizes everywhere.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 10 Sep 2004 14:45:20 +0300 |
parents | b88b34d95c7b |
children | 7abae2dc0498 |
files | src/lib-mail/message-part-serialize.c src/lib-mail/message-part-serialize.h src/lib-storage/index/index-mail.c src/lib-storage/index/index-storage.h src/lib-storage/index/mbox/mbox-storage.c |
diffstat | 5 files changed, 4 insertions(+), 52 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-mail/message-part-serialize.c Fri Sep 10 14:44:07 2004 +0300 +++ b/src/lib-mail/message-part-serialize.c Fri Sep 10 14:45:20 2004 +0300 @@ -240,26 +240,12 @@ return TRUE; } -static void -message_parts_update_physical_pos(struct message_part *parent, off_t diff) -{ - struct message_part *part; - - for (part = parent->children; part != NULL; part = part->next) { - part->physical_pos += diff; - if (part->children != NULL) - message_parts_update_physical_pos(part, diff); - } -} - struct message_part * message_part_deserialize(pool_t pool, const void *data, size_t size, - const struct message_size *new_hdr_size, const char **error_r) { struct deserialize_context ctx; struct message_part *part; - off_t diff; memset(&ctx, 0, sizeof(ctx)); ctx.pool = pool; @@ -276,20 +262,5 @@ return NULL; } - if (new_hdr_size != NULL) { - if (new_hdr_size->virtual_size != - part->header_size.virtual_size) { - part->header_size.virtual_size = - new_hdr_size->virtual_size; - } - if (new_hdr_size->physical_size != - part->header_size.physical_size) { - diff = new_hdr_size->physical_size - - part->header_size.physical_size; - part->header_size.physical_size += diff; - message_parts_update_physical_pos(part, diff); - } - } - return part; }
--- a/src/lib-mail/message-part-serialize.h Fri Sep 10 14:44:07 2004 +0300 +++ b/src/lib-mail/message-part-serialize.h Fri Sep 10 14:45:20 2004 +0300 @@ -8,11 +8,9 @@ void message_part_serialize(struct message_part *part, buffer_t *dest); /* Generate struct message_part from serialized data. Returns NULL and sets - error if any problems are detected. If cache header size is unreliable - (eg. with mbox), you can give a new header size which will be used. */ + error if any problems are detected. */ struct message_part * message_part_deserialize(pool_t pool, const void *data, size_t size, - const struct message_size *new_hdr_size, const char **error_r); #endif
--- a/src/lib-storage/index/index-mail.c Fri Sep 10 14:44:07 2004 +0300 +++ b/src/lib-storage/index/index-mail.c Fri Sep 10 14:45:20 2004 +0300 @@ -36,7 +36,6 @@ { struct mail_cache_field *cache_fields = mail->ibox->cache_fields; struct message_part *part; - const struct message_size *new_hdr_size; buffer_t *part_buf; const char *error; @@ -50,21 +49,10 @@ return NULL; } - if (!mail->ibox->unreliable_headers) - new_hdr_size = NULL; - else { - if (!mail->data.hdr_size_set) { - if (index_mail_parse_headers(mail, NULL) < 0) - return NULL; - } - - new_hdr_size = &mail->data.hdr_size; - } - part = message_part_deserialize(mail->pool, buffer_get_data(part_buf, NULL), buffer_get_used_size(part_buf), - new_hdr_size, &error); + &error); t_pop(); if (part == NULL) { @@ -267,11 +255,8 @@ data->parts = get_cached_parts(mail); if (data->parts != NULL) { - if (!mail->ibox->unreliable_headers) { - /* headers don't change, physical_size is reliable */ - data->hdr_size_set = TRUE; - data->hdr_size = data->parts->header_size; - } + data->hdr_size_set = TRUE; + data->hdr_size = data->parts->header_size; data->body_size = data->parts->body_size; data->body_size_set = TRUE; data->virtual_size = data->parts->header_size.virtual_size +
--- a/src/lib-storage/index/index-storage.h Fri Sep 10 14:44:07 2004 +0300 +++ b/src/lib-storage/index/index-storage.h Fri Sep 10 14:45:20 2004 +0300 @@ -101,7 +101,6 @@ unsigned int notify_pending:1; unsigned int mail_read_mmaped:1; unsigned int syncing_commit:1; - unsigned int unreliable_headers:1; unsigned int mbox_sync_dirty:1; unsigned int mbox_do_dirty_syncs:1; };
--- a/src/lib-storage/index/mbox/mbox-storage.c Fri Sep 10 14:44:07 2004 +0300 +++ b/src/lib-storage/index/mbox/mbox-storage.c Fri Sep 10 14:45:20 2004 +0300 @@ -417,7 +417,6 @@ ibox->mail_deinit = mbox_mail_deinit; ibox->is_recent = mbox_mail_is_recent; ibox->mail_interface = &mbox_mail; - ibox->unreliable_headers = TRUE; ibox->mbox_do_dirty_syncs = getenv("MBOX_DIRTY_SYNCS") != NULL; if (access(path, R_OK|W_OK) < 0) {