From: Stephan Bosch Date: Wed, 16 Sep 2020 02:31:58 +0000 (+0200) Subject: lib-mail: test-message-header-encode - Add tests for broken UTF-8 in input. X-Git-Tag: 2.3.13~106 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b37dcca4fb2719649fdbcdd8d67318ceda869fee;p=thirdparty%2Fdovecot%2Fcore.git lib-mail: test-message-header-encode - Add tests for broken UTF-8 in input. --- diff --git a/src/lib-mail/test-message-header-encode.c b/src/lib-mail/test-message-header-encode.c index 40caaeaaa7..b1c564510b 100644 --- a/src/lib-mail/test-message-header-encode.c +++ b/src/lib-mail/test-message-header-encode.c @@ -194,7 +194,66 @@ static void test_message_header_encode(void) "a\r\n", "a", "a\n", "a", "foo\n \001bar", "foo\n =?utf-8?q?=01bar?=", - "foo\001\n bar", "=?utf-8?q?foo=01?=\n bar" + "foo\001\n bar", "=?utf-8?q?foo=01?=\n bar", + "\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4" + "\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4\xC3\xA4", + "=?utf-8?b?w6TDpMOkw6TDpMOkw6TDpMOkw6TDpMOkw6TDpA==?=", + /* Bad UTF-8 */ + "foofoo-\x80\x80\x80\x80\x80\x80\x80-barbar", + "=?utf-8?q?foofoo-=EF=BF=BD-barbar?=", + "foobarfoobar-\x80\x80\x80\x80\x80\x80\x80", + "=?utf-8?q?foobarfoobar-=EF=BF=BD?=", + "\x80\x80\x80\x80\x80\x80\x80-foobarfoobar", + "=?utf-8?q?=EF=BF=BD-foobarfoobar?=", + "foofoo-\x80\x80\x80\x80\x80\x80\x80-barbarbarbar-" + "\x81\x82\x83\x84\x85\x86\x87-bazbaz", + "=?utf-8?q?foofoo-=EF=BF=BD-barbarbarbar-" + "=EF=BF=BD-bazbaz?=", + "foobarfoobarfoobar-\x80\x80\x80\x80\x80\x80\x80-" + "\x81\x82\x83\x84\x85\x86\x87-bazbaz", + "=?utf-8?q?foobarfoobarfoobar-=EF=BF=BD-" + "=EF=BF=BD-bazbaz?=", + "\x80\x80\x80\x80\x80\x80\x80-foobarfoobarfoobar-" + "\x81\x82\x83\x84\x85\x86\x87-bazbaz", + "=?utf-8?q?=EF=BF=BD-foobarfoobarfoobar-" + "=EF=BF=BD-bazbaz?=", + "foofoo-\xC3-barbar", + "=?utf-8?q?foofoo-=EF=BF=BD-barbar?=", + "foobarfoobar-\xC3", + "=?utf-8?q?foobarfoobar-=EF=BF=BD?=", + "\xC3-foobarfoobar", + "=?utf-8?q?=EF=BF=BD-foobarfoobar?=", + "f-\x80\x80\x80\x80\x80\x80\x80-b", "=?utf-8?b?Zi3vv70tYg==?=", + "fb-\x80\x80\x80\x80\x80\x80\x80", "=?utf-8?b?ZmIt77+9?=", + "\x80\x80\x80\x80\x80\x80\x80-fb", "=?utf-8?b?77+9LWZi?=", + "ff-\x80\x80\x80\x80\x80\x80\x80-bb-" + "\x81\x82\x83\x84\x85\x86\x87-zz", + "=?utf-8?b?ZmYt77+9LWJiLe+/vS16eg==?=", + "fbfb-\x80\x80\x80\x80\x80\x80\x80-" + "\x81\x82\x83\x84\x85\x86\x87-zz", + "=?utf-8?b?ZmJmYi3vv70t77+9LXp6?=", + "\x80\x80\x80\x80\x80\x80\x80-ff-" + "\x81\x82\x83\x84\x85\x86\x87-zz", + "=?utf-8?b?77+9LWZmLe+/vS16eg==?=", + "\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80", + "=?utf-8?b?77+9?=", + "-\xC3-\xC3-\xC3-\xC3-\xC3-\xC3-", + "=?utf-8?q?-=EF=BF=BD-=EF=BF=BD-" + "=EF=BF=BD-=EF=BF=BD-=EF=BF=BD-=EF=BF=BD-?=", + "\xC3--\xC3-\xC3-\xC3-\xC3--\xC3", + "=?utf-8?q?=EF=BF=BD--=EF=BF=BD-" + "=EF=BF=BD-=EF=BF=BD-=EF=BF=BD--=EF=BF=BD?=", + "-\xC3\xC3-\xC3\xC3-\xC3\xC3-\xC3\xC3-\xC3\xC3-\xC3\xC3-", + "=?utf-8?b?Le+/vS3vv70t77+9Le+/vS3vv70t77+9LQ==?=", + "-\xC3\xC3\xC3-\xC3\xC3\xC3-\xC3\xC3\xC3-" + "\xC3\xC3\xC3-\xC3\xC3\xC3-\xC3\xC3\xC3-", + "=?utf-8?b?Le+/vS3vv70t77+9Le+/vS3vv70t77+9LQ==?=", + "\xC3\xC3\xC3\xC3\xC3\xC3\xC3\xC3\xC3\xC3\xC3\xC3\xC3\xC3", + "=?utf-8?b?77+9?=", + "-\xC3\xA4\xC3\xC3-\xC3\xC3\xA4\xC3-\xC3\xC3\xC3\xA4-" + "\xC3\xC3\xC3\xA4-\xC3\xC3\xA4\xC3-\xC3\xA4\xC3\xC3-", + "=?utf-8?b?LcOk77+9Le+/vcOk77+9Le+/" + "vcOkLe+/vcOkLe+/vcOk77+9LcOk77+9LQ==?=", }; string_t *str = t_str_new(128); unsigned int i;