1 /*
2 **  Copyright (c) 2007, 2008 Sendmail, Inc. and its suppliers.
3 **    All rights reserved.
4 **
5 **  Copyright (c) 2009-2012, The Trusted Domain Project.  All rights reserved.
6 */
7 
8 
9 #define	CRLF		"\r\n"
10 #define	SP		" "
11 
12 #define	LARGEBODYSIZE	65536
13 #define	LARGELINESIZE	4100
14 
15 #define	KEYFILE		"/tmp/testkeys"
16 
17 #define	JOBID		"testing"
18 #define	SELECTOR	"test"
19 #define	SELECTOR2	"brisbane"
20 #define	SELECTOR256	"sha256only"
21 #define	SELECTORBADH	"badh"
22 #define	SELECTORBADK	"badk"
23 #define	SELECTORBADV	"badv"
24 #define	SELECTORNOK	"nok"
25 #define	SELECTORNOP	"nop"
26 #define	SELECTOREMPTYP	"emptyp"
27 #define	SELECTORCORRUPTP "corruptp"
28 #define	DOMAIN		"example.com"
29 #define	DOMAIN2		"sendmail.com"
30 #define	REPLYADDRESS	"postmaster"
31 #define	SMTPTOKENENC	"=5BDKIM=20error=5D"
32 #define	SMTPTOKEN	"[DKIM error]"
33 #define	USER		"msk"
34 
35 #define	HEADER01	"Received: received data 0"
36 #define	HEADER02	"Received: received data 1"
37 #define	HEADER03	"Received: received data 2"
38 #define	HEADER04	"Received: received data 3 part 1\r\n\t data 3 part 2"
39 #define	HEADER04UNWRAP	"Received: received data 3 part 1 data 3 part 2"
40 #define	HEADER05	"From: Murray S. Kucherawy <msk@sendmail.com>"
41 #define	HEADER06	"To: Sendmail Test Address <sa-test@sendmail.net>"
42 #define	HEADER07	"Date: Thu, 05 May 2005 11:59:09 -0700"
43 #define	HEADER07XLEADSP	"Date:   Thu, 05 May 2005 11:59:09 -0700"
44 #define	HEADER07NOLEADSP "Date:Thu, 05 May 2005 11:59:09 -0700"
45 #define	HEADER08	"Subject: DKIM test message"
46 #define	HEADER09	"Message-ID: <439094BF.5010709@sendmail.com>"
47 #define	HEADER10	"Cc: user@example.com"
48 
49 #define	BODY00		"This is a message body.  Fun!\r\n"
50 #define	BODY01		"Here is a second line.\r\n"
51 #define	BODY01A		"Here is a line"
52 #define	BODY01B		" that is broken up across calls.\r"
53 #define	BODY01C		"\n"
54 #define	BODY01D		"Now we can try something interesting, like a\r\nmulti-line buffer.  This should not be mangled.\r\n"
55 #define	BODY01E		"And a line with a trailing space: \r\n"
56 #define	BODY02		"Next we'll try a blank.\r\n"
57 #define	BODY03		"\r\n"
58 #define	BODY04		"Next we'll try multiple blanks.\r\n"
59 #define	BODY05		"Finally we'll try multiple trailing blanks.\r\n"
60 #define	BODY06		"Surprise, more data!\r\n"
61 
62 #define	NBODY00		"This is a message body.  Fun!\n"
63 #define	NBODY01		"Here is a second line.\r"
64 #define	NBODY01A	"Here is a line"
65 #define	NBODY01B	" that is broken up across calls.\r"
66 #define	NBODY01C	"\n"
67 #define	NBODY01D	"Now we can try something interesting, like a\nmulti-line buffer.  This should not be mangled.\r\n"
68 #define	NBODY01E	"And a line with a trailing space: \n"
69 #define	NBODY02		"Next we'll try a blank.\r"
70 #define	NBODY03		"\r\n"
71 #define	NBODY04		"Next we'll try multiple blanks.\r\n"
72 #define	NBODY05		"Finally we'll try multiple trailing blanks.\r"
73 
74 #define THEADER00	"Received: from client1.football.example.com  [192.0.2.1]\r\n" \
75 	"      by submitserver.example.com with SUBMISSION;\r\n" \
76 	"      Fri, 11 Jul 2003 21:01:54 -0700 (PDT)"
77 #define	THEADER01	"From: Joe SixPack <joe@football.example.com>"
78 #define THEADER02	"To: Suzie Q <suzie@shopping.example.net>"
79 #define THEADER03	"Subject: Is dinner ready?"
80 #define THEADER04	"Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT)"
81 #define	THEADER05	"Message-ID: <20030712040037.46341.5F8J@football.example.com>"
82 #define	TBODY		"Hi.\r\n" \
83 			"\r\n" \
84 			"We lost the game. Are you hungry yet?\r\n" \
85 			"\r\n" \
86 			"Joe.\r\n"
87 
88 #define KEY		"-----BEGIN RSA PRIVATE KEY-----\n" \
89 	"MIICXQIBAAKBgQC4GUGr+d/6SFNzVLYpphnRd0QPGKz2uWnV65RAxa1Pw352Bqiz\n" \
90 	"qiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFgF0gu3UJbNnu3+cd8k/kiQj+q\n" \
91 	"4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3Dyc079gSLtnSrgXb+gQIDAQAB\n" \
92 	"AoGAemlI0opm1Kvs2T4VliH8/tvX5FXbBH8LEZQAUwVeFTB/UQlieXyCV39pIxZO\n" \
93 	"0Sa50qm8YNL9rb5HTSZiHQFOwyAKNqS4m/7JCsbuH4gQkPgPF561BHNL9oKfYgJq\n" \
94 	"9P4kEFfDTBoXKBMxwWtT7AKV8dYvCa3vYzPQ/1BnqQdw2zECQQDyscdgR9Ih59PQ\n" \
95 	"b72ddibdsxS65uXS2vzYLe7SKl+4R5JgJzw0M6DTAnoYFf6JAsKGZM15PCC0E16t\n" \
96 	"RRo47U9VAkEAwjEVrlQ0/8yPACbDggDJg/Zz/uRu1wK0zjqj4vKjleubaX4SEvj7\n" \
97 	"r6xxZm9hC1pMJAC9y3bbkbgCRBjXfyY6fQJBANe5aq2MaZ41wTOPf45NjbKXEiAo\n" \
98 	"SbUpboKCIbyyaa8V/2h0t7D3C0dE9l4efsguqdZoF7Rh2/f1F70QpYRgfJkCQQCH\n" \
99 	"oRrAeGXP50JVW72fNgeJGH/pnghgOa6of0JpxwhENJuGMZxUDfxTtUA6yD3iXP3j\n" \
100 	"A3WL/wbaHsfOYf9Y+g1NAkAGLhx67Ah+uBNK4Xvfz0YPGINX20m+CMsxAw7FOaNv\n" \
101 	"IW2oWFfZCB4APkIis79Ql45AHpavwx5XodBMzZwJUvlL\n" \
102 	"-----END RSA PRIVATE KEY-----\n"
103 #define SMALLKEY	"-----BEGIN RSA PRIVATE KEY-----\n" \
104 	"MIIBOwIBAAJBAKmXwtw3FU/88TPoOpYR3FKkD4ViDLQZOSitce6cJzdoksJ2Vs9T\n" \
105 	"l6d1V9OIOsvktC1nmaZ8Xs5I7oMkJF8PbXUCAwEAAQJBAJxAG6NDCNrKY/x8AMZV\n" \
106 	"LFXjm/07KhMgjh4hNzAtJKCRs3NscczUlR/iA//ZmkccSJONmV6WWLo54H5lJPWi\n" \
107 	"jmECIQDS3m6eOt4WY4W4WWC2eMuYeOOIzSK71aWuX4qJVgYZLQIhAM3jzTlssVyh\n" \
108 	"y34LCV4Wap5e2eH/wlpLnHWsVD3sR8JpAiBbxJNtZv8JzUv/e14caxtngoy7F1Mb\n" \
109 	"XZIZ/dhDhl1nDQIhAK3rADDB4BCfm4WdTQxtYyLkfKiro0EjHcdJCuBD91oBAiB3\n" \
110 	"dJk2Cl+yMP+oIqR6bDZQY5lzuaE5v3GMRSSWC94B6A==\n" \
111 	"-----END RSA PRIVATE KEY-----\n"
112 #define	PUBLICKEY	"v=DKIM1; k=rsa; t=y:s; h=sha1:sha256; p=" \
113 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
114 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
115 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
116 	"yc079gSLtnSrgXb+gQIDAQAB"
117 #define	PUBLICKEYNOS	"v=DKIM1; k=rsa; t=y; p=" \
118 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
119 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
120 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
121 	"yc079gSLtnSrgXb+gQIDAQAB"
122 #define	PUBLICKEY2	"v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ" \
123 	"KBgQDwIRP/UC3SBsEmGqZ9ZJW3/DkMoGeLnQg1fWn7/zYt" \
124 	"IxN2SnFCjxOCKG9v3b4jYfcTNh5ijSsq631uBItLa7od+v" \
125 	"/RtdC2UzJ1lWT947qR+Rcac2gbto/NMqJ0fzfVjH4OuKhi" \
126 	"tdY9tf6mcwGjaNBcWToIMmPSPDdQPNUYckcQ2QIDAQAB"
127 #define	PUBLICKEYBADV	"v=DKIM0; k=rsa; t=y:s; h=sha1:sha256; p=" \
128 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
129 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
130 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
131 	"yc079gSLtnSrgXb+gQIDAQAB"
132 #define	PUBLICKEY256	"v=DKIM1; k=rsa; t=y:s; h=sha256; p=" \
133 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
134 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
135 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
136 	"yc079gSLtnSrgXb+gQIDAQAB"
137 #define	PUBLICKEYBADH	"v=DKIM1; k=rsa; t=y:s; h=sha0; p=" \
138 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
139 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
140 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
141 	"yc079gSLtnSrgXb+gQIDAQAB"
142 #define	PUBLICKEYNOK	"v=DKIM1; t=y:s; p=" \
143 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
144 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
145 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
146 	"yc079gSLtnSrgXb+gQIDAQAB"
147 #define	PUBLICKEYBADK	"v=DKIM1; k=xxx; t=y:s; h=sha1:sha256; p=" \
148 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
149 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
150 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
151 	"yc079gSLtnSrgXb+gQIDAQAB"
152 #define	PUBLICKEYEMPTYP	"v=DKIM1; k=rsa; t=y:s; h=sha1:sha256; p="
153 #define	PUBLICKEYNOP	"v=DKIM1; k=rsa; t=y:s; h=sha1:sha256"
154 #define	PUBLICKEYCORRUPTP	"v=DKIM1; k=rsa; t=y:s; h=sha1:sha256; p=" \
155 	"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4GUGr+d/6SFNzVLYpphnRd0QP" \
156 	"GKz2uWnV65RAxa1Pw352BqizqiKOBjgYGzj8pJQSs8tOvv/2k6jpI809RnESqOFg" \
157 	"F0gu3UJbNnu3+cd8k/kiQj+q4cKKRpAT92ccxc7svhCNgN1sBGmROYZuysG3Vu3D" \
158 	"yc079gSLtnSrgXb+gQIDAQ"
159 #define	REPORTRECORD	"ra=postmaster; rs=" SMTPTOKENENC
160 
161 #define	GIBBERISH	"abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 !@#$%^&*()_+|-={}[];':,./<>?`~\r\n"
162