dovecot-2.2: lib-mail: Fixed istream-header-filter when callback...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Nov 16 12:48:25 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/1146e005bd75
changeset: 19369:1146e005bd75
user: Timo Sirainen <tss at iki.fi>
date: Mon Nov 16 14:46:40 2015 +0200
description:
lib-mail: Fixed istream-header-filter when callback excluded multiple headers.
This only affected pop3-migration plugin.
diffstat:
src/lib-mail/istream-header-filter.c | 3 ++-
src/lib-mail/test-istream-header-filter.c | 9 +++++----
2 files changed, 7 insertions(+), 5 deletions(-)
diffs (38 lines):
diff -r 923935a77ca8 -r 1146e005bd75 src/lib-mail/istream-header-filter.c
--- a/src/lib-mail/istream-header-filter.c Mon Nov 16 14:16:00 2015 +0200
+++ b/src/lib-mail/istream-header-filter.c Mon Nov 16 14:46:40 2015 +0200
@@ -220,7 +220,8 @@
mstream->context);
if (matched != orig_matched &&
!mstream->headers_edited) {
- i_array_init(&mstream->match_change_lines, 8);
+ if (!array_is_created(&mstream->match_change_lines))
+ i_array_init(&mstream->match_change_lines, 8);
array_append(&mstream->match_change_lines,
&mstream->cur_line, 1);
}
diff -r 923935a77ca8 -r 1146e005bd75 src/lib-mail/test-istream-header-filter.c
--- a/src/lib-mail/test-istream-header-filter.c Mon Nov 16 14:16:00 2015 +0200
+++ b/src/lib-mail/test-istream-header-filter.c Mon Nov 16 14:46:40 2015 +0200
@@ -12,16 +12,17 @@
struct message_header_line *hdr,
bool *matched, void *context ATTR_UNUSED)
{
- if (hdr != NULL && hdr->name_offset == 0) {
- /* drop first header */
+ if (hdr != NULL && (hdr->name_offset == 0 ||
+ strcmp(hdr->name, "X-Drop") == 0)) {
+ /* drop 1) first header, 2) X-Drop header */
*matched = TRUE;
}
}
static void test_istream_filter(void)
{
- static const char *exclude_headers[] = { "Subject", "To", NULL };
- const char *input = "From: foo\nFrom: abc\nTo: bar\nSubject: plop\n\nhello world\n";
+ static const char *exclude_headers[] = { "Subject", "To", "X-Drop", NULL };
+ const char *input = "From: foo\nFrom: abc\nTo: bar\nSubject: plop\nX-Drop: 1\n\nhello world\n";
const char *output = "From: abc\n\nhello world\n";
struct istream *istream, *filter, *filter2;
unsigned int i, input_len = strlen(input);
More information about the dovecot-cvs
mailing list