More new test committing.
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 7 Feb 2006 10:16:23 +0000 (10:16 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 7 Feb 2006 10:16:23 +0000 (10:16 +0000)
236 files changed:
test/aux-fixed/0001.trusted [new file with mode: 0644]
test/aux-fixed/0002.alias1 [new file with mode: 0644]
test/aux-fixed/0002.alias2 [new file with mode: 0644]
test/aux-fixed/0002.aliases [new file with mode: 0644]
test/aux-fixed/0002.domains [new file with mode: 0644]
test/aux-fixed/0002.iplsearch [new file with mode: 0644]
test/aux-fixed/0002.lsearch [new file with mode: 0644]
test/aux-fixed/0002.matchip [new file with mode: 0644]
test/aux-fixed/0002.quoted [new file with mode: 0644]
test/aux-fixed/0002.readfile [new file with mode: 0644]
test/aux-fixed/0002.rec [new file with mode: 0644]
test/aux-fixed/0002.runfile [new file with mode: 0755]
test/aux-fixed/0002.starat [new file with mode: 0644]
test/aux-fixed/0003.rej.bydomain [new file with mode: 0644]
test/aux-fixed/0003.rej.lsearch [new file with mode: 0644]
test/aux-fixed/0006-aliases [new file with mode: 0644]
test/aux-fixed/0014.usernames [new file with mode: 0644]
test/aux-fixed/0015.filter.userx [new file with mode: 0644]
test/aux-fixed/0015.realnames [new file with mode: 0644]
test/aux-fixed/0016.filter.userx [new file with mode: 0644]
test/aux-fixed/0023.acl1 [new file with mode: 0644]
test/aux-fixed/0023.doms [new file with mode: 0644]
test/aux-fixed/0033.list [new file with mode: 0644]
test/aux-fixed/0037.f-1 [new file with mode: 0644]
test/aux-fixed/0037.f-2 [new file with mode: 0644]
test/aux-fixed/0037.f-3 [new file with mode: 0644]
test/aux-fixed/0037.f-4 [new file with mode: 0644]
test/aux-fixed/0037.f-5 [new file with mode: 0644]
test/aux-fixed/0037.f-6 [new file with mode: 0644]
test/aux-fixed/0037.msg [new file with mode: 0644]
test/aux-fixed/0041.aliases [new file with mode: 0644]
test/aux-fixed/0043.aliases [new file with mode: 0644]
test/aux-fixed/0046.filter.userx [new file with mode: 0644]
test/aux-fixed/0047.routes [new file with mode: 0644]
test/aux-fixed/0051.domains [new file with mode: 0644]
test/aux-fixed/0051.notdomains [new file with mode: 0644]
test/aux-fixed/0053.aliases [new file with mode: 0644]
test/aux-fixed/0057.d1 [new file with mode: 0644]
test/aux-fixed/0057.d2 [new file with mode: 0644]
test/aux-fixed/0064.hosts [new file with mode: 0644]
test/aux-fixed/0065.nets [new file with mode: 0644]
test/aux-fixed/0066.nets [new file with mode: 0644]
test/aux-fixed/0066.nothosts [new file with mode: 0644]
test/aux-fixed/0067.not1 [new file with mode: 0644]
test/aux-fixed/0067.not2 [new file with mode: 0644]
test/aux-fixed/0067.rej.bydomain [new file with mode: 0644]
test/aux-fixed/0067.rej.lsearch [new file with mode: 0644]
test/aux-fixed/0067.rejrec [new file with mode: 0644]
test/aux-fixed/0079.aliases [new file with mode: 0644]
test/aux-fixed/0080.aliases [new file with mode: 0644]
test/aux-fixed/0084.yes [new file with mode: 0644]
test/aux-fixed/0085.data [new file with mode: 0644]
test/aux-fixed/0093.f-3 [new file with mode: 0644]
test/aux-fixed/0093.lsearch [new file with mode: 0644]
test/aux-fixed/0098.aliases [new file with mode: 0644]
test/aux-fixed/0098.forward [new file with mode: 0644]
test/aux-fixed/0098.wmf [new file with mode: 0644]
test/aux-fixed/0099.rlist [new file with mode: 0644]
test/aux-fixed/0099.rlist2 [new file with mode: 0644]
test/aux-fixed/0105.list [new file with mode: 0644]
test/aux-fixed/0107.filelist [new file with mode: 0644]
test/aux-fixed/0110.alias [new file with mode: 0644]
test/aux-fixed/0111.alias [new file with mode: 0644]
test/aux-fixed/0111.forward [new file with mode: 0644]
test/aux-fixed/0113.alias [new file with mode: 0644]
test/aux-fixed/0113.forward [new file with mode: 0644]
test/aux-fixed/0116.alias [new file with mode: 0644]
test/aux-fixed/0122.filter [new file with mode: 0644]
test/aux-fixed/0123.aliases1 [new file with mode: 0644]
test/aux-fixed/0123.aliases2 [new file with mode: 0644]
test/aux-fixed/0123.aliases3 [new file with mode: 0644]
test/aux-fixed/0123.aliases4 [new file with mode: 0644]
test/aux-fixed/0123.aliases5 [new file with mode: 0644]
test/aux-fixed/0123.aliases6 [new file with mode: 0644]
test/aux-fixed/0129.domains [new file with mode: 0644]
test/aux-fixed/0131.userx [new file with mode: 0644]
test/aux-fixed/0134.listD [new file with mode: 0644]
test/aux-fixed/0134.listR [new file with mode: 0644]
test/aux-fixed/0136.filter [new file with mode: 0644]
test/aux-fixed/0138.aliases [new file with mode: 0644]
test/aux-fixed/0139.aliases [new file with mode: 0644]
test/aux-fixed/0153.alias.exists [new file with mode: 0644]
test/aux-fixed/0153.list.yes [new file with mode: 0644]
test/aux-fixed/0156.alias [new file with mode: 0644]
test/aux-fixed/0166.aliases [new file with mode: 0644]
test/aux-fixed/0168.filter [new file with mode: 0644]
test/aux-fixed/0170.filter [new file with mode: 0644]
test/aux-fixed/0177.alias [new file with mode: 0644]
test/aux-fixed/0182.filter [new file with mode: 0644]
test/aux-fixed/0184.lsearch [new file with mode: 0644]
test/aux-fixed/0185.alias [new file with mode: 0644]
test/aux-fixed/0194.ret [new file with mode: 0755]
test/aux-fixed/0198.locals [new file with mode: 0644]
test/aux-fixed/0212.aliases [new file with mode: 0644]
test/aux-fixed/0212.x.forward [new file with mode: 0644]
test/aux-fixed/0212.y.forward [new file with mode: 0644]
test/aux-fixed/0224.aliases [new file with mode: 0644]
test/aux-fixed/0224.haliases [new file with mode: 0644]
test/aux-fixed/0233.filter [new file with mode: 0644]
test/aux-fixed/0235.aliases [new file with mode: 0644]
test/aux-fixed/0241.filter [new file with mode: 0644]
test/aux-fixed/0243.algemeen [new file with mode: 0644]
test/aux-fixed/0243.antwoord-faq [new file with mode: 0644]
test/aux-fixed/0243.beantwoorders [new file with mode: 0644]
test/aux-fixed/0246.data [new file with mode: 0644]
test/aux-fixed/0246.file [new file with mode: 0644]
test/aux-fixed/0247.alias [new file with mode: 0644]
test/aux-fixed/0248.filter [new file with mode: 0644]
test/aux-fixed/0251.list.oklist [new file with mode: 0644]
test/aux-fixed/0251.restrict.oklist [new file with mode: 0644]
test/aux-fixed/0252.alias [new file with mode: 0644]
test/aux-fixed/0252.forward [new file with mode: 0644]
test/aux-fixed/0258.m1 [new file with mode: 0644]
test/aux-fixed/0258.m2 [new file with mode: 0644]
test/aux-fixed/0258.m3 [new file with mode: 0644]
test/aux-fixed/0258.m4 [new file with mode: 0644]
test/aux-fixed/0266.filter [new file with mode: 0644]
test/aux-fixed/0266.filter2 [new file with mode: 0644]
test/aux-fixed/0266.filter3 [new file with mode: 0644]
test/aux-fixed/0266.list [new file with mode: 0644]
test/aux-fixed/0266.list2 [new file with mode: 0644]
test/aux-fixed/0266.nmlist [new file with mode: 0644]
test/aux-fixed/0268.exim [new file with mode: 0644]
test/aux-fixed/0270.filter [new file with mode: 0644]
test/aux-fixed/0270.filter2 [new file with mode: 0644]
test/aux-fixed/0270.filter3 [new file with mode: 0644]
test/aux-fixed/0270.list [new file with mode: 0644]
test/aux-fixed/0270.list2 [new file with mode: 0644]
test/aux-fixed/0270.nmlist [new file with mode: 0644]
test/aux-fixed/0273.user [new file with mode: 0644]
test/aux-fixed/0290.inc1 [new file with mode: 0644]
test/aux-fixed/0290.inc2 [new file with mode: 0644]
test/aux-fixed/0290.inc3 [new file with mode: 0644]
test/aux-fixed/0296.Filter [new file with mode: 0644]
test/aux-fixed/0297.Filter [new file with mode: 0644]
test/aux-fixed/0298.Filter [new file with mode: 0644]
test/aux-fixed/0304.d1 [new file with mode: 0644]
test/aux-fixed/0304.d2 [new file with mode: 0644]
test/aux-fixed/0304.d3 [new file with mode: 0644]
test/aux-fixed/0304.d4 [new file with mode: 0644]
test/aux-fixed/0304.d5 [new file with mode: 0644]
test/aux-fixed/0306/list1 [new file with mode: 0644]
test/aux-fixed/0306/list1-request [new file with mode: 0644]
test/aux-fixed/0307/list1 [new file with mode: 0644]
test/aux-fixed/0307/list1-request [new file with mode: 0644]
test/aux-fixed/0316.f-user [new file with mode: 0644]
test/aux-fixed/0320.filter [new file with mode: 0644]
test/aux-fixed/0320.list [new file with mode: 0644]
test/aux-fixed/0323.lookup [new file with mode: 0644]
test/aux-fixed/0325.data [new file with mode: 0644]
test/aux-fixed/0328.F [new file with mode: 0644]
test/aux-fixed/0329.F [new file with mode: 0644]
test/aux-fixed/0330.forward [new file with mode: 0644]
test/aux-fixed/0335.aliases [new file with mode: 0644]
test/aux-fixed/0351.F [new file with mode: 0644]
test/aux-fixed/0352.F [new file with mode: 0644]
test/aux-fixed/0360.aliases [new file with mode: 0644]
test/aux-fixed/0382.F [new file with mode: 0644]
test/aux-fixed/0386.acl1 [new file with mode: 0644]
test/aux-fixed/0386.acl2 [new file with mode: 0644]
test/aux-fixed/0387.1 [new file with mode: 0644]
test/aux-fixed/0400.alias [new file with mode: 0644]
test/aux-fixed/0403.data [new file with mode: 0644]
test/aux-fixed/0406.f [new file with mode: 0644]
test/aux-fixed/0412.F [new file with mode: 0644]
test/aux-fixed/0414.list1 [new file with mode: 0644]
test/aux-fixed/0414.list2 [new file with mode: 0644]
test/aux-fixed/0418.acl [new file with mode: 0644]
test/aux-fixed/0421.F [new file with mode: 0644]
test/aux-fixed/0427.message [new file with mode: 0644]
test/aux-fixed/0427.message2 [new file with mode: 0644]
test/aux-fixed/0427.message3 [new file with mode: 0644]
test/aux-fixed/0437.ls [new file with mode: 0644]
test/aux-fixed/0442.acl [new file with mode: 0644]
test/aux-fixed/0442.routers [new file with mode: 0644]
test/aux-fixed/0442.transports [new file with mode: 0644]
test/aux-fixed/0444.sysfilter [new file with mode: 0644]
test/aux-fixed/0445.data [new file with mode: 0644]
test/aux-fixed/0452.filter-1 [new file with mode: 0644]
test/aux-fixed/0452.filter-2 [new file with mode: 0644]
test/aux-fixed/0454.filter [new file with mode: 0644]
test/aux-fixed/0464.domains [new file with mode: 0644]
test/aux-fixed/0471.rw [new file with mode: 0644]
test/aux-fixed/0472.F [new file with mode: 0644]
test/aux-fixed/0483.list [new file with mode: 0644]
test/aux-fixed/0484.aliases [new file with mode: 0644]
test/aux-fixed/0484.aliases2 [new file with mode: 0644]
test/aux-fixed/0485.data [new file with mode: 0644]
test/aux-fixed/0485.data2 [new file with mode: 0644]
test/aux-fixed/0485.data3 [new file with mode: 0644]
test/aux-fixed/0495.alias [new file with mode: 0644]
test/aux-fixed/0498.fudge [new file with mode: 0644]
test/aux-fixed/0504.script [new file with mode: 0644]
test/aux-fixed/0506.exim-filter [new file with mode: 0644]
test/aux-fixed/0506.sieve-filter [new file with mode: 0644]
test/aux-fixed/0510.sfilter [new file with mode: 0644]
test/aux-fixed/0510.ufilter [new file with mode: 0644]
test/aux-fixed/1002.filter [new file with mode: 0644]
test/aux-fixed/2400.cdb [new file with mode: 0644]
test/aux-fixed/2400.cdb.src [new file with mode: 0644]
test/aux-fixed/2500.tst [new file with mode: 0644]
test/aux-fixed/3000.pl [new file with mode: 0644]
test/aux-fixed/3202.acl1 [new file with mode: 0644]
test/aux-fixed/3202.doms [new file with mode: 0644]
test/aux-fixed/3212.aliases [new file with mode: 0644]
test/aux-fixed/3400.filter [new file with mode: 0644]
test/aux-fixed/3500.filter [new file with mode: 0644]
test/aux-fixed/4100.f [new file with mode: 0644]
test/aux-fixed/5001.filelist [new file with mode: 0644]
test/aux-fixed/5100.script.01 [new file with mode: 0644]
test/aux-fixed/5100.script.02 [new file with mode: 0644]
test/aux-fixed/5100.script.03 [new file with mode: 0644]
test/aux-fixed/5100.script.04 [new file with mode: 0644]
test/aux-fixed/5100.script.05 [new file with mode: 0644]
test/aux-fixed/5100.script.06 [new file with mode: 0644]
test/aux-fixed/5100.script.07 [new file with mode: 0644]
test/aux-fixed/5100.script.08 [new file with mode: 0644]
test/aux-fixed/5100.script.09 [new file with mode: 0644]
test/aux-fixed/5101.filter [new file with mode: 0755]
test/aux-fixed/5101.script [new file with mode: 0644]
test/aux-fixed/5103.script [new file with mode: 0644]
test/aux-fixed/5201.filter [new file with mode: 0644]
test/aux-fixed/5202.filter [new file with mode: 0644]
test/aux-fixed/9401.perl [new file with mode: 0644]
test/aux-fixed/9450.alias [new file with mode: 0644]
test/aux-fixed/abcd-xyz [new file with mode: 0644]
test/aux-fixed/cert1 [new file with mode: 0644]
test/aux-fixed/cert2 [new file with mode: 0644]
test/aux-fixed/cert2.revoke [new file with mode: 0644]
test/aux-fixed/crl.pem [new file with mode: 0644]
test/aux-fixed/dh1 [new file with mode: 0644]
test/aux-fixed/gnutls-params [new file with mode: 0644]
test/aux-fixed/resubmit [new file with mode: 0755]
test/aux-fixed/resubmitB [new file with mode: 0755]
test/aux-fixed/showenv [new file with mode: 0755]
test/aux-fixed/sqlitedb [new file with mode: 0644]

diff --git a/test/aux-fixed/0001.trusted b/test/aux-fixed/0001.trusted
new file mode 100644 (file)
index 0000000..ae8c4c1
--- /dev/null
@@ -0,0 +1,2 @@
+1234
+5678
diff --git a/test/aux-fixed/0002.alias1 b/test/aux-fixed/0002.alias1
new file mode 100644 (file)
index 0000000..d8b9543
--- /dev/null
@@ -0,0 +1,2 @@
+one: 1-in-1
+both: both-in-1
diff --git a/test/aux-fixed/0002.alias2 b/test/aux-fixed/0002.alias2
new file mode 100644 (file)
index 0000000..f171e2d
--- /dev/null
@@ -0,0 +1,2 @@
+two: 2-in-2
+both: both-in-2
diff --git a/test/aux-fixed/0002.aliases b/test/aux-fixed/0002.aliases
new file mode 100644 (file)
index 0000000..8b5eb54
--- /dev/null
@@ -0,0 +1 @@
+postmaster: CALLER
diff --git a/test/aux-fixed/0002.domains b/test/aux-fixed/0002.domains
new file mode 100644 (file)
index 0000000..61a28a6
--- /dev/null
@@ -0,0 +1,4 @@
+a.b.c.d: data for a.b.c.d
+y.z:     data for y.z
+*.p.q:   data for *.p.q
+*:       data for *
diff --git a/test/aux-fixed/0002.iplsearch b/test/aux-fixed/0002.iplsearch
new file mode 100644 (file)
index 0000000..1af03ce
--- /dev/null
@@ -0,0 +1,5 @@
+1.2.3.4:           data for 1.2.3.4
+"abcd::cdab":      data for abcd::cdab
+192.168.0.0/16     data for 192.168.0.0/16
+*:                 data for *
+"abcd:abcd::/32"   data for abcd:abcd::/32
diff --git a/test/aux-fixed/0002.lsearch b/test/aux-fixed/0002.lsearch
new file mode 100644 (file)
index 0000000..dcf198b
--- /dev/null
@@ -0,0 +1,2 @@
+ten-1.test.ex
+10.0.0.2
diff --git a/test/aux-fixed/0002.matchip b/test/aux-fixed/0002.matchip
new file mode 100644 (file)
index 0000000..90bb0ea
--- /dev/null
@@ -0,0 +1,2 @@
+1.2.3.4:    data for 1.2.3.4
+5.6.7.0/24: data for 5.6.7.0/24
diff --git a/test/aux-fixed/0002.quoted b/test/aux-fixed/0002.quoted
new file mode 100644 (file)
index 0000000..6684c4e
--- /dev/null
@@ -0,0 +1,9 @@
+"xyz":          "xyz":
+"pqr"  :        "pqr"  :
+a:b             a:b unquoted
+"a:b"           "a:b"
+                abc continued data (make sure not key)
+"abc"           "abc"
+"\"quoted\""    "\"quoted\""       
+"white space"   "white space"
+"b\\s"          "b\\s"
diff --git a/test/aux-fixed/0002.readfile b/test/aux-fixed/0002.readfile
new file mode 100644 (file)
index 0000000..82f6fc7
--- /dev/null
@@ -0,0 +1,4 @@
+abcde
+12345
+
+xyz
diff --git a/test/aux-fixed/0002.rec b/test/aux-fixed/0002.rec
new file mode 100644 (file)
index 0000000..991f672
--- /dev/null
@@ -0,0 +1,5 @@
+key1:  key2
+key1f: Key 1 failed
+key2:  The data for key1->key2
+key3:  key4
+key3f: Key 3 failed
diff --git a/test/aux-fixed/0002.runfile b/test/aux-fixed/0002.runfile
new file mode 100755 (executable)
index 0000000..74421b5
--- /dev/null
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+echo abcd
+echo 1234
+
+exit $1
+
diff --git a/test/aux-fixed/0002.starat b/test/aux-fixed/0002.starat
new file mode 100644 (file)
index 0000000..79836ca
--- /dev/null
@@ -0,0 +1,3 @@
+x@y  ==X@Y
+*@z  ==*@Z
+*    ==*
diff --git a/test/aux-fixed/0003.rej.bydomain b/test/aux-fixed/0003.rej.bydomain
new file mode 100644 (file)
index 0000000..c520307
--- /dev/null
@@ -0,0 +1,2 @@
+aa.bb:  AbCd : ^\Dx : ^\DY : >*
+*: BlOcKeD
diff --git a/test/aux-fixed/0003.rej.lsearch b/test/aux-fixed/0003.rej.lsearch
new file mode 100644 (file)
index 0000000..570c998
--- /dev/null
@@ -0,0 +1,6 @@
+*@AA.com
+*@bb.com
+Cc@Dd.com
+*@MM.com
+*@nn.com
+Pp@Qq.com
diff --git a/test/aux-fixed/0006-aliases b/test/aux-fixed/0006-aliases
new file mode 100644 (file)
index 0000000..e1c5e38
--- /dev/null
@@ -0,0 +1,2 @@
+blackhole:  :blackhole:
+devnull:    /dev/null
diff --git a/test/aux-fixed/0014.usernames b/test/aux-fixed/0014.usernames
new file mode 100644 (file)
index 0000000..aa675b2
--- /dev/null
@@ -0,0 +1,2 @@
+jules@box1  J.Caesar
+jules@box2  J.Calendar
diff --git a/test/aux-fixed/0015.filter.userx b/test/aux-fixed/0015.filter.userx
new file mode 100644 (file)
index 0000000..b7ef2ed
--- /dev/null
@@ -0,0 +1,12 @@
+# Exim filter
+
+if error_message then finish endif
+
+if 
+  $local_part_prefix contains "page"
+then
+  unseen mail to userx text "callpager -r 108 PAGE:${l_50:$message_body}"
+  unseen pipe callpager 
+endif
+
+# End   
diff --git a/test/aux-fixed/0015.realnames b/test/aux-fixed/0015.realnames
new file mode 100644 (file)
index 0000000..40a3138
--- /dev/null
@@ -0,0 +1 @@
+ux: userx
diff --git a/test/aux-fixed/0016.filter.userx b/test/aux-fixed/0016.filter.userx
new file mode 100644 (file)
index 0000000..a89551d
--- /dev/null
@@ -0,0 +1,11 @@
+# Exim filter
+
+if error_message then finish endif
+
+if 
+  $local_part_suffix contains "page"
+then
+  unseen mail to userx text "callpager -r 108 PAGE:${l_50:$message_body}"
+endif
+
+# End   
diff --git a/test/aux-fixed/0023.acl1 b/test/aux-fixed/0023.acl1
new file mode 100644 (file)
index 0000000..28085ab
--- /dev/null
@@ -0,0 +1,2 @@
+accept domains = y
+       local_parts = x
diff --git a/test/aux-fixed/0023.doms b/test/aux-fixed/0023.doms
new file mode 100644 (file)
index 0000000..ebc7f5f
--- /dev/null
@@ -0,0 +1 @@
+test.ex: userx : spqr
diff --git a/test/aux-fixed/0033.list b/test/aux-fixed/0033.list
new file mode 100644 (file)
index 0000000..40bf63a
--- /dev/null
@@ -0,0 +1 @@
+one@remote, two@remote
diff --git a/test/aux-fixed/0037.f-1 b/test/aux-fixed/0037.f-1
new file mode 100644 (file)
index 0000000..bfe43b6
--- /dev/null
@@ -0,0 +1,80 @@
+# Exim filter
+
+add 1 to n3
+add 3 to n4
+add $n3 to n4
+add $n4 to n4
+add 6 to n$n3
+testprint "n0=$n0 n1=$n1 n3=$n3 n4=$n4"
+
+testprint "${run{/bin/sh -c 'pwd'}}"
+
+deliver root@$qualify_domain
+save /tmp/$primary_hostname 444
+save /tmp/$qualify_domain 
+pipe "/tmp/$primary_hostname"
+
+logfile /tmp/logfile logwrite "this is log text: $qualify_domain"
+
+if $qualify_domain contains $qualify_domain then
+  testprint "yes"
+else
+  testprint "no"
+endif      
+
+if $qualify_domain CONTAINS $qualify_domain then
+  testprint "yes"
+else
+  testprint "no"
+endif      
+
+if $qualify_domain contains ${uc:$qualify_domain} then
+  testprint "yes"
+else
+  testprint "no"
+endif      
+
+if $qualify_domain does not contain ${uc:$qualify_domain} then
+  testprint "no"
+else
+  testprint "yes"
+endif      
+
+if $qualify_domain DOES NOT CONTAIN ${uc:$qualify_domain} then
+  testprint "no"
+else
+  testprint "yes"
+endif      
+
+if $qualify_domain CONTAINS ${uc:$qualify_domain} then
+  testprint "yes"
+else
+  testprint "no"
+endif      
+
+if $qualify_domain is $qualify_domain then
+  testprint "qualify_domain is qualify_domain"
+else   
+  testprint "NOT qualify_domain is qualify_domain"
+endif   
+
+if $qualify_domain IS $qualify_domain then
+  testprint "qualify_domain IS qualify_domain"
+else   
+  testprint "NOT qualify_domain IS qualify_domain"
+endif   
+
+if $qualify_domain is not $qualify_domain then
+  testprint "qualify_domain is not qualify_domain"
+else   
+  testprint "NOT qualify_domain is not qualify_domain"
+endif   
+
+if $qualify_domain IS NOT $qualify_domain then
+  testprint "qualify_domain IS NOT qualify_domain"
+else   
+  testprint "NOT qualify_domain IS NOT qualify_domain"
+endif   
+
+
+
diff --git a/test/aux-fixed/0037.f-2 b/test/aux-fixed/0037.f-2
new file mode 100644 (file)
index 0000000..31d595f
--- /dev/null
@@ -0,0 +1,5 @@
+# Exim filter
+
+deliver root@$qualify_domain errors_to root@$primary_hostname
+
+testprint End
diff --git a/test/aux-fixed/0037.f-3 b/test/aux-fixed/0037.f-3
new file mode 100644 (file)
index 0000000..31d595f
--- /dev/null
@@ -0,0 +1,5 @@
+# Exim filter
+
+deliver root@$qualify_domain errors_to root@$primary_hostname
+
+testprint End
diff --git a/test/aux-fixed/0037.f-4 b/test/aux-fixed/0037.f-4
new file mode 100644 (file)
index 0000000..55f1063
--- /dev/null
@@ -0,0 +1,13 @@
+# Exim filter
+
+if personal alias abcdefgh@ifi.uio.no alias abcdefgh@student.matnat.uio.no 
+  alias xyz@fix.no alias xyzabcd@skjaeveland.com alias abcdefgh@e.fix.no 
+  alias abcdefgh@skjermbrev.com alias abcdefgh@b.b.cl 
+  alias abcdefgh@bzzzt.fix.no
+then
+  testprint "Personal"
+else
+  testprint "Not personal"
+endif      
+
+testprint "\\$home = $home"
diff --git a/test/aux-fixed/0037.f-5 b/test/aux-fixed/0037.f-5
new file mode 100644 (file)
index 0000000..a848ddb
--- /dev/null
@@ -0,0 +1,7 @@
+# Exim filter
+
+testprint "Before fail"
+
+fail text "This is a forced failure"
+
+testprint End
diff --git a/test/aux-fixed/0037.f-6 b/test/aux-fixed/0037.f-6
new file mode 100644 (file)
index 0000000..2b9df2a
--- /dev/null
@@ -0,0 +1,11 @@
+# Exim filter
+
+if $h_subject: is "This is a very long string which isn't likely to occur when\
+  testing for a fixed string, but might happen if a long and complicated\
+  regular expression and/or lookup gets used in somebody's filter file.\
+  Originally the limit was 256 characters, but now we have increased it to\
+  a larger figure. This should exceed the old limit and check that the new\
+  limit is in place."
+then
+  testprint "Won't happen"
+endif   
diff --git a/test/aux-fixed/0037.msg b/test/aux-fixed/0037.msg
new file mode 100644 (file)
index 0000000..8196d9e
--- /dev/null
@@ -0,0 +1,5 @@
+From: abcd@xyz
+Subject: message for filter test
+
+This is the body of the message. It has some length. Indeed it does. We need to 
+check that the body is correctly visible in the filter.
diff --git a/test/aux-fixed/0041.aliases b/test/aux-fixed/0041.aliases
new file mode 100644 (file)
index 0000000..ac6b833
--- /dev/null
@@ -0,0 +1,2 @@
+list:       userx, usery
+postmaster: userx
diff --git a/test/aux-fixed/0043.aliases b/test/aux-fixed/0043.aliases
new file mode 100644 (file)
index 0000000..4befa4f
--- /dev/null
@@ -0,0 +1,2 @@
+postmaster: userx
+fail:       :fail: this alias is forced to fail
diff --git a/test/aux-fixed/0046.filter.userx b/test/aux-fixed/0046.filter.userx
new file mode 100644 (file)
index 0000000..c0044c9
--- /dev/null
@@ -0,0 +1,4 @@
+# Exim filter
+
+testprint "Body: $message_body"
+testprint "End:  $message_body_end"
diff --git a/test/aux-fixed/0047.routes b/test/aux-fixed/0047.routes
new file mode 100644 (file)
index 0000000..8ebfeb2
--- /dev/null
@@ -0,0 +1,5 @@
+# Testing route file for lookup from route_list in domainlist
+
+route1.ex:   ten-2.test.ex
+
+# End
diff --git a/test/aux-fixed/0051.domains b/test/aux-fixed/0051.domains
new file mode 100644 (file)
index 0000000..3e787b5
--- /dev/null
@@ -0,0 +1,5 @@
+# This is a comment
+domain1.ex
+!domain2.ex
+*.domain5.ex
+^domain6\..*\.ex
diff --git a/test/aux-fixed/0051.notdomains b/test/aux-fixed/0051.notdomains
new file mode 100644 (file)
index 0000000..be1b616
--- /dev/null
@@ -0,0 +1,2 @@
+domain3.ex
+domain4.ex
diff --git a/test/aux-fixed/0053.aliases b/test/aux-fixed/0053.aliases
new file mode 100644 (file)
index 0000000..0f0e251
--- /dev/null
@@ -0,0 +1 @@
+bar@domain1.ex:  userx@test.ex
diff --git a/test/aux-fixed/0057.d1 b/test/aux-fixed/0057.d1
new file mode 100644 (file)
index 0000000..e4a4d75
--- /dev/null
@@ -0,0 +1 @@
+c.test.ex
diff --git a/test/aux-fixed/0057.d2 b/test/aux-fixed/0057.d2
new file mode 100644 (file)
index 0000000..f3396f3
--- /dev/null
@@ -0,0 +1 @@
+d.test.ex
diff --git a/test/aux-fixed/0064.hosts b/test/aux-fixed/0064.hosts
new file mode 100644 (file)
index 0000000..4e2907a
--- /dev/null
@@ -0,0 +1,3 @@
+# Lookup hosts file
+
+ten-2.test.ex
diff --git a/test/aux-fixed/0065.nets b/test/aux-fixed/0065.nets
new file mode 100644 (file)
index 0000000..0e15dfc
--- /dev/null
@@ -0,0 +1,5 @@
+# Indexed net list
+
+131.111.0.0/16
+192.152.98.0/24
+192.153.98.4
diff --git a/test/aux-fixed/0066.nets b/test/aux-fixed/0066.nets
new file mode 100644 (file)
index 0000000..0e15dfc
--- /dev/null
@@ -0,0 +1,5 @@
+# Indexed net list
+
+131.111.0.0/16
+192.152.98.0/24
+192.153.98.4
diff --git a/test/aux-fixed/0066.nothosts b/test/aux-fixed/0066.nothosts
new file mode 100644 (file)
index 0000000..e16a32e
--- /dev/null
@@ -0,0 +1,2 @@
+black-1.test.ex
+!ten-3.test.ex
diff --git a/test/aux-fixed/0067.not1 b/test/aux-fixed/0067.not1
new file mode 100644 (file)
index 0000000..1a77458
--- /dev/null
@@ -0,0 +1 @@
+x@bbb.ccc
diff --git a/test/aux-fixed/0067.not2 b/test/aux-fixed/0067.not2
new file mode 100644 (file)
index 0000000..5b4eeb6
--- /dev/null
@@ -0,0 +1 @@
+y@bbb.ccc
diff --git a/test/aux-fixed/0067.rej.bydomain b/test/aux-fixed/0067.rej.bydomain
new file mode 100644 (file)
index 0000000..59d3642
--- /dev/null
@@ -0,0 +1,3 @@
+z.z: abc : ^x : >*
+*: ^\d{8}
+xx.yy: !abc : *bc : ^a
diff --git a/test/aux-fixed/0067.rej.lsearch b/test/aux-fixed/0067.rej.lsearch
new file mode 100644 (file)
index 0000000..9496c57
--- /dev/null
@@ -0,0 +1,3 @@
+abc.def
+*@abc.def
+abc@d.e.f
diff --git a/test/aux-fixed/0067.rejrec b/test/aux-fixed/0067.rejrec
new file mode 100644 (file)
index 0000000..b83b800
--- /dev/null
@@ -0,0 +1,9 @@
+# List of addresses to reject.
+# Must have space after # because it is legal in
+# local parts.
+#
+rr01@a.b.c    # comment
+!^qqq
+^qq
+^!excl
+sh#rp@y.p.s
diff --git a/test/aux-fixed/0079.aliases b/test/aux-fixed/0079.aliases
new file mode 100644 (file)
index 0000000..c65edd7
--- /dev/null
@@ -0,0 +1 @@
+postmaster: userx
diff --git a/test/aux-fixed/0080.aliases b/test/aux-fixed/0080.aliases
new file mode 100644 (file)
index 0000000..c65edd7
--- /dev/null
@@ -0,0 +1 @@
+postmaster: userx
diff --git a/test/aux-fixed/0084.yes b/test/aux-fixed/0084.yes
new file mode 100644 (file)
index 0000000..f6e5cf2
--- /dev/null
@@ -0,0 +1 @@
+userx@test.ex
diff --git a/test/aux-fixed/0085.data b/test/aux-fixed/0085.data
new file mode 100644 (file)
index 0000000..4fe46a7
--- /dev/null
@@ -0,0 +1,3 @@
+smart.domain:  x : y : abc@d.e.f
+test.ex:       x : y : abc@d.e.f
+test.ex.files: /etc/passwd
diff --git a/test/aux-fixed/0093.f-3 b/test/aux-fixed/0093.f-3
new file mode 100644 (file)
index 0000000..ca139de
--- /dev/null
@@ -0,0 +1,20 @@
+#Exim filter
+
+testprint "From: is ${if def:h_from:{}{not }}defined"
+testprint "Absent: is ${if def:h_absent:{}{not }}defined"
+testprint "----------------------"
+testprint $message_headers
+testprint "----------------------"
+testprint $message_headers+++more
+testprint "----------------------"
+testprint "+++$message_headers+++"
+testprint "----------------------"
+testprint "From: >$h_from:<"
+testprint $h_repeated:
+testprint "----------------------"
+testprint +++$header_repeated:+++
+testprint "----------------------"
+testprint reply_address=$reply_address
+testprint empty=>$h_empty:<
+testprint repeated-empty=>$h_repeated-empty:<
+testprint "----------------------"
diff --git a/test/aux-fixed/0093.lsearch b/test/aux-fixed/0093.lsearch
new file mode 100644 (file)
index 0000000..b275168
--- /dev/null
@@ -0,0 +1 @@
+key1: data for key1
diff --git a/test/aux-fixed/0098.aliases b/test/aux-fixed/0098.aliases
new file mode 100644 (file)
index 0000000..f7c09d8
--- /dev/null
@@ -0,0 +1 @@
+defer: :defer: This address has been forced to defer.
diff --git a/test/aux-fixed/0098.forward b/test/aux-fixed/0098.forward
new file mode 100644 (file)
index 0000000..bfe65ed
--- /dev/null
@@ -0,0 +1,7 @@
+# Exim filter
+
+if error_message then finish endif
+
+# This forward is to a pipe that isn't going to work
+
+pipe /non/existing/file
diff --git a/test/aux-fixed/0098.wmf b/test/aux-fixed/0098.wmf
new file mode 100644 (file)
index 0000000..19fea5c
--- /dev/null
@@ -0,0 +1,10 @@
+Subject: Warning: message $message_id delayed by $warn_message_delay
+****
+warn_message_delay      = $warn_message_delay
+warn_message_recipients = $warn_message_recipient
+warn_message_recipients = $warn_message_recipients
+warnmsg_delay           = $warnmsg_delay
+warnmsg_recipient       = $warnmsg_recipient
+warnmsg_recipients      = $warnmsg_recipients
+****
+Final stuff.
diff --git a/test/aux-fixed/0099.rlist b/test/aux-fixed/0099.rlist
new file mode 100644 (file)
index 0000000..54e0e45
--- /dev/null
@@ -0,0 +1,2 @@
+*@a.b.c
+x.y.z
diff --git a/test/aux-fixed/0099.rlist2 b/test/aux-fixed/0099.rlist2
new file mode 100644 (file)
index 0000000..3ae16cd
--- /dev/null
@@ -0,0 +1 @@
+look.up
diff --git a/test/aux-fixed/0105.list b/test/aux-fixed/0105.list
new file mode 100644 (file)
index 0000000..7e1c854
--- /dev/null
@@ -0,0 +1,2 @@
+firstuser    this data is not used
+seconduser:  neither is this
diff --git a/test/aux-fixed/0107.filelist b/test/aux-fixed/0107.filelist
new file mode 100644 (file)
index 0000000..39934a8
--- /dev/null
@@ -0,0 +1,12 @@
+# These are used relative to the test suite directory
+userx:   test-empty/userx
+usery:   test-mail/../test-empty/usery
+sub1:    test-mail/s/sub1
+sub2:    test-empty/s/sub2
+sub3:    test-mail/link/sub3
+
+maildir-userx:   test-empty
+maildir-usery:   test-mail/../test-empty
+maildir-sub1:    test-mail/s
+maildir-sub2:    test-empty/s
+maildir-sub3:    test-mail/link
diff --git a/test/aux-fixed/0110.alias b/test/aux-fixed/0110.alias
new file mode 100644 (file)
index 0000000..c738913
--- /dev/null
@@ -0,0 +1,2 @@
+first: second
+second: :defer: deferred by aliasfile
diff --git a/test/aux-fixed/0111.alias b/test/aux-fixed/0111.alias
new file mode 100644 (file)
index 0000000..61eb382
--- /dev/null
@@ -0,0 +1 @@
+Philip: userx
diff --git a/test/aux-fixed/0111.forward b/test/aux-fixed/0111.forward
new file mode 100644 (file)
index 0000000..31c24b3
--- /dev/null
@@ -0,0 +1 @@
+Philip
diff --git a/test/aux-fixed/0113.alias b/test/aux-fixed/0113.alias
new file mode 100644 (file)
index 0000000..3a01c25
--- /dev/null
@@ -0,0 +1 @@
+second: :defer: deferred by aliasfile
diff --git a/test/aux-fixed/0113.forward b/test/aux-fixed/0113.forward
new file mode 100644 (file)
index 0000000..e019be0
--- /dev/null
@@ -0,0 +1 @@
+second
diff --git a/test/aux-fixed/0116.alias b/test/aux-fixed/0116.alias
new file mode 100644 (file)
index 0000000..ac9bc5d
--- /dev/null
@@ -0,0 +1,2 @@
+acopy: alias1, alias2
+defer: :defer: forced to defer
diff --git a/test/aux-fixed/0122.filter b/test/aux-fixed/0122.filter
new file mode 100644 (file)
index 0000000..819a30b
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+if $recipients contains freeze then freeze endif
diff --git a/test/aux-fixed/0123.aliases1 b/test/aux-fixed/0123.aliases1
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0123.aliases2 b/test/aux-fixed/0123.aliases2
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0123.aliases3 b/test/aux-fixed/0123.aliases3
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0123.aliases4 b/test/aux-fixed/0123.aliases4
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0123.aliases5 b/test/aux-fixed/0123.aliases5
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0123.aliases6 b/test/aux-fixed/0123.aliases6
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0129.domains b/test/aux-fixed/0129.domains
new file mode 100644 (file)
index 0000000..584dbff
--- /dev/null
@@ -0,0 +1,2 @@
+test.ex:     (It was test.ex)
+one.test.ex  (It was one.test.ex)
diff --git a/test/aux-fixed/0131.userx b/test/aux-fixed/0131.userx
new file mode 100644 (file)
index 0000000..e110fe3
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+unseen deliver copy@test.ex
diff --git a/test/aux-fixed/0134.listD b/test/aux-fixed/0134.listD
new file mode 100644 (file)
index 0000000..d4ccb40
--- /dev/null
@@ -0,0 +1,2 @@
+test.ex        data for test.ex
+userx          data for userx
diff --git a/test/aux-fixed/0134.listR b/test/aux-fixed/0134.listR
new file mode 100644 (file)
index 0000000..60a7335
--- /dev/null
@@ -0,0 +1,3 @@
+userx          data for userx
+USERX          data for USERX
+known.domain   data for known.domain
diff --git a/test/aux-fixed/0136.filter b/test/aux-fixed/0136.filter
new file mode 100644 (file)
index 0000000..ebef567
--- /dev/null
@@ -0,0 +1,5 @@
+#Exim filter
+
+if error_message then finish endif
+
+deliver unknown@test.ex errors_to forwarder@test.ex
diff --git a/test/aux-fixed/0138.aliases b/test/aux-fixed/0138.aliases
new file mode 100644 (file)
index 0000000..c65edd7
--- /dev/null
@@ -0,0 +1 @@
+postmaster: userx
diff --git a/test/aux-fixed/0139.aliases b/test/aux-fixed/0139.aliases
new file mode 100644 (file)
index 0000000..48477ea
--- /dev/null
@@ -0,0 +1,2 @@
+postmaster: userx
+list:       userx, usery
diff --git a/test/aux-fixed/0153.alias.exists b/test/aux-fixed/0153.alias.exists
new file mode 100644 (file)
index 0000000..6b6fc9c
--- /dev/null
@@ -0,0 +1 @@
+yes: aliased@test.ex
diff --git a/test/aux-fixed/0153.list.yes b/test/aux-fixed/0153.list.yes
new file mode 100644 (file)
index 0000000..17c6a9c
--- /dev/null
@@ -0,0 +1 @@
+listed@test.ex
diff --git a/test/aux-fixed/0156.alias b/test/aux-fixed/0156.alias
new file mode 100644 (file)
index 0000000..f7467ab
--- /dev/null
@@ -0,0 +1,7 @@
+defer:      :defer: forced to defer
+fail:       :fail:  forced to fail
+blackhole:  :blackhole: black holed
+unknown:    :unknown:
+include:    :include:/etc/aliases
+pipe:       |/bin/date
+file:       /dev/null
diff --git a/test/aux-fixed/0166.aliases b/test/aux-fixed/0166.aliases
new file mode 100644 (file)
index 0000000..3845a50
--- /dev/null
@@ -0,0 +1,6 @@
+a:   b, bb
+b:   c
+bb:  e
+c:   d
+d:   userx
+e:   usery
diff --git a/test/aux-fixed/0168.filter b/test/aux-fixed/0168.filter
new file mode 100644 (file)
index 0000000..12b4bce
--- /dev/null
@@ -0,0 +1,137 @@
+# Exim filter
+
+freeze text "some error message"
+
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/test/aux-fixed/0170.filter b/test/aux-fixed/0170.filter
new file mode 100644 (file)
index 0000000..5978e6c
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+pipe "/source/exim4/AutoTest/non-exist"
diff --git a/test/aux-fixed/0177.alias b/test/aux-fixed/0177.alias
new file mode 100644 (file)
index 0000000..e8b091d
--- /dev/null
@@ -0,0 +1 @@
+userz:  userx@non.local.domain
diff --git a/test/aux-fixed/0182.filter b/test/aux-fixed/0182.filter
new file mode 100644 (file)
index 0000000..7e581d5
--- /dev/null
@@ -0,0 +1,3 @@
+# System filter
+
+headers add "X-Added: by system filter"
diff --git a/test/aux-fixed/0184.lsearch b/test/aux-fixed/0184.lsearch
new file mode 100644 (file)
index 0000000..b4f46b7
--- /dev/null
@@ -0,0 +1 @@
+key: value
diff --git a/test/aux-fixed/0185.alias b/test/aux-fixed/0185.alias
new file mode 100644 (file)
index 0000000..16de122
--- /dev/null
@@ -0,0 +1 @@
+usery:  userx@non.local.domain
diff --git a/test/aux-fixed/0194.ret b/test/aux-fixed/0194.ret
new file mode 100755 (executable)
index 0000000..06714b8
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+echo This script generates this message and returns the value of its argument.
+
+exit $1
diff --git a/test/aux-fixed/0198.locals b/test/aux-fixed/0198.locals
new file mode 100644 (file)
index 0000000..6065f2a
--- /dev/null
@@ -0,0 +1,2 @@
+userx z
+x     z
diff --git a/test/aux-fixed/0212.aliases b/test/aux-fixed/0212.aliases
new file mode 100644 (file)
index 0000000..064b67d
--- /dev/null
@@ -0,0 +1,8 @@
+a:     a1, a2, a3
+a3:    :fail: bad user
+b:     b1
+f:     f1
+f1:    :fail: bad user
+p:     userx
+pipe:  |/bin/nosuchfile
+file:  /tmp/junk
diff --git a/test/aux-fixed/0212.x.forward b/test/aux-fixed/0212.x.forward
new file mode 100644 (file)
index 0000000..3546645
--- /dev/null
@@ -0,0 +1 @@
+unknown
diff --git a/test/aux-fixed/0212.y.forward b/test/aux-fixed/0212.y.forward
new file mode 100644 (file)
index 0000000..c2dd425
--- /dev/null
@@ -0,0 +1 @@
+unknown, unknown2
diff --git a/test/aux-fixed/0224.aliases b/test/aux-fixed/0224.aliases
new file mode 100644 (file)
index 0000000..0df4dbc
--- /dev/null
@@ -0,0 +1,4 @@
+userxx: bounce
+userxy: defer
+defer: :defer: not just yet
+file:  /no/such/file
diff --git a/test/aux-fixed/0224.haliases b/test/aux-fixed/0224.haliases
new file mode 100644 (file)
index 0000000..0382fd2
--- /dev/null
@@ -0,0 +1,3 @@
+useryx: hbounce
+useryy: hdefer
+hdefer: :defer: not just yet
diff --git a/test/aux-fixed/0233.filter b/test/aux-fixed/0233.filter
new file mode 100644 (file)
index 0000000..a60bcba
--- /dev/null
@@ -0,0 +1,6 @@
+if error_message then finish endif
+
+if $recipients contains userx then
+  mail to postmaster subject "System filter has frozen"
+  freeze "system filter freezes"
+endif   
diff --git a/test/aux-fixed/0235.aliases b/test/aux-fixed/0235.aliases
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0241.filter b/test/aux-fixed/0241.filter
new file mode 100644 (file)
index 0000000..2775f94
--- /dev/null
@@ -0,0 +1,10 @@
+# Exim filter
+
+if error_message then finish endif
+
+mail 
+  to postmaster 
+  subject "Filter is freezing"
+  text "I've frozen something"   
+
+freeze "everything's freezing today"
diff --git a/test/aux-fixed/0243.algemeen b/test/aux-fixed/0243.algemeen
new file mode 100644 (file)
index 0000000..a56206a
--- /dev/null
@@ -0,0 +1 @@
+faq: /dev/null
diff --git a/test/aux-fixed/0243.antwoord-faq b/test/aux-fixed/0243.antwoord-faq
new file mode 100644 (file)
index 0000000..9930cb8
--- /dev/null
@@ -0,0 +1 @@
+Text of auto message. Expanded local_part is: $local_part.
diff --git a/test/aux-fixed/0243.beantwoorders b/test/aux-fixed/0243.beantwoorders
new file mode 100644 (file)
index 0000000..5bc70b2
--- /dev/null
@@ -0,0 +1 @@
+faq: local.part@some.domain
diff --git a/test/aux-fixed/0246.data b/test/aux-fixed/0246.data
new file mode 100644 (file)
index 0000000..6a19526
--- /dev/null
@@ -0,0 +1 @@
+1: Data from the file
diff --git a/test/aux-fixed/0246.file b/test/aux-fixed/0246.file
new file mode 100644 (file)
index 0000000..2fdfb35
--- /dev/null
@@ -0,0 +1,3 @@
+>>>>>>>>>>>>>>
+${if exists{/source/exim4/AutoTest/aux/284.data}{${lookup{1}lsearch{/source/exim4/AutoTest/aux/284.data}{$value}{NOT FOUND}}}{NOT EXISTS}} 
+>>>>>>>>>>>>>>
diff --git a/test/aux-fixed/0247.alias b/test/aux-fixed/0247.alias
new file mode 100644 (file)
index 0000000..210b73e
--- /dev/null
@@ -0,0 +1,2 @@
+blackhole: :blackhole: 
+devnull:   /dev/null
diff --git a/test/aux-fixed/0248.filter b/test/aux-fixed/0248.filter
new file mode 100644 (file)
index 0000000..e320aee
--- /dev/null
@@ -0,0 +1,6 @@
+# Exim filter
+
+# The filter restricts strings to 1024, but we can get a longer one by
+# substituting a header line.
+
+freeze "X-Long header is >$h_X-Long:<"
diff --git a/test/aux-fixed/0251.list.oklist b/test/aux-fixed/0251.list.oklist
new file mode 100644 (file)
index 0000000..c939a70
--- /dev/null
@@ -0,0 +1 @@
+xxx@listr.test.ex
diff --git a/test/aux-fixed/0251.restrict.oklist b/test/aux-fixed/0251.restrict.oklist
new file mode 100644 (file)
index 0000000..ed9cbc3
--- /dev/null
@@ -0,0 +1 @@
+ok@sender
diff --git a/test/aux-fixed/0252.alias b/test/aux-fixed/0252.alias
new file mode 100644 (file)
index 0000000..e48ccc0
--- /dev/null
@@ -0,0 +1 @@
+alias: from-alias@test.ex
diff --git a/test/aux-fixed/0252.forward b/test/aux-fixed/0252.forward
new file mode 100644 (file)
index 0000000..c468c5c
--- /dev/null
@@ -0,0 +1 @@
+from-forward@test.ex
diff --git a/test/aux-fixed/0258.m1 b/test/aux-fixed/0258.m1
new file mode 100644 (file)
index 0000000..82e734e
--- /dev/null
@@ -0,0 +1,3 @@
+
+Message with no
+terminating LF
\ No newline at end of file
diff --git a/test/aux-fixed/0258.m2 b/test/aux-fixed/0258.m2
new file mode 100644 (file)
index 0000000..838755b
--- /dev/null
@@ -0,0 +1,2 @@
+
+Message with terminating CR\r
\ No newline at end of file
diff --git a/test/aux-fixed/0258.m3 b/test/aux-fixed/0258.m3
new file mode 100644 (file)
index 0000000..aa97035
--- /dev/null
@@ -0,0 +1,9 @@
+Mail from: x@y
+rcpt to: userx@test.ex
+data
+Subject: contains CR<\r> in the subject
+
+CR.CR\r.\r in some text should not
+terminate the message
+.
+quit
diff --git a/test/aux-fixed/0258.m4 b/test/aux-fixed/0258.m4
new file mode 100644 (file)
index 0000000..7ba96f4
--- /dev/null
@@ -0,0 +1,9 @@
+Mail from: x@y\r
+rcpt to: userx@test.ex\r
+data\r
+Subject: contains CR<\r> in the subject\r
+\r
+CR.CR\r.\r in some text should not\r
+terminate the message\r
+.\r
+quit\r
diff --git a/test/aux-fixed/0266.filter b/test/aux-fixed/0266.filter
new file mode 100644 (file)
index 0000000..cbf403d
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+syntax error
diff --git a/test/aux-fixed/0266.filter2 b/test/aux-fixed/0266.filter2
new file mode 100644 (file)
index 0000000..42f00df
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+deliver @@in.valid
diff --git a/test/aux-fixed/0266.filter3 b/test/aux-fixed/0266.filter3
new file mode 100644 (file)
index 0000000..d80e144
--- /dev/null
@@ -0,0 +1,4 @@
+# Exim filter
+
+logfile test-private
+logwrite "Testing"
diff --git a/test/aux-fixed/0266.list b/test/aux-fixed/0266.list
new file mode 100644 (file)
index 0000000..09c6cd8
--- /dev/null
@@ -0,0 +1,5 @@
+(This is just a comment)
+userx@test.ex
+@@test.ex (This has a syntax error)
+spqr@test.ex
+userx@test.ex (again)
diff --git a/test/aux-fixed/0266.list2 b/test/aux-fixed/0266.list2
new file mode 100644 (file)
index 0000000..1a01840
--- /dev/null
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0266.nmlist b/test/aux-fixed/0266.nmlist
new file mode 100644 (file)
index 0000000..1a01840
--- /dev/null
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0268.exim b/test/aux-fixed/0268.exim
new file mode 100644 (file)
index 0000000..97040ce
--- /dev/null
@@ -0,0 +1 @@
+:fail: Explictly Rejected
diff --git a/test/aux-fixed/0270.filter b/test/aux-fixed/0270.filter
new file mode 100644 (file)
index 0000000..cbf403d
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+syntax error
diff --git a/test/aux-fixed/0270.filter2 b/test/aux-fixed/0270.filter2
new file mode 100644 (file)
index 0000000..42f00df
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+deliver @@in.valid
diff --git a/test/aux-fixed/0270.filter3 b/test/aux-fixed/0270.filter3
new file mode 100644 (file)
index 0000000..88cb687
--- /dev/null
@@ -0,0 +1,6 @@
+# Exim filter
+
+# router_home_directory = DIR/
+
+logfile ${home}test-private
+logwrite "Testing"
diff --git a/test/aux-fixed/0270.list b/test/aux-fixed/0270.list
new file mode 100644 (file)
index 0000000..09c6cd8
--- /dev/null
@@ -0,0 +1,5 @@
+(This is just a comment)
+userx@test.ex
+@@test.ex (This has a syntax error)
+spqr@test.ex
+userx@test.ex (again)
diff --git a/test/aux-fixed/0270.list2 b/test/aux-fixed/0270.list2
new file mode 100644 (file)
index 0000000..1a01840
--- /dev/null
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0270.nmlist b/test/aux-fixed/0270.nmlist
new file mode 100644 (file)
index 0000000..1a01840
--- /dev/null
@@ -0,0 +1,2 @@
+(This is just a comment)
+@@test.ex (This has a syntax error)
diff --git a/test/aux-fixed/0273.user b/test/aux-fixed/0273.user
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/0290.inc1 b/test/aux-fixed/0290.inc1
new file mode 100644 (file)
index 0000000..4fe0ef2
--- /dev/null
@@ -0,0 +1,2 @@
+recipients_max = 1
+BAR
diff --git a/test/aux-fixed/0290.inc2 b/test/aux-fixed/0290.inc2
new file mode 100644 (file)
index 0000000..d8855ba
--- /dev/null
@@ -0,0 +1 @@
+message_size_limit = 500
diff --git a/test/aux-fixed/0290.inc3 b/test/aux-fixed/0290.inc3
new file mode 100644 (file)
index 0000000..82eed95
--- /dev/null
@@ -0,0 +1 @@
+   V4NET.1.2.3 : \
diff --git a/test/aux-fixed/0296.Filter b/test/aux-fixed/0296.Filter
new file mode 100644 (file)
index 0000000..48e02c0
--- /dev/null
@@ -0,0 +1,5 @@
+# Exim filter
+
+if $recipients contains failure then
+  fail "this message is a failure (filter fail)"
+endif   
diff --git a/test/aux-fixed/0297.Filter b/test/aux-fixed/0297.Filter
new file mode 100644 (file)
index 0000000..e911ce7
--- /dev/null
@@ -0,0 +1,5 @@
+# Exim filter
+
+if $sender_address is not fil@ter then finish endif
+
+save ${local_part:$recipients}
diff --git a/test/aux-fixed/0298.Filter b/test/aux-fixed/0298.Filter
new file mode 100644 (file)
index 0000000..b17fcee
--- /dev/null
@@ -0,0 +1,14 @@
+# Exim filter
+
+if error_message then finish endif
+
+if $recipients contains failure1 then
+
+fail "<<MSG1>>This message is being failed and there's a long and tortuous\n\
+      explanation about is that is being sent back to the user."
+      
+else
+
+fail "<<MSG2>>"
+
+endif 
diff --git a/test/aux-fixed/0304.d1 b/test/aux-fixed/0304.d1
new file mode 100644 (file)
index 0000000..b88bdd4
--- /dev/null
@@ -0,0 +1,2 @@
+*@a.b.c
+abc@d.e.f
diff --git a/test/aux-fixed/0304.d2 b/test/aux-fixed/0304.d2
new file mode 100644 (file)
index 0000000..6781b6c
--- /dev/null
@@ -0,0 +1 @@
+at.1: abc : *xyz
diff --git a/test/aux-fixed/0304.d3 b/test/aux-fixed/0304.d3
new file mode 100644 (file)
index 0000000..f43df7d
--- /dev/null
@@ -0,0 +1 @@
+domain5
diff --git a/test/aux-fixed/0304.d4 b/test/aux-fixed/0304.d4
new file mode 100644 (file)
index 0000000..a3f9a4b
--- /dev/null
@@ -0,0 +1 @@
+domain6
diff --git a/test/aux-fixed/0304.d5 b/test/aux-fixed/0304.d5
new file mode 100644 (file)
index 0000000..3273629
--- /dev/null
@@ -0,0 +1 @@
+*@domain7
diff --git a/test/aux-fixed/0306/list1 b/test/aux-fixed/0306/list1
new file mode 100644 (file)
index 0000000..833034c
--- /dev/null
@@ -0,0 +1,2 @@
+sub1@test.ex
+sub2@test.ex
diff --git a/test/aux-fixed/0306/list1-request b/test/aux-fixed/0306/list1-request
new file mode 100644 (file)
index 0000000..a66a9da
--- /dev/null
@@ -0,0 +1 @@
+manager-list1@test.ex
diff --git a/test/aux-fixed/0307/list1 b/test/aux-fixed/0307/list1
new file mode 100644 (file)
index 0000000..833034c
--- /dev/null
@@ -0,0 +1,2 @@
+sub1@test.ex
+sub2@test.ex
diff --git a/test/aux-fixed/0307/list1-request b/test/aux-fixed/0307/list1-request
new file mode 100644 (file)
index 0000000..a66a9da
--- /dev/null
@@ -0,0 +1 @@
+manager-list1@test.ex
diff --git a/test/aux-fixed/0316.f-user b/test/aux-fixed/0316.f-user
new file mode 100644 (file)
index 0000000..a110ec0
--- /dev/null
@@ -0,0 +1,22 @@
+# Exim filter
+
+if foranyaddress "a@b, c@d" ( $thisaddress matches ^c ) then
+  testprint "1 Matched $thisaddress"
+endif   
+
+if foranyaddress "Group name: a@b, c@d;, cc@dd" ( $thisaddress matches ^c ) 
+then
+  testprint "2 Matched $thisaddress"
+endif   
+    
+if foranyaddress "Group name: a@b, c@d;, cc@dd" ( $thisaddress matches ^cc ) 
+then
+  testprint "3 Matched $thisaddress"
+endif   
+    
+if foranyaddress "Group name: a@b, c@d;, cc@dd, N2: e@f;, ee@ff" 
+  ( $thisaddress matches ^e ) 
+then
+  testprint "4 Matched $thisaddress"
+endif   
+    
diff --git a/test/aux-fixed/0320.filter b/test/aux-fixed/0320.filter
new file mode 100644 (file)
index 0000000..be51aa5
--- /dev/null
@@ -0,0 +1,11 @@
+# Exim filter
+
+if error_message then finish endif
+
+if $h_subject: contains "discard" then seen finish endif
+
+if $h_subject: contains "file" then
+  save /source/exim4/AutoTest/test-mail/saved
+endif   
+
+finish
diff --git a/test/aux-fixed/0320.list b/test/aux-fixed/0320.list
new file mode 100644 (file)
index 0000000..c8e06cf
--- /dev/null
@@ -0,0 +1,5 @@
+lp1 # this is a comment
+lp2
+# The # in the next line is not a comment
+lp#3
+lp#4# # but this is a comment
diff --git a/test/aux-fixed/0323.lookup b/test/aux-fixed/0323.lookup
new file mode 100644 (file)
index 0000000..2d47540
--- /dev/null
@@ -0,0 +1,2 @@
+'y': quoted.y
+y:   unquoted.y
diff --git a/test/aux-fixed/0325.data b/test/aux-fixed/0325.data
new file mode 100644 (file)
index 0000000..30a881a
--- /dev/null
@@ -0,0 +1,2 @@
+a.b.c:  DOMAIN DATA
+xxx:    LOCAL PART DATA
diff --git a/test/aux-fixed/0328.F b/test/aux-fixed/0328.F
new file mode 100644 (file)
index 0000000..7b0d886
--- /dev/null
@@ -0,0 +1,6 @@
+# Exim filter
+
+headers remove remove
+headers add "added: this header is added"
+headers add "adrem: this header is added and then removed"
+headers remove adrem
diff --git a/test/aux-fixed/0329.F b/test/aux-fixed/0329.F
new file mode 100644 (file)
index 0000000..7b0d886
--- /dev/null
@@ -0,0 +1,6 @@
+# Exim filter
+
+headers remove remove
+headers add "added: this header is added"
+headers add "adrem: this header is added and then removed"
+headers remove adrem
diff --git a/test/aux-fixed/0330.forward b/test/aux-fixed/0330.forward
new file mode 100644 (file)
index 0000000..0e481b0
--- /dev/null
@@ -0,0 +1 @@
+UserY
diff --git a/test/aux-fixed/0335.aliases b/test/aux-fixed/0335.aliases
new file mode 100644 (file)
index 0000000..bf6b1ab
--- /dev/null
@@ -0,0 +1,7 @@
+intermediate: final
+top1:         intermediate
+top2:         intermediate
+onelevel1:    final
+onelevel2:    final
+batch:        batch-a, batch-b
+c2:           clone
diff --git a/test/aux-fixed/0351.F b/test/aux-fixed/0351.F
new file mode 100644 (file)
index 0000000..0560cd3
--- /dev/null
@@ -0,0 +1,7 @@
+# Exim filter
+
+if foranyaddress $h_to: ($thisaddress contains usery) then
+  headers add "Found: yes\nFound2: yes"
+else
+  headers add "Found: no"
+endif      
diff --git a/test/aux-fixed/0352.F b/test/aux-fixed/0352.F
new file mode 100644 (file)
index 0000000..31c01a6
--- /dev/null
@@ -0,0 +1,17 @@
+# Exim filter
+
+if foranyaddress $h_to: ($thisaddress contains abcd) then
+  headers add "Found: abcd yes"
+else
+  headers add "Found: abcd no"
+endif      
+
+if foranyaddress $h_to: ($thisaddress contains xyz) then
+  headers add "Found: xyz yes"
+else
+  headers add "Found: xyz no"
+endif      
+
+headers add "TO: >$h_to:<"
+
+
diff --git a/test/aux-fixed/0360.aliases b/test/aux-fixed/0360.aliases
new file mode 100644 (file)
index 0000000..d58b70b
--- /dev/null
@@ -0,0 +1,2 @@
+cms:    unknown@recurse.test.ex, defer
+defer:  :defer: Forcibly deferred
diff --git a/test/aux-fixed/0382.F b/test/aux-fixed/0382.F
new file mode 100644 (file)
index 0000000..fdcfee0
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter for test 443 
+
+# Actually does nothing
diff --git a/test/aux-fixed/0386.acl1 b/test/aux-fixed/0386.acl1
new file mode 100644 (file)
index 0000000..c6425c0
--- /dev/null
@@ -0,0 +1,8 @@
+accept  hosts = :
+deny    local_parts   = ^.*[@%!/|]
+require log_message     = Invalid sender
+        message = Couldn't verify the sender
+# This is a comment         
+        verify  = sender/defer_ok
+
+deny    message       = No such user here
diff --git a/test/aux-fixed/0386.acl2 b/test/aux-fixed/0386.acl2
new file mode 100644 (file)
index 0000000..396568d
--- /dev/null
@@ -0,0 +1,7 @@
+# Warn with a message that involves an expansion
+
+warn    message     = X-Warning: $sender_host_address is listed at $dnslist_domain\nX-Warning: $dnslist_text
+        log_message = found in $dnslist_domain: $dnslist_text
+        dnslists    = rbl.test.ex 
+accept
diff --git a/test/aux-fixed/0387.1 b/test/aux-fixed/0387.1
new file mode 100644 (file)
index 0000000..1bc2142
--- /dev/null
@@ -0,0 +1,12 @@
+*b.c             [*b.c]
+b.c              [b.c]
+.b.c             [.b.c]
+*.b.c            [*.b.c]
+*.c              [*.c]
+*                [*]
+.                [.]
+*@y.c            [*@y.c]
+10.9.8.7         [10.9.8.7]
+192.168.0.0/16   [192.168.0.0/16]
+++aa.bb          [++aa.bb]
+++               [++]
diff --git a/test/aux-fixed/0400.alias b/test/aux-fixed/0400.alias
new file mode 100644 (file)
index 0000000..752d372
--- /dev/null
@@ -0,0 +1,2 @@
+alias1: \spqr
+alias2: spqr
diff --git a/test/aux-fixed/0403.data b/test/aux-fixed/0403.data
new file mode 100644 (file)
index 0000000..9bdfc6f
--- /dev/null
@@ -0,0 +1,2 @@
+test.ex:  [DOMAINDATA_test.ex]
+userx:    [LOCALPARTDATA_userx]
diff --git a/test/aux-fixed/0406.f b/test/aux-fixed/0406.f
new file mode 100644 (file)
index 0000000..6dae29b
--- /dev/null
@@ -0,0 +1,86 @@
+# Exim filter
+
+testprint "subject = >$h_subject:<"
+testprint "raw subject = >$rh_subject:<"
+testprint "to = >$h_to:<"
+testprint "raw to = >$rheader_to:<"
+
+testprint "rX-1: >$rh_X-1:<"
+testprint "bX-1: >$bh_X-1:<"
+testprint " X-1: >$h_X-1:<"
+
+testprint "rX-2: >$rh_X-2:<"
+testprint "bX-2: >$bh_X-2:<"
+testprint " X-2: >$h_X-2:<"
+
+testprint "rX-3: >$rh_X-3:<"
+testprint "bX-3: >$bh_X-3:<"
+testprint " X-3: >$h_X-3:<"
+
+testprint "rX-4: >$rh_X-4:<"
+testprint "bX-4: >$bh_X-4:<"
+testprint " X-4: >$h_X-4:<"
+
+testprint "rX-5: >$rh_X-5:<"
+testprint "bX-5: >$bh_X-5:<"
+testprint " X-5: >$h_X-5:<"
+
+testprint "rX-6: >$rh_X-6:<"
+testprint "bX-6: >$bh_X-6:<"
+testprint " X-6: >$h_X-6:<"
+
+testprint "rX-7: >$rh_X-7:<"
+testprint "bX-7: >$bh_X-7:<"
+testprint " X-7: >$h_X-7:<"
+
+testprint "rX-8: >$rh_X-8:<"
+testprint "bX-8: >$bh_X-8:<"
+testprint " X-8: >$h_X-8:<"
+
+testprint "rX-9: >$rh_X-9:<"
+testprint "bX-9: >$bh_X-9:<"
+testprint " X-9: >$h_X-9:<"
+
+testprint "rX-10: >$rh_X-10:<"
+testprint "bX-10: >$bh_X-10:<"
+testprint " X-10: >$h_X-10:<"
+
+testprint "rX-11: >$rh_X-11:<"
+testprint "bX-11: >$bh_X-11:<"
+testprint " X-11: >$h_X-11:<"
+
+testprint "rX-12: >$rh_X-12:<"
+testprint "bX-12: >$bh_X-12:<"
+testprint " X-12: >$h_X-12:<"
+
+testprint "rX-13: >$rh_X-13:<"
+testprint "bX-13: >$bh_X-13:<"
+testprint " X-13: >$h_X-13:<"
+
+testprint "rX-14: >$rh_X-14:<"
+testprint "bX-14: >$bh_X-14:<"
+testprint " X-14: >$h_X-14:<"
+
+testprint "rX-15: >$rh_X-15:<"
+testprint "bX-15: >$bh_X-15:<"
+testprint " X-15: >$h_X-15:<"
+
+testprint "rX-16: >$rh_X-16:<"
+testprint "bX-16: >$bh_X-16:<"
+testprint " X-16: >$h_X-16:<"
+
+testprint "rX-17: >$rh_X-17:<"
+testprint "bX-17: >$bh_X-17:<"
+testprint " X-17: >$h_X-17:<"
+
+testprint "rX-18: >$rh_X-18:<"
+testprint "bX-18: >$bh_X-18:<"
+testprint " X-18: >$h_X-18:<"
+
+testprint "rX-19: >$rh_X-19:<"
+testprint "bX-19: >$bh_X-19:<"
+testprint " X-19: >$h_X-19:<"
+
+testprint "rX-20: >$rh_X-20:<"
+testprint "bX-20: >$bh_X-20:<"
+testprint " X-20: >$h_X-20:<"
diff --git a/test/aux-fixed/0412.F b/test/aux-fixed/0412.F
new file mode 100644 (file)
index 0000000..0560cd3
--- /dev/null
@@ -0,0 +1,7 @@
+# Exim filter
+
+if foranyaddress $h_to: ($thisaddress contains usery) then
+  headers add "Found: yes\nFound2: yes"
+else
+  headers add "Found: no"
+endif      
diff --git a/test/aux-fixed/0414.list1 b/test/aux-fixed/0414.list1
new file mode 100644 (file)
index 0000000..191dc4e
--- /dev/null
@@ -0,0 +1 @@
+a.domain   a.domain-data
diff --git a/test/aux-fixed/0414.list2 b/test/aux-fixed/0414.list2
new file mode 100644 (file)
index 0000000..4c8bfbe
--- /dev/null
@@ -0,0 +1 @@
+b.domain   b.domain-data
diff --git a/test/aux-fixed/0418.acl b/test/aux-fixed/0418.acl
new file mode 100644 (file)
index 0000000..bb0517a
--- /dev/null
@@ -0,0 +1,8 @@
+# This is an ACL in a file for testing continuations
+
+deny  message = This is a message which \   
+                is continued over several \
+  # comment
+                lines, with an interspersed comment\
+                
+deny  message = This line should not be joined onto the above 
diff --git a/test/aux-fixed/0421.F b/test/aux-fixed/0421.F
new file mode 100644 (file)
index 0000000..c4175e1
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+headers add "Reply-to: rr@q.s"
diff --git a/test/aux-fixed/0427.message b/test/aux-fixed/0427.message
new file mode 100644 (file)
index 0000000..fce284d
--- /dev/null
@@ -0,0 +1,30 @@
+From offerqn@bpk.example.com Wed Feb 05 10:47:05 2003
+Delivered-To: michael@nostromo.somenet-ag.example
+From: () c, "A.N. Other" <offerqn@bpk.example.com>, spam@aaaa.example
+To: marian@abcdefgh.example
+Subject: =?iso-8859-1?q?abcdef?=
+       =?iso-8859-1?q?ghi?=
+X-Priority: 3
+X-MSMail-Priority: Normal
+X-BasAga: 8sDTRgF1RyrcCxLg0m2c
+X-AgaUtu: 2Vi3TgrEIwL3KWqSoI7
+X-IdiTegUtuUtu: EY4XogFnkpH1P06d
+X-RosHrIdiNa: Vu8pFqH5hFK05kD5opU3
+X-BasAgaNa: T1LeD56uyN
+X-Mailer: MMailer v3.0
+X-Special1: ?a=?ISO-8859-1?Q?=00?=cx*
+X-Special2: 1a*cx2
+Date: Wed, 5 Feb 2003 0:37:30 +-0800
+Mime-Version: 1.0
+Content-Type: text/html; charset="Windows-1251"
+X-Warning: 204.29.65.132 is listed at list.dsbl.org
+X-Warning: 204.29.65.132 is listed at unconfirmed.dsbl.org
+X-Warning: 204.29.65.132 is listed at singlestage.dnsbl.somenet.example
+X-Warning: bpk.example.com is listed at postmaster.rfc-ignorant.org
+Delivered-To: irc@01019somenet.example
+Delivered-To: irc@irc.somenet.example
+Delivered-To: some.one@somenet-ag.example
+
+<HTML>
+<HEAD><TITLE></TITLE><STYLE type="text/css"><!--
+
diff --git a/test/aux-fixed/0427.message2 b/test/aux-fixed/0427.message2
new file mode 100644 (file)
index 0000000..fcbda4e
--- /dev/null
@@ -0,0 +1,27 @@
+From offerqn@bpk.example.com Wed Feb 05 10:47:05 2003
+Delivered-To: michael@nostromo.somenet-ag.example
+From: () c, "A.N. Other" <offerqn@bpk.example.com>, spam@aaaa.example
+BCC: <arthur_dellea@hotmail.com>,<pgodman@netscape.net>,<artbridgea@hotmail.com>,<pets@hiwaay.net>,<isared@yahoo.com>,<arswit@hotmail.com>,<pgy@correoweb.com>,<art.stevens@hotmail.com>,<irvi_g_pete@yahoo.com>,<art4love@hotmail.com>,<artamp@hotmail.com>,<arthur364@hotmail.com>,<pberger47@attbi.com>,<arosewall@hotmail.com>,<arth16@hotmail.com>
+Subject: =?iso-8859-1?q?abcdef?=
+       =?iso-8859-1?q?ghi?=
+X-Priority: 3
+X-MSMail-Priority: Normal
+X-BasAga: 8sDTRgF1RyrcCxLg0m2c
+X-AgaUtu: 2Vi3TgrEIwL3KWqSoI7
+X-IdiTegUtuUtu: EY4XogFnkpH1P06d
+X-RosHrIdiNa: Vu8pFqH5hFK05kD5opU3
+X-BasAgaNa: T1LeD56uyN
+X-Mailer: MMailer v3.0
+Date: Wed, 5 Feb 2003 0:37:30 +-0800
+Mime-Version: 1.0
+Content-Type: text/html; charset="Windows-1251"
+X-Warning: 204.29.65.132 is listed at list.dsbl.org
+X-Warning: 204.29.65.132 is listed at unconfirmed.dsbl.org
+X-Warning: 204.29.65.132 is listed at singlestage.dnsbl.somenet.example
+X-Warning: bpk.example.com is listed at postmaster.rfc-ignorant.org
+Delivered-To: irc@01019somenet.example
+Delivered-To: irc@irc.somenet.example
+Delivered-To: some.one@somenet-ag.example
+
+<HTML>
+<HEAD><TITLE></TITLE><STYLE type="text/css"><!--
diff --git a/test/aux-fixed/0427.message3 b/test/aux-fixed/0427.message3
new file mode 100644 (file)
index 0000000..951e90f
--- /dev/null
@@ -0,0 +1,20 @@
+From offerqn@bpk.example.com Wed Feb 05 10:47:05 2003
+Subject: =?iso-8859-1?q?abcdef?=
+       =?iso-8859-1?q?ghi?=
+X-0: =?ISO-8859-1?Q?=00?=
+X-1: =?ISO-8859-1?Q?=31?=
+X-1b: =?ISO-8859-1?Q?=31=
+X-Wrapped: eins
+        zwei
+       drei
+X-NoMimeWrap: =?iso-8859-1?q?abc
+               def
+                ghi?=
+X-Mixed:  =?iso-8859-1?q?abc?=
+       def
+X-B64: =?iso-8859-1?b?VGhpcyBpcyBCQVNFNjQ=?=
+X-B64-Broken: =?iso-8859-1?b?VGhpcyBpcyBCQVNFNjQ?=
+X-Q75total: =?ISO-8859-1?Q?0123456789012345678901234567890123456789012345678901234567?=
+X-Q76total: =?ISO-8859-1?Q?01234567890123456789012345678901234567890123456789012345678?=
+
+empty body
diff --git a/test/aux-fixed/0437.ls b/test/aux-fixed/0437.ls
new file mode 100644 (file)
index 0000000..20aae6b
--- /dev/null
@@ -0,0 +1,3 @@
+spool       spool
+transport   t1
+file        file
diff --git a/test/aux-fixed/0442.acl b/test/aux-fixed/0442.acl
new file mode 100644 (file)
index 0000000..5ff1d47
--- /dev/null
@@ -0,0 +1,3 @@
+begin acl
+abcd:
+  deny
diff --git a/test/aux-fixed/0442.routers b/test/aux-fixed/0442.routers
new file mode 100644 (file)
index 0000000..14e83c1
--- /dev/null
@@ -0,0 +1,4 @@
+begin routers
+r1:
+  driver = accept
+  transport = t1
diff --git a/test/aux-fixed/0442.transports b/test/aux-fixed/0442.transports
new file mode 100644 (file)
index 0000000..c61658d
--- /dev/null
@@ -0,0 +1,3 @@
+begin transports
+t1:
+  driver = smtp
diff --git a/test/aux-fixed/0444.sysfilter b/test/aux-fixed/0444.sysfilter
new file mode 100644 (file)
index 0000000..521d320
--- /dev/null
@@ -0,0 +1,21 @@
+# Exim system filter file for XXX
+
+if $h_X-XXX-Original-Host: is not "" then
+  unseen mail to $return_path from Mailer-Daemon reply_to postmaster
+  subject "Submission of mail from $return_path directly to the XXX hosts"
+  text "You sent the message below from the host\n\
+        \n  $h_X-XXX-Original-Host:\n\n\
+        directly to one of the XXX hosts. It will be delivered without any further\n\
+        action on your part.\n\n\
+        However, this indicates some mis-configuration, as new mail should be sent\n\
+        (if XXX is involved at all) to smtp.xxx.example, which no longer refers\n\
+        to the XXX hosts. It may be that your mail user agent has been configured to\n\
+        use (for example) xxx.example or pop.xxx.example where smtp.xxx.example\n\
+        would have been correct.\n\n\
+        Eventually attempts to send messages directly to the XXX hosts in this way\n\
+        will be rejected. You should modify the configuration of your mail user agent\n\
+        to correct the fault described above."
+  return message
+  headers remove X-XXX-Original-Host
+endif
+
diff --git a/test/aux-fixed/0445.data b/test/aux-fixed/0445.data
new file mode 100644 (file)
index 0000000..58152bb
--- /dev/null
@@ -0,0 +1,2 @@
+lp1@x.y:
+lp2@x.y: This is a message
diff --git a/test/aux-fixed/0452.filter-1 b/test/aux-fixed/0452.filter-1
new file mode 100644 (file)
index 0000000..eecadff
--- /dev/null
@@ -0,0 +1,12 @@
+# Exim filter
+
+mail 
+  to $sender_address
+  subject "Auto generated"
+  text    "This is some body text"
+  extra_headers "h1: the first added header\n\
+                 h2: the second added header\n \
+                   continued on another line\n\
+                 h3: the third added header"
+           
+# End           
diff --git a/test/aux-fixed/0452.filter-2 b/test/aux-fixed/0452.filter-2
new file mode 100644 (file)
index 0000000..bb45ea8
--- /dev/null
@@ -0,0 +1,12 @@
+# Exim filter
+
+mail 
+  to $sender_address
+  subject "Auto generated"
+  text    "This is some body text"
+  extra_headers "h1: the first added header\n\
+                 h2: the second added header\n \
+                     continued on another line\n\
+                 h3 the third added header is missing a colon"
+           
+# End           
diff --git a/test/aux-fixed/0454.filter b/test/aux-fixed/0454.filter
new file mode 100644 (file)
index 0000000..6d49eb6
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+deliver xx@cam
diff --git a/test/aux-fixed/0464.domains b/test/aux-fixed/0464.domains
new file mode 100644 (file)
index 0000000..4f8b3e4
--- /dev/null
@@ -0,0 +1 @@
+domain1: data for domain1
diff --git a/test/aux-fixed/0471.rw b/test/aux-fixed/0471.rw
new file mode 100644 (file)
index 0000000..82ade19
--- /dev/null
@@ -0,0 +1 @@
+test.example:  rwtest.example
diff --git a/test/aux-fixed/0472.F b/test/aux-fixed/0472.F
new file mode 100644 (file)
index 0000000..4a9c2a0
--- /dev/null
@@ -0,0 +1,15 @@
+# Exim system filter
+
+add 99 to n1
+
+add 10 to n0
+add 2 to n2
+add 3 to n3
+add 4 to n4
+add 5 to n5
+add 6 to n6
+add 7 to n7
+add 8 to n8
+add 9 to n9
+
+# End
diff --git a/test/aux-fixed/0483.list b/test/aux-fixed/0483.list
new file mode 100644 (file)
index 0000000..9c2717b
--- /dev/null
@@ -0,0 +1,2 @@
+sender@domain1     SenderData
+recip@domain2      RecipData
diff --git a/test/aux-fixed/0484.aliases b/test/aux-fixed/0484.aliases
new file mode 100644 (file)
index 0000000..e466cef
--- /dev/null
@@ -0,0 +1,2 @@
+list: userx, usery
+root: userx
diff --git a/test/aux-fixed/0484.aliases2 b/test/aux-fixed/0484.aliases2
new file mode 100644 (file)
index 0000000..5a8b9b4
--- /dev/null
@@ -0,0 +1 @@
+list: userx2, usery2
diff --git a/test/aux-fixed/0485.data b/test/aux-fixed/0485.data
new file mode 100644 (file)
index 0000000..611a24b
--- /dev/null
@@ -0,0 +1 @@
+1.2.3.4:  LOOKEDUPDATA
diff --git a/test/aux-fixed/0485.data2 b/test/aux-fixed/0485.data2
new file mode 100644 (file)
index 0000000..513138c
--- /dev/null
@@ -0,0 +1 @@
+1.2.3.4:  LOOKEDUPDATA2
diff --git a/test/aux-fixed/0485.data3 b/test/aux-fixed/0485.data3
new file mode 100644 (file)
index 0000000..cb7fa26
--- /dev/null
@@ -0,0 +1 @@
+xyz: data for xyz
diff --git a/test/aux-fixed/0495.alias b/test/aux-fixed/0495.alias
new file mode 100644 (file)
index 0000000..29893ce
--- /dev/null
@@ -0,0 +1,4 @@
+postmaster:    pm@p.q
+file:          /some/file
+fail:          :fail: forcible fail message
+defer:         :defer: forcible defer message
diff --git a/test/aux-fixed/0498.fudge b/test/aux-fixed/0498.fudge
new file mode 100644 (file)
index 0000000..f8f1dd6
--- /dev/null
@@ -0,0 +1,59 @@
+# This is a little perl script for test 581. It reads the first failed time
+# from test-stdout, turns it back into an integer, and forces the received
+# time in the -H file of the current message.
+
+use Time::Local;
+
+opendir(DIR, "spool/input");
+while (($_ = readdir(DIR)))
+  {
+  if (/.*-H$/)
+    {
+    $hfile = $_;
+    break;
+    }    
+  }
+closedir(DIR);    
+
+@months = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", 
+           "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
+
+open(IN, "test-stdout") || die "can't open test-stdout\n";
+
+$_ = <IN>;
+$_ = <IN>;
+$_ = <IN>;
+
+close(IN);
+
+($mday,$mon,$year,$hour,$min,$sec) = 
+  /(\d\d)-(\w\w\w)-(\d\d\d\d) (\d\d):(\d\d):(\d\d)/;
+  
+for ($i = 0; $i < 12; $i++)
+  {
+  if ($mon eq $months[$i])
+    {
+    $mon = $i;
+    break;  
+    }   
+  }
+  
+$t = timelocal($sec,$min,$hour,$mday,$mon,$year);
+
+open(IN, "spool/input/$hfile") || die "can't open spool/input/$hfile";
+
+open(OUT, ">test-H");
+
+$_ = <IN>; print OUT;
+$_ = <IN>; print OUT;
+$_ = <IN>; print OUT;
+$_ = <IN>;
+print OUT "$t 0\n";
+print OUT while (<IN>);
+
+close(IN);
+close(OUT);
+
+rename("test-H", "spool/input/$hfile") || die "rename failed\n";
+
+# End
diff --git a/test/aux-fixed/0504.script b/test/aux-fixed/0504.script
new file mode 100644 (file)
index 0000000..6a899d4
--- /dev/null
@@ -0,0 +1,14 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/0506.exim-filter b/test/aux-fixed/0506.exim-filter
new file mode 100644 (file)
index 0000000..b502c09
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+seen finish
diff --git a/test/aux-fixed/0506.sieve-filter b/test/aux-fixed/0506.sieve-filter
new file mode 100644 (file)
index 0000000..7a69e42
--- /dev/null
@@ -0,0 +1,4 @@
+# Sieve filter
+
+discard;
+
diff --git a/test/aux-fixed/0510.sfilter b/test/aux-fixed/0510.sfilter
new file mode 100644 (file)
index 0000000..b8f2c5c
--- /dev/null
@@ -0,0 +1,10 @@
+# Exim filter - testing system filter
+
+testprint "--------System filter---------"
+testprint "Sender:  $sender_address"
+testprint "Subject: $h_Subject:"
+testprint "Body:    $message_body"
+
+headers add "X-Header: Added in a system filter"
+add 3 to n1
+testprint "n1:      $n1"
diff --git a/test/aux-fixed/0510.ufilter b/test/aux-fixed/0510.ufilter
new file mode 100644 (file)
index 0000000..2bad322
--- /dev/null
@@ -0,0 +1,9 @@
+# Exim filter - testing user filter
+
+testprint "--------User filter---------"
+testprint "Sender:  $sender_address"
+testprint "Subject:  $header_Subject:"
+testprint "Body:     $message_body"
+testprint "X-Header: $h_X-Header:"
+testprint "sn1:      $sn1"
+
diff --git a/test/aux-fixed/1002.filter b/test/aux-fixed/1002.filter
new file mode 100644 (file)
index 0000000..7e581d5
--- /dev/null
@@ -0,0 +1,3 @@
+# System filter
+
+headers add "X-Added: by system filter"
diff --git a/test/aux-fixed/2400.cdb b/test/aux-fixed/2400.cdb
new file mode 100644 (file)
index 0000000..73ce7e4
Binary files /dev/null and b/test/aux-fixed/2400.cdb differ
diff --git a/test/aux-fixed/2400.cdb.src b/test/aux-fixed/2400.cdb.src
new file mode 100644 (file)
index 0000000..9579527
--- /dev/null
@@ -0,0 +1,3 @@
+first: data for first
+second: A=1 B=2
+third: A1:B2:C3
diff --git a/test/aux-fixed/2500.tst b/test/aux-fixed/2500.tst
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/aux-fixed/3000.pl b/test/aux-fixed/3000.pl
new file mode 100644 (file)
index 0000000..a4fbe59
--- /dev/null
@@ -0,0 +1,27 @@
+use POSIX qw(locale_h);
+
+sub foo { "Subroutine foo called with args: @_"; }
+
+sub foo_undef { $x; }
+
+sub foo_die { die "expiring..."; }
+
+sub readvar { Exim::expand_string("\$$_[0]"); }
+
+sub return_scalar { 42; }
+
+sub return_list { (10,20,30); }
+
+sub return_variable_vector { @x = (4,5,6); @x; }
+
+sub return_hash { %x = ("a", 4, "b", 5); %x; }
+
+sub debug_write { Exim::debug_write("$_[0]"); "Wrote debug"; }
+
+sub log_write { Exim::log_write("$_[0]"); "Wrote log"; }
+
+sub change_locale { setlocale(LC_TIME, "fr_FR"); "Changed locale"; }
+
+sub foo_warn { warn "this is a warning"; "Wrote warning"; }
+
+sub no_warn { $SIG{__WARN__} = sub { }; "Discarded warnings"; }
diff --git a/test/aux-fixed/3202.acl1 b/test/aux-fixed/3202.acl1
new file mode 100644 (file)
index 0000000..28085ab
--- /dev/null
@@ -0,0 +1,2 @@
+accept domains = y
+       local_parts = x
diff --git a/test/aux-fixed/3202.doms b/test/aux-fixed/3202.doms
new file mode 100644 (file)
index 0000000..ebc7f5f
--- /dev/null
@@ -0,0 +1 @@
+test.ex: userx : spqr
diff --git a/test/aux-fixed/3212.aliases b/test/aux-fixed/3212.aliases
new file mode 100644 (file)
index 0000000..e466cef
--- /dev/null
@@ -0,0 +1,2 @@
+list: userx, usery
+root: userx
diff --git a/test/aux-fixed/3400.filter b/test/aux-fixed/3400.filter
new file mode 100644 (file)
index 0000000..329bb81
--- /dev/null
@@ -0,0 +1,19 @@
+# Exim filter
+
+if 
+  $sender_host_authenticated is not "" 
+then
+  headers add "X-Host-Authenticated: $sender_host_authenticated"
+endif   
+
+if
+  $authenticated_sender is not ""
+then
+  headers add "X-Authenticated-Sender: $authenticated_sender"
+endif      
+
+if
+  $authenticated_id is not ""
+then
+  headers add "X-Authenticated-ID: $authenticated_id"
+endif      
diff --git a/test/aux-fixed/3500.filter b/test/aux-fixed/3500.filter
new file mode 100644 (file)
index 0000000..329bb81
--- /dev/null
@@ -0,0 +1,19 @@
+# Exim filter
+
+if 
+  $sender_host_authenticated is not "" 
+then
+  headers add "X-Host-Authenticated: $sender_host_authenticated"
+endif   
+
+if
+  $authenticated_sender is not ""
+then
+  headers add "X-Authenticated-Sender: $authenticated_sender"
+endif      
+
+if
+  $authenticated_id is not ""
+then
+  headers add "X-Authenticated-ID: $authenticated_id"
+endif      
diff --git a/test/aux-fixed/4100.f b/test/aux-fixed/4100.f
new file mode 100644 (file)
index 0000000..5f6c4cd
--- /dev/null
@@ -0,0 +1,27 @@
+# Exim filter
+
+testprint "subject = >$h_subject:<"
+testprint "raw subject = >$rh_subject:<"
+testprint "to = >$h_to:<"
+testprint "raw to = >$rheader_to:<"
+
+testprint "rX-8: >$rh_X-8:<"
+testprint "bX-8: >$bh_X-8:<"
+testprint " X-8: >$h_X-8:<"
+
+testprint "rX-9: >$rh_X-9:<"
+testprint "bX-9: >$bh_X-9:<"
+testprint " X-9: >$h_X-9:<"
+
+testprint "rX-10: >$rh_X-10:<"
+testprint "bX-10: >$bh_X-10:<"
+testprint " X-10: >$h_X-10:<"
+
+headers charset "UTF-8"
+testprint " X-8: >$h_X-8:<"
+testprint " X-9: >$h_X-9:<"
+testprint " X-10: >$h_X-10:<"
+
+headers charset "ISO-8859-1//IGNORE"
+testprint " X-8: >$h_X-8:<"
+
diff --git a/test/aux-fixed/5001.filelist b/test/aux-fixed/5001.filelist
new file mode 100644 (file)
index 0000000..39934a8
--- /dev/null
@@ -0,0 +1,12 @@
+# These are used relative to the test suite directory
+userx:   test-empty/userx
+usery:   test-mail/../test-empty/usery
+sub1:    test-mail/s/sub1
+sub2:    test-empty/s/sub2
+sub3:    test-mail/link/sub3
+
+maildir-userx:   test-empty
+maildir-usery:   test-mail/../test-empty
+maildir-sub1:    test-mail/s
+maildir-sub2:    test-empty/s
+maildir-sub3:    test-mail/link
diff --git a/test/aux-fixed/5100.script.01 b/test/aux-fixed/5100.script.01
new file mode 100644 (file)
index 0000000..ff37f52
--- /dev/null
@@ -0,0 +1 @@
+*sleep 5
diff --git a/test/aux-fixed/5100.script.02 b/test/aux-fixed/5100.script.02
new file mode 100644 (file)
index 0000000..7b3ae50
--- /dev/null
@@ -0,0 +1 @@
+440 Sorry, there's a problem here
diff --git a/test/aux-fixed/5100.script.03 b/test/aux-fixed/5100.script.03
new file mode 100644 (file)
index 0000000..bfd507a
--- /dev/null
@@ -0,0 +1,8 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+550 Don't like that sender
+QUIT
+250 OK
diff --git a/test/aux-fixed/5100.script.04 b/test/aux-fixed/5100.script.04
new file mode 100644 (file)
index 0000000..c6459fd
--- /dev/null
@@ -0,0 +1,8 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+450 Don't like that sender just at the moment
+QUIT
+250 OK
diff --git a/test/aux-fixed/5100.script.05 b/test/aux-fixed/5100.script.05
new file mode 100644 (file)
index 0000000..9d55b16
--- /dev/null
@@ -0,0 +1,27 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+450 This one is delayed on RCPT
+RCPT TO
+550 This one is unknown on RCPT
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+450 Number 2 is now delayed
+550 Number 3 is now rejected
+250 Number 6 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/5100.script.06 b/test/aux-fixed/5100.script.06
new file mode 100644 (file)
index 0000000..63a9f1d
--- /dev/null
@@ -0,0 +1,23 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+450 This one is delayed on RCPT
+RCPT TO
+550 This one is unknown on RCPT
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+*sleep 5
diff --git a/test/aux-fixed/5100.script.07 b/test/aux-fixed/5100.script.07
new file mode 100644 (file)
index 0000000..b06d1c4
--- /dev/null
@@ -0,0 +1,20 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+450 This one is delayed on RCPT
+RCPT TO
+550 This one is unknown on RCPT
+RCPT TO
+250 OK
+DATA
+*sleep 5
diff --git a/test/aux-fixed/5100.script.08 b/test/aux-fixed/5100.script.08
new file mode 100644 (file)
index 0000000..79edc77
--- /dev/null
@@ -0,0 +1,17 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+DATA
+354 GO AHEAD
+.
+250 OK
+250 OK
+QUIT
+220 OK
diff --git a/test/aux-fixed/5100.script.09 b/test/aux-fixed/5100.script.09
new file mode 100644 (file)
index 0000000..3684cee
--- /dev/null
@@ -0,0 +1,18 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250-IGNOREQUOTA
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+DATA
+354 GO AHEAD
+.
+250 OK
+250 OK
+QUIT
+220 OK
diff --git a/test/aux-fixed/5101.filter b/test/aux-fixed/5101.filter
new file mode 100755 (executable)
index 0000000..a48681b
--- /dev/null
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+cat
+echo "Here's a new line."
diff --git a/test/aux-fixed/5101.script b/test/aux-fixed/5101.script
new file mode 100644 (file)
index 0000000..fb4adc0
--- /dev/null
@@ -0,0 +1,20 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+550 Number 2 fails
+250 Number 3 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/5103.script b/test/aux-fixed/5103.script
new file mode 100644 (file)
index 0000000..6a899d4
--- /dev/null
@@ -0,0 +1,14 @@
+220 Welcome to this LMTP simulation
+LHLO
+250-Hello there
+250 SIZE
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+DATA
+354 Send it
+.
+250 Number 1 is OK
+QUIT
+250 OK
diff --git a/test/aux-fixed/5201.filter b/test/aux-fixed/5201.filter
new file mode 100644 (file)
index 0000000..819a30b
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+if $recipients contains freeze then freeze endif
diff --git a/test/aux-fixed/5202.filter b/test/aux-fixed/5202.filter
new file mode 100644 (file)
index 0000000..819a30b
--- /dev/null
@@ -0,0 +1,3 @@
+# Exim filter
+
+if $recipients contains freeze then freeze endif
diff --git a/test/aux-fixed/9401.perl b/test/aux-fixed/9401.perl
new file mode 100644 (file)
index 0000000..9a5f368
--- /dev/null
@@ -0,0 +1,16 @@
+# Perl script to print all lines starting "-local" from -H files
+
+opendir(DIR, "spool/input") || die "failed to opendir spool/input\n";
+@spools = readdir(DIR);
+closedir(DIR);
+
+foreach $f (@spools)
+  {
+  next if $f !~ /-H$/; 
+  open(IN, "<spool/input/$f") || die "failed to open spool/input/$f\n";
+  print "$f\n";
+  while(<IN>) { print if /^-local/; }
+  close(IN);
+  }
+  
+####   
diff --git a/test/aux-fixed/9450.alias b/test/aux-fixed/9450.alias
new file mode 100644 (file)
index 0000000..9877194
--- /dev/null
@@ -0,0 +1,1012 @@
+alias: aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
+  aaaaaaaaaaaa@bbbbbbbbb,
diff --git a/test/aux-fixed/abcd-xyz b/test/aux-fixed/abcd-xyz
new file mode 100644 (file)
index 0000000..46dff77
--- /dev/null
@@ -0,0 +1,2 @@
+abcd
+xyz
diff --git a/test/aux-fixed/cert1 b/test/aux-fixed/cert1
new file mode 100644 (file)
index 0000000..25a9677
--- /dev/null
@@ -0,0 +1,35 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC4eIDtpcY7ff5P3yCnXXdLWNcewKgUBj6GuNqHAFrfbZq6tDlS
+Z3FXVvOwU4Rgn6ciGP5REYuR4TB26/PY+bJEVUMyAb8OmcE+l6aeG0kQlM3Wa0UU
+fo3GNt9U7+VU7puS3SwLjKYSI6ny17xyFcukBkiRTOo3H6z0yM742wPFeQIDAQAB
+AoGAHOHZJdw/tk7aw3ym6y1qISTuwYTejAwSPBuzM1Ht6G+Lu1G+a9WAXHFjxCa/
+YjV9AIyzPNQnaxa79NKqoj0uGNqixYPI4A3M6T5nmawXXivAbV2fNX1Pg0LQ4DMh
+EdaPwtkghavuPz2CFvIcvsG/XGNo1rUkGrCIpWldPF8bynUCQQDn/x3bdnHpSL7X
+RlFsTRqyiW3/ZFgJnyQvOCDpUcscPPZMD/M+hWqxIIpJAGSrZPIols2kMFUPXkUX
++8PzNfrjAkEAy46SegCQWQahpiipZq52ffuhFDfhMYU1uANWwRyu1IAOyQ+M+saI
+3cI0ok1bkWsOtNKRr+QgK54zGJIyU8Dg8wJBALjKoxOucumpAiojXrPvbraLdUya
+tu1jD8V05fIzLp/dhynrAovoZaWVD9E6OPW0wJbIGCESRo6pPkvuRJSziJUCQQCE
+rz99dSaiUTdHVtPtUaV9Q2thAXexztIQS2TeZfL0IzEAEDnmMUl/u5qRfPlGFdG1
+PlimnX320J0f1BQoEd7PAkAqp9yNGAjKTqOicyYJ2m87EeudvUzryt0fO3yA5W76
+p0YX7ETgqQqDNOWHrJGHntEXMGhirx7lV5nzva5ypQmt
+-----END RSA PRIVATE KEY-----
+-----BEGIN CERTIFICATE-----
+MIIDNjCCAp+gAwIBAgIBADANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzES
+MBAGA1UEBxMJQ2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJy
+aWRnZTEaMBgGA1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxp
+cCBIYXplbDAeFw0wMjA0MTUwODA0MThaFw0yOTA4MzAwODA0MThaMHYxCzAJBgNV
+BAYTAlVLMRIwEAYDVQQHEwlDYW1icmlkZ2UxIDAeBgNVBAoTF1VuaXZlcnNpdHkg
+b2YgQ2FtYnJpZGdlMRowGAYDVQQLExFDb21wdXRpbmcgU2VydmljZTEVMBMGA1UE
+AxMMUGhpbGlwIEhhemVsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4eIDt
+pcY7ff5P3yCnXXdLWNcewKgUBj6GuNqHAFrfbZq6tDlSZ3FXVvOwU4Rgn6ciGP5R
+EYuR4TB26/PY+bJEVUMyAb8OmcE+l6aeG0kQlM3Wa0UUfo3GNt9U7+VU7puS3SwL
+jKYSI6ny17xyFcukBkiRTOo3H6z0yM742wPFeQIDAQABo4HTMIHQMB0GA1UdDgQW
+BBTEcwEd5VFb4YlzEKcvHKP/s4gpVDCBoAYDVR0jBIGYMIGVgBTEcwEd5VFb4Ylz
+EKcvHKP/s4gpVKF6pHgwdjELMAkGA1UEBhMCVUsxEjAQBgNVBAcTCUNhbWJyaWRn
+ZTEgMB4GA1UEChMXVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UxGjAYBgNVBAsTEUNv
+bXB1dGluZyBTZXJ2aWNlMRUwEwYDVQQDEwxQaGlsaXAgSGF6ZWyCAQAwDAYDVR0T
+BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQBpuWb36BAO+aDbCWVSnt8C2rAz3Ii7
+05kmrTugCiDj4VLHk6DL126Q6AuBWs9HKM/ynOOTcYTz20WkgpXaYf6Cdq/Z538d
+tqD1gAAL2M04O6K41RLcIicVFeXWjjwp5tfQc+AMI7rD0FCHSbhY67+UHUFyoyFK
+x8LiaV5jYIFfbg==
+-----END CERTIFICATE-----
diff --git a/test/aux-fixed/cert2 b/test/aux-fixed/cert2
new file mode 100644 (file)
index 0000000..e41499e
--- /dev/null
@@ -0,0 +1,35 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQDUN6wesp5nny2A5IAy9PqN9pajhpMLWhggY7Sx7uG5v7bPpupH
+zQ9/Hq0K6vQevCp62Mi2lN5xM4kRwMyd8q8gH5hgt23dJFSkBKmmK067TZ53/yOZ
+y270sisQNELlqRfws9CvX/AFXMVs6SjVsLIuAD3sn6x+yeMW/ipr450nXQIDAQAB
+AoGAYZZsTv2CfFIlgaUSEty2rzuaz/3ddpXqjFJtUHlyUZGIhnrSN0xj+OfpWSDs
+O4n52t3/hn50wAeb248WSPfFcaClKMGdCBAMQnbwSoQR4oNiSZQqGw8vyF2PQ2CQ
+FOqQzwnBffimRGInpanoysRazxs6JzsmcLC4a94uIFt7/uECQQDzScFkxUATse5P
+ekilv5Zge2cNa7LO5hACLp9eP46Lxd/0S8eMNlGlftYpqmXhxu6zMUuRyKQAu0Y/
+C14EHIl5AkEA305QKgfzVbo6EWmOvGwIBo3pLWuyI7IntNtLrIE728mankRbnW0f
+mfx+FWmNKgbIXC803X2vAxQwIpnWldw4BQJAcejdqO4GI3KS7xmFPD3pDcGZrZn4
+fZEQe8USj1FYz67VPg/hHZAtSDyLz7RdwYmgJ7xz8o0r5L/KkygiW/B0mQJBAJgH
+LxiOdSImOSZloSGywvwDXX7o1UzsG5BLxIdbLK+D39pkW6MgCeXCOuzFAbBdEceA
+9BLfYGlOMz87URaR6SkCQQCyAwDmaBjF8OiUDQVl4JqJaGNhagocA3h7NIGeccSt
+NtO+qfBHfW7qCBQ7LTgAB6v9CGasRbkrZvglCxRVg6Mj
+-----END RSA PRIVATE KEY-----
+-----BEGIN CERTIFICATE-----
+MIIDNjCCAp+gAwIBAgIBADANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzES
+MBAGA1UEBxMJQ2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJy
+aWRnZTEaMBgGA1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxp
+cCBIYXplbDAeFw0wMjA0MTUwODA0NTBaFw0yOTA4MzAwODA0NTBaMHYxCzAJBgNV
+BAYTAlVLMRIwEAYDVQQHEwlDYW1icmlkZ2UxIDAeBgNVBAoTF1VuaXZlcnNpdHkg
+b2YgQ2FtYnJpZGdlMRowGAYDVQQLExFDb21wdXRpbmcgU2VydmljZTEVMBMGA1UE
+AxMMUGhpbGlwIEhhemVsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUN6we
+sp5nny2A5IAy9PqN9pajhpMLWhggY7Sx7uG5v7bPpupHzQ9/Hq0K6vQevCp62Mi2
+lN5xM4kRwMyd8q8gH5hgt23dJFSkBKmmK067TZ53/yOZy270sisQNELlqRfws9Cv
+X/AFXMVs6SjVsLIuAD3sn6x+yeMW/ipr450nXQIDAQABo4HTMIHQMB0GA1UdDgQW
+BBRgFqRZUo+RgbAGSGs4mLA+eW0WDjCBoAYDVR0jBIGYMIGVgBRgFqRZUo+RgbAG
+SGs4mLA+eW0WDqF6pHgwdjELMAkGA1UEBhMCVUsxEjAQBgNVBAcTCUNhbWJyaWRn
+ZTEgMB4GA1UEChMXVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UxGjAYBgNVBAsTEUNv
+bXB1dGluZyBTZXJ2aWNlMRUwEwYDVQQDEwxQaGlsaXAgSGF6ZWyCAQAwDAYDVR0T
+BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQDDU60ui0hP3WIvFWqV/eDVpEN1wRoo
+NcNDfOLhAavQQOKrhrIwcFHIh2mm727z4+uzKBghssrQ+9mVx/VbUKH1QCCJkdSp
+Gy5mp5Uym/piVcGEuNqZ8SkOg4+f+1LCqcVl+tgNaT7+NoPFWcu2Vn5MYZHkd4Mw
+oCabzXDoxmo0lQ==
+-----END CERTIFICATE-----
diff --git a/test/aux-fixed/cert2.revoke b/test/aux-fixed/cert2.revoke
new file mode 100644 (file)
index 0000000..9371735
--- /dev/null
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDNjCCAp+gAwIBAgIBADANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzES
+MBAGA1UEBxMJQ2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJy
+aWRnZTEaMBgGA1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxp
+cCBIYXplbDAeFw0wMjA0MTUwODA0NTBaFw0yOTA4MzAwODA0NTBaMHYxCzAJBgNV
+BAYTAlVLMRIwEAYDVQQHEwlDYW1icmlkZ2UxIDAeBgNVBAoTF1VuaXZlcnNpdHkg
+b2YgQ2FtYnJpZGdlMRowGAYDVQQLExFDb21wdXRpbmcgU2VydmljZTEVMBMGA1UE
+AxMMUGhpbGlwIEhhemVsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUN6we
+sp5nny2A5IAy9PqN9pajhpMLWhggY7Sx7uG5v7bPpupHzQ9/Hq0K6vQevCp62Mi2
+lN5xM4kRwMyd8q8gH5hgt23dJFSkBKmmK067TZ53/yOZy270sisQNELlqRfws9Cv
+X/AFXMVs6SjVsLIuAD3sn6x+yeMW/ipr450nXQIDAQABo4HTMIHQMB0GA1UdDgQW
+BBRgFqRZUo+RgbAGSGs4mLA+eW0WDjCBoAYDVR0jBIGYMIGVgBRgFqRZUo+RgbAG
+SGs4mLA+eW0WDqF6pHgwdjELMAkGA1UEBhMCVUsxEjAQBgNVBAcTCUNhbWJyaWRn
+ZTEgMB4GA1UEChMXVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UxGjAYBgNVBAsTEUNv
+bXB1dGluZyBTZXJ2aWNlMRUwEwYDVQQDEwxQaGlsaXAgSGF6ZWyCAQAwDAYDVR0T
+BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQDDU60ui0hP3WIvFWqV/eDVpEN1wRoo
+NcNDfOLhAavQQOKrhrIwcFHIh2mm727z4+uzKBghssrQ+9mVx/VbUKH1QCCJkdSp
+Gy5mp5Uym/piVcGEuNqZ8SkOg4+f+1LCqcVl+tgNaT7+NoPFWcu2Vn5MYZHkd4Mw
+oCabzXDoxmo0lQ==
+-----END CERTIFICATE-----
diff --git a/test/aux-fixed/crl.pem b/test/aux-fixed/crl.pem
new file mode 100644 (file)
index 0000000..c4ae333
--- /dev/null
@@ -0,0 +1,10 @@
+-----BEGIN X509 CRL-----
+MIIBUTCBuzANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJVSzESMBAGA1UEBxMJ
+Q2FtYnJpZGdlMSAwHgYDVQQKExdVbml2ZXJzaXR5IG9mIENhbWJyaWRnZTEaMBgG
+A1UECxMRQ29tcHV0aW5nIFNlcnZpY2UxFTATBgNVBAMTDFBoaWxpcCBIYXplbBcN
+MDQwMjI3MTIxNDEyWhcNMzEwNzE0MTIxNDEyWjAUMBICAQAXDTA0MDIyNzEyMDU0
+M1owDQYJKoZIhvcNAQEEBQADgYEAzoMDrsieUPRMPNzc0jzMmL0DKgxeUcyKPGNS
+cvJbh5z3obcCDq1HUAGb9k+J5jtWEMIqt27PN/qvmaeXJEsgoKvXnWAPIAF49UaT
+JfuRUztWJYMGPOzaYxivcHVp4oqMxyZhy89PdPaJJAtd/ovMHoaURUjoxfL/H5tZ
+TbLmzSE=
+-----END X509 CRL-----
diff --git a/test/aux-fixed/dh1 b/test/aux-fixed/dh1
new file mode 100644 (file)
index 0000000..1979071
--- /dev/null
@@ -0,0 +1,4 @@
+-----BEGIN DH PARAMETERS-----
+MEYCQQDvm7YRO1eI8/KvUDLgSUYCXJD4wbcrK1W4LN943KQa3jquluhNuJhYIgzY
+yq1N9SdKxoz3aOctoib4Mq6If0HbAgEC
+-----END DH PARAMETERS-----
diff --git a/test/aux-fixed/gnutls-params b/test/aux-fixed/gnutls-params
new file mode 100644 (file)
index 0000000..5fd15f8
--- /dev/null
@@ -0,0 +1,16 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIBOgIBAAJBANaJrAW82pGvpnCZtUm1gGYBkQU7IT4FHuBu/f6TaakRt2Tl6jPm
+STeFY7HCxeKO+NaxrRqGj+77bdW1McEaPg8CAwEAAQJAUC8Dft9/d40FcbdZVRPD
+yhxSxfg8K/CBAlQplXEmQBxiJ7zDsdqJC2C8qO/HYzgLNNKKMFsq+SkiwRuP0ZoH
+DQIhAN/aWQpj1Z7MhNervDKNx3mVbsJb59Cw51Z7TE8CpU/NAiEA9VjdkywEyJox
+MTh5kWx/0USTvf+Tm5Lr1BCivrocUUsCIFL8uZxPWf5gml6Fd5QF2uW34nTS0qeF
+2AE4s6OGtf0NAiEA31nePV0S8lHQUuxqiNMjBylbVjPFzLDIJ3HKQWQZ8wcCIBRy
+w144Nd8BGkUPlChqoW1y1XU43Wz5VI8g5ZFiuzPk
+-----END RSA PRIVATE KEY-----
+
+-----BEGIN DH PARAMETERS-----
+MGUCYKCtXam0x/2mj+EibbOu+m/WAR33VA+YHPYQZuqr6PrwYnUcex5Hm4/QNsGy
+b0o6BgckIFopfTgrUUANGuOlqAbGAwfzV2FxnEorKXTCP36hBFSWtFDbEcFVxQqr
+jfVLwwIBBg==
+-----END DH PARAMETERS-----
+
diff --git a/test/aux-fixed/resubmit b/test/aux-fixed/resubmit
new file mode 100755 (executable)
index 0000000..a7ea243
--- /dev/null
@@ -0,0 +1,23 @@
+#! /usr/bin/perl -w
+
+# A test script that reads a message and resubmits it to Exim (having 
+# notionally checked it - but there's no checking here).
+
+# The message is on the standard input.
+# The sender is in the first argument.
+# The recipients are comma separated in the second argument.
+# The number of the test is in the third argument - so we can call Exim
+# with the appropriate configuration file.
+
+($sender,$recipients,$dir,$caller) = @ARGV;
+
+$cmd = 
+  "$dir/eximdir/exim -C $dir/test-config -DCALLER=$caller -DDIR=$dir " .
+  "-DEXIM_PATH=$dir/eximdir/exim " . 
+  "-odi -oi -oMr scanned-ok -f $sender '$recipients'";
+
+open(OUT, "|$cmd") || die "Failed to set up Exim process\n";
+print OUT while (<STDIN>);
+close(OUT);
+
+# End
diff --git a/test/aux-fixed/resubmitB b/test/aux-fixed/resubmitB
new file mode 100755 (executable)
index 0000000..f925968
--- /dev/null
@@ -0,0 +1,20 @@
+#! /usr/bin/perl -w
+
+# A test script that reads a message and resubmits it to Exim (having 
+# notionally checked it - but there's no checking here). This version
+# uses BSMTP for input and output.
+
+# The number of the test is in the only argument - so we can call Exim
+# with the appropriate configuration file.
+
+($dir,$caller) = @ARGV;
+
+$cmd = 
+  "$dir/eximdir/exim -C $dir/test-config -DCALLER=$caller -DDIR=$dir " .
+  "-DEXIM_PATH=$dir/eximdir/exim -odi -bS -oMr scanned-ok";
+
+open(OUT, "|$cmd") || die "Failed to set up Exim process\n";
+print OUT while (<STDIN>);
+close(OUT);
+
+# End
diff --git a/test/aux-fixed/showenv b/test/aux-fixed/showenv
new file mode 100755 (executable)
index 0000000..a49833a
--- /dev/null
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+# This script outputs certain information about the environment, for use when
+# testing pipe transports.
+
+echo Test pipe script
+echo Running as: `whoami`
+echo ------------------
+echo Args:
+while [ "$1" != "" ]; do
+  echo "  $1"
+  shift
+done
+echo ----------current-----------
+pwd
+echo ----------env-----------
+echo A=$A
+echo B=$B
+echo C=$C
+echo COLON=$COLON
+echo DOMAIN=$DOMAIN
+echo HOME=$HOME
+echo LOCAL_PART=$LOCAL_PART
+echo LOCAL_PART_PREFIX=$LOCAL_PART_PREFIX
+echo LOCAL_PART_SUFFIX=$LOCAL_PART_SUFFIX
+echo LOGNAME=$LOGNAME
+echo ME=$ME
+echo MESSAGE_ID=$MESSAGE_ID
+echo PATH=$PATH
+echo QUALIFY_DOMAIN=$QUALIFY_DOMAIN
+echo RECIPIENT=$RECIPIENT
+echo SENDER=$SENDER
+echo SHELL=$SHELL
+echo USER=$USER
+echo ----------cat-----------
+cat
+echo ------------------
+
diff --git a/test/aux-fixed/sqlitedb b/test/aux-fixed/sqlitedb
new file mode 100644 (file)
index 0000000..b894044
Binary files /dev/null and b/test/aux-fixed/sqlitedb differ