Skip to content

Commit

Permalink
pop3-migration: Strip trailing spaces from headers when calculating hash
Browse files Browse the repository at this point in the history
Fixes matching mails with Zimbra.
  • Loading branch information
sirainen authored and GitLab committed Jun 12, 2017
1 parent f4e6631 commit 0cf3b30
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
16 changes: 15 additions & 1 deletion src/plugins/pop3-migration/pop3-migration-plugin.c
Expand Up @@ -168,7 +168,21 @@ pop3_header_filter_callback(struct header_filter_istream *input ATTR_UNUSED,
/* Yahoo IMAP drops headers with invalid names, while
Yahoo POP3 preserves them. Drop them all. */
*matched = TRUE;
}
} else if (hdr->value_len > 0 &&
hdr->value[hdr->value_len-1] == ' ') T_BEGIN {
/* Delete trailing whitespace. Zimbra is stripping it
away with BODY[HEADER]. */
struct message_header_line new_hdr = *hdr;
while (new_hdr.value_len > 0 &&
new_hdr.value[new_hdr.value_len-1] == ' ')
new_hdr.value_len--;
new_hdr.crlf_newline = FALSE; /* CRs are stripped */
string_t *new_line = t_str_new(128);
message_header_line_write(new_line, &new_hdr);
i_stream_header_filter_add(input, str_data(new_line),
str_len(new_line));
*matched = TRUE;
} T_END;
}
}

Expand Down
3 changes: 3 additions & 0 deletions src/plugins/pop3-migration/test-pop3-migration-plugin.c
Expand Up @@ -17,6 +17,9 @@ static void test_pop3_migration_get_hdr_sha1(void)
{ "", "da39a3ee5e6b4b0d3255bfef95601890afd80709", FALSE },
{ "\n", "adc83b19e793491b1c6ea0fd8b46cd9f32e592fc", TRUE },
{ "a: b\r\n", "3edb5ce145cf1d1e2413e02b8bed70f1ae3ed105", FALSE },
{ "a: b \r\n", "3edb5ce145cf1d1e2413e02b8bed70f1ae3ed105", FALSE },
{ "a: b \r\n", "3edb5ce145cf1d1e2413e02b8bed70f1ae3ed105", FALSE },
{ "a: b \r\n", "3edb5ce145cf1d1e2413e02b8bed70f1ae3ed105", FALSE },
{ "a: b\r\n\r\n", "d14841695e1d9e2de6625d9222abd149ec821b0d", TRUE },
{ "a: b\r\n\r\r\n", "3edb5ce145cf1d1e2413e02b8bed70f1ae3ed105", FALSE },
{ "a: b\r\n\r\r\nc: d\r\n\r\n", "3edb5ce145cf1d1e2413e02b8bed70f1ae3ed105", TRUE }
Expand Down

0 comments on commit 0cf3b30

Please sign in to comment.