From: David Levine Date: Thu, 20 Oct 2016 23:38:01 +0000 (-0400) Subject: Added test/mhshow/test-binary. The MIME parser doesn't X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/987905851eaf1a441b678b8a909bbf9111bd88ed?ds=sidebyside;hp=4e8294e08d172bb1db6b5bcc8c00e259cd0bb6ca Added test/mhshow/test-binary. The MIME parser doesn't properly handle null bytes because it uses getline(). --- diff --git a/Makefile.am b/Makefile.am index 8bd301c2..54d87c16 100644 --- a/Makefile.am +++ b/Makefile.am @@ -82,6 +82,7 @@ TESTS = test/ali/test-ali test/anno/test-anno \ test/mhlist/test-mhlist test/mhlist/test-ext-params \ test/mhmail/test-mhmail \ test/mhparam/test-mhparam test/mhpath/test-mhpath \ + test/mhshow/test-binary \ test/mhshow/test-charset test/mhshow/test-textcharset \ test/mhshow/test-cte-binary test/mhshow/test-qp \ test/mhshow/test-subpart test/mhshow/test-msg-buffer-boundaries \ @@ -112,6 +113,7 @@ TESTS = test/ali/test-ali test/anno/test-anno \ test/cleanup ## The "cleanup" test should always be last. XFAIL_TESTS = \ + test/mhshow/test-binary \ test/scan/test-header-parsing \ # diff --git a/test/mhshow/test-binary b/test/mhshow/test-binary new file mode 100755 index 00000000..e7407a82 --- /dev/null +++ b/test/mhshow/test-binary @@ -0,0 +1,49 @@ +#!/bin/sh +###################################################### +# +# Test MIME parser on binary input +# +###################################################### + +set -e + +if test -z "${MH_OBJ_DIR}"; then + srcdir=`dirname "$0"`/../.. + MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR +fi + +. "$MH_OBJ_DIR/test/common.sh" + +setup_test + +actual="$MH_TEST_DIR/test-binary$$.actual" +expected="$MH_TEST_DIR/test-binary$$.expected" + +printf '%s\000%s' >"${expected}" \ +"[ Message inbox:11 ] +To: recipient@example.edu +From: sender@example.edu +Subject: test binary content + +MIME-Version: 1.0 + +[ part - text/plain - 20B ] +Here's a null byte: " ". +" + +printf '%s\000%s' >`mhpath new` \ +"From: sender@example.edu +To: recipient@example.edu +Subject: test binary content +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: binary + +Here's a null byte: " ". +" + +run_prog mhshow last >"${actual}" 2>&1 +check "${expected}" "${actual}" + +finish_test +exit $failed