From: Aki Tuomi Date: Fri, 9 Sep 2016 12:51:43 +0000 (+0300) Subject: pop3-migration-plugin: Add to index after successful retry X-Git-Tag: 2.2.26~271 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9c96b04f26fac44878c2b61b22a92060c1c8effa;p=thirdparty%2Fdovecot%2Fcore.git pop3-migration-plugin: Add to index after successful retry Also change return value to indicate that the hash has been assigned to header. --- diff --git a/src/plugins/pop3-migration/pop3-migration-plugin.c b/src/plugins/pop3-migration/pop3-migration-plugin.c index 82c78e1a60..433ef23af6 100644 --- a/src/plugins/pop3-migration/pop3-migration-plugin.c +++ b/src/plugins/pop3-migration/pop3-migration-plugin.c @@ -238,6 +238,7 @@ get_hdr_sha1(struct mail *mail, unsigned char sha1_r[STATIC_ARRAY SHA1_RESULTLEN const char *errstr; enum mail_error error; bool have_eoh; + int ret; if (mail_get_hdr_stream(mail, &hdr_size, &input) < 0) { errstr = mailbox_get_last_error(mail->box, &error); @@ -282,10 +283,19 @@ get_hdr_sha1(struct mail *mail, unsigned char sha1_r[STATIC_ARRAY SHA1_RESULTLEN mail->seq, errstr); return error == MAIL_ERROR_EXPUNGED ? 0 : -1; } - return pop3_migration_get_hdr_sha1(mail->seq, input, - hdr_size.physical_size, - sha1_r, &have_eoh); - + ret = pop3_migration_get_hdr_sha1(mail->seq, input, + hdr_size.physical_size, + sha1_r, &have_eoh); + if (ret == 0) { + if (!have_eoh) + i_warning("pop3_migration: Truncated email with UID %u stored as truncated", mail->uid); + struct index_mail *imail = (struct index_mail *)mail; + index_mail_cache_add_idx(imail, get_cache_idx(mail), + sha1_r, SHA1_RESULTLEN); + return 1; + } else { + return -1; + } } static bool