dovecot/dovecot-2.2.8-a91437fe94b6.patch
Michal Hlavinka 680863f7be Fixed infinite loop in message parsing if message ends with
"--boundary" and CR (without LF). Messages saved via SMTP/LMTP can't
  trigger this, because messages must end with an "LF.". A user could
  trigger this for him/herself though.
- lmtp: Client was sometimes disconnected before all the output was
  sent to it.
- replicator: Database wasn't being exported to disk every 15 minutes
  as it should have. Instead it was being imported, causing "doveadm
  replicator remove" commands to not work very well.
2013-11-20 17:12:58 +01:00

33 lines
960 B
Diff

# HG changeset patch
# User Timo Sirainen <tss@iki.fi>
# Date 1384951135 -7200
# Node ID a91437fe94b67fc0b5ef8f3177a9ebe1deccc9e3
# Parent f4eb4b5884b2e89e146a32b2d1db1f14f753008f
lib-storage: mail_get_*header*() were unnecessarily looking up the headers twice.
diff -r f4eb4b5884b2 -r a91437fe94b6 src/lib-storage/index/index-mail-headers.c
--- a/src/lib-storage/index/index-mail-headers.c Wed Nov 20 14:37:44 2013 +0200
+++ b/src/lib-storage/index/index-mail-headers.c Wed Nov 20 14:38:55 2013 +0200
@@ -760,6 +760,9 @@
mail_cache_set_corrupted(_mail->box->cache,
"Broken header %s for mail UID %u",
field, _mail->uid);
+ /* retry by parsing the full header */
+ } else {
+ break;
}
}
return ret;
@@ -788,6 +791,9 @@
mail_cache_set_corrupted(_mail->box->cache,
"Broken header %s for mail UID %u",
field, _mail->uid);
+ /* retry by parsing the full header */
+ } else {
+ break;
}
}
*value_r = list[0];