From a01f598e3792c3944ecbb8252786f5bf41e6801b Mon Sep 17 00:00:00 2001 From: "Stuart D. Gathman" <stuart@gathman.org> Date: Tue, 20 Aug 2019 18:37:35 -0400 Subject: [PATCH] Test case for invalid utf8 bytes in header. --- test/utf8 | 6 ++++++ testsample.py | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 test/utf8 diff --git a/test/utf8 b/test/utf8 new file mode 100644 index 0000000..77619cb --- /dev/null +++ b/test/utf8 @@ -0,0 +1,6 @@ +From the-concourse-on-high Sat Feb 2 13:01:43 2019 +Date: Sat, 02 Feb 2019 19:48:56 +0100 +To: stuart@[IPv6:fcd9:7f8a:e050:4b48:7fd6:7fa:5509:6e26] +Subject: ����qq.com������ + +Does you receive this email? diff --git a/testsample.py b/testsample.py index d6f0256..ce8ebb1 100644 --- a/testsample.py +++ b/testsample.py @@ -21,6 +21,23 @@ class BMSMilterTestCase(unittest.TestCase): self.zf.close() self.zf = None + def testHeader(self,fname='utf8'): + ctx = TestCtx() + Milter.factory = sample.sampleMilter + ctx._setsymval('{auth_authen}','batman') + ctx._setsymval('{auth_type}','batcomputer') + ctx._setsymval('j','mailhost') + rc = ctx._connect() + self.assertTrue(rc == Milter.CONTINUE) + with open('test/'+fname) as fp: + rc = ctx._feedFile(fp) + milter = ctx.getpriv() + self.assertFalse(ctx._bodyreplaced,"Message body not replaced") + fp = ctx._body + with open('test/'+fname+".tstout","wb") as ofp: + ofp.write(fp.getvalue()) + ctx._close() + def testCtx(self,fname='virus1'): ctx = TestCtx() Milter.factory = sample.sampleMilter -- GitLab