X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/97d33c31f4d3fdef03610c1652b5e246184e0097..HEAD:/test/mhshow/test-textcharset diff --git a/test/mhshow/test-textcharset b/test/mhshow/test-textcharset index 8bba1695..c2e78022 100755 --- a/test/mhshow/test-textcharset +++ b/test/mhshow/test-textcharset @@ -26,6 +26,7 @@ expected="$MH_TEST_DIR"/$$.expected actual="$MH_TEST_DIR"/$$.actual # check charset conversion +start_test "charset conversion" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -62,6 +63,7 @@ EOF # check expansion of %{charset} by itself +start_test "expansion of %{charset} by itself" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -93,6 +95,7 @@ check "$expected" "$actual" : check %{charset} by itself # check expansion of empty %{charset} by itself +start_test "expansion of empty %{charset} by itself" msgfile=`mhpath new` omsgnum=$msgnum msgnum=`basename $msgfile` @@ -131,6 +134,7 @@ mhshow-show-text/plain: charset=%{charset}; echo ${charset:+-I $charset} EOF # check expansion of embedded %{charset} with no text following +start_test "expansion of embedded %{charset} with no text following" cat >"$expected" <"$expected" <"$MH.new" mv -f "$MH.new" "$MH" # check expansion of embedded %{charset} with text following +start_test "expansion of embedded %{charset} with text following" cat >"$expected" <"$expected" <"$MH.new" mv -f "$MH.new" "$MH" # check parameter value quoting +start_test "parameter value quoting" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -241,6 +249,7 @@ sed -e 's/method/unknown/g' "$MH" >"$MH.new" mv -f "$MH.new" "$MH" # check that unknown parameter is not expanded +start_test "that unknown parameter is not expanded" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -278,6 +287,7 @@ mhshow-show-text/plain: true '%F' %F EOF # check parameter value quoting with text following +start_test "parameter value quoting with text following" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -305,6 +315,24 @@ EOF run_prog mhshow last >"$actual" 2>&1 check "$expected" "$actual" : parameter value quoting with text following +# check malicious parameter value quoting +start_test "malicious parameter value quoting" +msgfile=`mhpath new` +msgnum=`basename $msgfile` +cat >"$msgfile" <<'EOF' +Subject: shows difficulty of quoting with /bin/sh -c +MIME-Version: 1.0 +Content-Type: text/html; charset="oops'; echo should not see this!" + +EOF + +cat >"$expected" <&1 | squeeze_whitespace >"$actual" +check "$expected" "$actual" : malicious parameter value quoting + # # test a large file that needs to be converted to UTF-8 # @@ -1177,4 +1205,5 @@ EOF run_prog mhshow last >"$actual" 2>&1 check "$expected" "$actual" : large file conversion to UTF-8 +finish_test exit $failed