Testsuite: Add testcases for string_is_ip_address (CVE-2023-42117)
[exim.git] / test / scripts / 0000-Basic / 0002
index 70b4e5f94ce85fcc89cde89fc3021379b2071d56..df4f91b4b881cf801d9c4a1e256ae605618bc3b7 100644 (file)
@@ -248,6 +248,10 @@ mask:   ${mask:192.168.10.206/33}
 mask:   ${mask:192.168.10.206/0}
 mask:   ${mask:192.168.10.206}
 mask:   ${mask:a.b.c.d}
+mask:   ${mask:2a00:2:3:4:5:6:7:8/79}
+mask:   ${mask:2a00:2:3:4:5:6:7:8/128}
+mask:   ${mask:2a00:2:3:4:5:6:7:8/129}
+mask_n: ${mask_n:2a00:2:3:4:5:6:7:8/79}
 ipv6denorm: ${ipv6denorm:::1}
 ipv6denorm: ${ipv6denorm:fe00::1}
 ipv6denorm: ${ipv6denorm:192.168.0.1}
@@ -258,7 +262,7 @@ ipv6norm:   ${ipv6norm:2a00::1}
 ipv6norm:   ${ipv6norm:2a00:eadf:0000:0000:0000:0000:0001:0000}
 ipv6norm:   ${ipv6norm:2a00:eadf:0000:0001:0000:0000:0000:0000}
 ipv6norm:   ${ipv6norm:2a00:0:0:0::}
-ipv6norm:   ${ipv6norm:2a00:2:3:4:5:6:7:8}
+ipv6norm:   ${ipv6norm:2a00:2:3:4:5:6:7:8}trailing_text
 nhash:  ${nhash_24:monty} ${nhash_8_63:monty python}
 lc/uc:  ${lc:The Quick} ${uc: Brown Fox}
 length: ${length_10:The quick brown fox} ${l_10:abc}
@@ -438,6 +442,7 @@ ge:     ${if ge{ABC}{abc}{y}{n}}
 gei:    ${if gei{ABC}{abc}{y}{n}}
 
 isip:   ${if isip {1.2.3.4}{y}{n}}  1.2.3.4
+isip:   ${if isip {1.2.3}{y}{n}}  1.2.3
 isip4:  ${if isip4{1.2.3.4}{y}{n}}  1.2.3.4
 isip6:  ${if isip6{1.2.3.4}{y}{n}}  1.2.3.4
 isip:   ${if isip {::1.2.3.256}{y}{n}}  ::1.2.3.256
@@ -455,6 +460,9 @@ isip:   ${if isip {fe80::1.2.3.4}{y}{n}}  fe80::1.2.3.4
 isip:   ${if isip {rhubarb}{y}{n}}  rhubarb
 isip4:  ${if isip4{rhubarb}{y}{n}}  rhubarb
 isip6:  ${if isip6{rhubarb}{y}{n}}  rhubarb
+isip6:  ${if isip6{::/100}{y}{n}}  ::/100
+isip6:  ${if isip6{::/foo}{y}{n}}  ::/foo
+isip6:  ${if isip6{::/f o}{y}{n}}  ::/f o
 
 match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 match:  ${if match{abcd}{^\N([ab]+)(\w+)$\N}{$2$1}fail}
@@ -798,6 +806,8 @@ rc=$runrc
 rc=$runrc
 ${if eq{1}{2}{${run{/non/exist}}}{1!=2}}
 rc=$runrc
+${run,preexpand {DIR/aux-fixed/0002.runfile 0}}
+rc=$runrc
 
 # PRVS
 
@@ -1051,6 +1061,7 @@ exim -d -bh V4NET.0.0.2
 ****
 # Test $reply_address
 exim -bh V4NET.0.0.0
+helo test
 mail from:<>
 rcpt to:<some@body>
 data
@@ -1081,6 +1092,7 @@ quit
 ****
 # Check RFC 2047 decoding with (default) length check
 exim -bh V4NET.0.0.0
+helo test
 mail from:<>
 rcpt to:<some@body>
 data
@@ -1090,6 +1102,7 @@ quit
 ****
 # Check RFC 2047 decoding with length check disabled
 exim -DLENCHECK=check_rfc2047_length=false -bh V4NET.0.0.0
+helo test
 mail from:<>
 rcpt to:<some@body>
 data
@@ -1107,3 +1120,7 @@ exim -be
 ${if inlist{aa}{aa} {in list}{not in list}}
 ${if !inlist{aa}{aa} {not in list}{in list}}
 ****
+# listextract from tainted list
+exim -be -oMs my.target.host.name
+'\${listextract {2} {<. $sender_host_name}}'  =>   '${listextract {2} {<. $sender_host_name}}'
+****