]> diplodocus.org Git - nmh/blob - test/bad-input/test-header
Added check of header field body with more than 511
[nmh] / test / bad-input / test-header
1 #!/bin/sh
2 ######################################################
3 #
4 # Test bogus headers (no blank line before body, etc.)
5 #
6 ######################################################
7
8 if test -z "${MH_OBJ_DIR}"; then
9 srcdir=`dirname "$0"`/../..
10 MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
11 fi
12
13 . "$MH_OBJ_DIR/test/common.sh"
14
15 setup_test
16
17 thisdir="$srcdir/test/bad-input"
18 expected="$MH_TEST_DIR/$$.expected"
19 expected_err="$MH_TEST_DIR/$$.expected_err"
20 actual="$MH_TEST_DIR/$$.actual"
21 actual_err="$MH_TEST_DIR/$$.actual_err"
22
23 # Write message with bogus header field (missing blank line, really).
24 msgfile=`mhpath new`
25 msgnum=`basename $msgfile`
26 cat > "$msgfile" <<EOF
27 Date: Sun, 18 Dec 2005 00:52:39 +0100
28 From: foo@example.edu
29 To: bar@example.edu
30 Subject: test
31 This is a multi-part message in MIME format.
32
33 I am a stupid spammer.
34 EOF
35
36 # check scan
37 cat > "$expected" <<EOF
38 11 12/18 foo@example.edu test<<This is a multi-part message in MIME forma
39 EOF
40 scan -width 80 $msgnum > "$actual" 2>&1
41 check "$expected" "$actual"
42
43 # check show (mhl)
44 cat > "$expected" <<EOF
45 (Message inbox:11)
46
47 Date: Sun, 18 Dec 2005 00:52:39 +0100
48 To: bar@example.edu
49 From: foo@example.edu
50 Subject: test
51
52
53 This is a multi-part message in MIME format.
54
55 I am a stupid spammer.
56 EOF
57 show $msgnum > "$actual" 2>&1
58 check "$expected" "$actual"
59
60 # check mhshow
61 cat > "$expected" <<EOF
62 Date: Sun, 18 Dec 2005 00:52:39 +0100
63 To: bar@example.edu
64 From: foo@example.edu
65 Subject: test
66
67
68 part text/plain 70
69
70 This is a multi-part message in MIME format.
71
72 I am a stupid spammer.
73 EOF
74 mhshow -nopause $msgnum > "$actual" 2>&1
75 check "$expected" "$actual"
76
77 # check m_getfld() handling of empty header field
78 printf 'Date: Sat, 12 Jan 2013 09:07:01 -0600\nReceived:' >"$MH_TEST_DIR/mess"
79 cat >"$expected" <<EOF
80 1 01/12
81 EOF
82 cat >"$expected_err" <<EOF
83 scan: eof encountered in field "Received"
84 ??Format error (message -1) in component 2
85 EOF
86
87 scan -width 13 -file "$MH_TEST_DIR/mess" >"$actual" 2>"$actual_err"
88 check "$expected" "$actual"
89 check "$expected_err" "$actual_err"
90 rm -f "$MH_TEST_DIR/mess"
91
92 # check m_getfld() handling of excessively long header field name
93 cat >"$MH_TEST_DIR/mess" <<EOF
94 Date: Tue, 15 Jan 2013 21:13:12 -0600
95 ThisHeaderFieldNameIsWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayTooLong: OK
96 EOF
97 cat >"$expected" <<EOF
98 1 01/15
99 EOF
100 cat >"$expected_err" <<EOF
101 scan: field name "ThisHeaderFieldNameIsWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayTooLong" exceeds 997 bytes
102 ??Format error (message -1) in component 2
103 EOF
104
105 scan -width 13 -file "$MH_TEST_DIR/mess" >"$actual" 2>"$actual_err"
106 check "$expected" "$actual"
107 check "$expected_err" "$actual_err"
108 rm -f "$MH_TEST_DIR/mess"
109
110
111 exit $failed