X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/26dd3aa007b3b77969610c031f59388e0953bd00..b9e0b12d9b665bbff996382264d4ba97d1a61efd:/test/scripts/0000-Basic/0002 diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index 9334e0448..d169518b6 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -126,6 +126,15 @@ listextract: ${listextract{-5}{a:b:c:d}} listextract: ${listextract{ 5}{a:b:c:d}{}{fail}} listextract: ${listextract{ 5}{a:b:c:d}{}fail} +listquote: ${listquote{:}{abcd}} +listquote: ${listquote{:}{ab:cd}} +listquote: ${listquote{:}{:a:b:c:d:}} +listquote: ${listquote{:}{ab::cd}} +listquote: ${listquote{;}{ab:cd}} +listquote: ${listquote{;}{ab;cd}} +listquote: ${listquote{ }{ ab cd}} +listquote: <${listquote{:}{}}> + sort: ${sort{3:2:1:4}{<}{$item}} sort: ${sort {<, 3,2,1,4}{>}{$item}} sort: ${sort{c:B:a:aa}{lti}{$item}} @@ -169,6 +178,7 @@ addrss: ${address:Exim Person <(comment)local-part@dom.ain(comment2)> (that's me domain: ${domain:local-part@dom.ain} domain: ${domain:Exim Person (that's me)} domain: ${domain:Exim Person (that's me)} +domain: ${domain:a.b.c} addresses: ${addresses:>' 'abc@xyz, 'pqr@xyz} addresses: ${addresses:Exim Person (that's me)} @@ -238,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} @@ -248,13 +262,14 @@ 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} lclpt: ${local_part:local-part@dom.ain} lclpt: ${local_part:Exim Person (that's me)} lclpt: ${local_part:Exim Person (that's me)} +lclpt: ${local_part:a.b.c} quote: ${quote:aZ09_.-Q} ${quote:ab*cd} ${quote:ab\cd"ef} quote: ${quote:nl(\n)} quote: ${quote:cr(\r)} @@ -515,28 +530,50 @@ acl if: ${if acl {{a_defer}{argN}{arg2}} {Y:$value}{N:$value}} # Lookups: DIR is the testing directory. In this test we can only use the # lookups that are required in all cases. -${lookup{postmaster}lsearch{DIR/aux-fixed/0002.aliases}{$value}fail} +${lookup{postmaster}lsearch {DIR/aux-fixed/0002.aliases}{$value}fail} +${lookup{postmaster}lsearch,ret=full{DIR/aux-fixed/0002.aliases}{$value}fail} ${lookup{x@y}lsearch*@{DIR/aux-fixed/0002.starat}{$value}fail} -${lookup{x@z}lsearch*{DIR/aux-fixed/0002.starat}{$value}fail} +${lookup{x@z}lsearch* {DIR/aux-fixed/0002.starat}{$value}fail} ${lookup{x@z}lsearch*@{DIR/aux-fixed/0002.starat}{$value}fail} ${lookup{x@w}lsearch*@{DIR/aux-fixed/0002.starat}{$value}fail} -${lookup{a.b.c.d}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} -${lookup{x.y.z}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}{failed x.y.z}} -${lookup{p.q}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} -${lookup{o.p.q}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} -${lookup{m.n.o.p.q}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} -${lookup{x.y.z}partial1-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} -${lookup{x.y.z}partial0-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} - -q1: ${lookup{abc}lsearch{DIR/aux-fixed/0002.quoted}} -q2: ${lookup{xyz}lsearch{DIR/aux-fixed/0002.quoted}} -q3: ${lookup{pqr}lsearch{DIR/aux-fixed/0002.quoted}} -q4: ${lookup{a:b}lsearch{DIR/aux-fixed/0002.quoted}} -q5: ${lookup{"quoted"}lsearch{DIR/aux-fixed/0002.quoted}} +${lookup{x@y}lsearch*@,ret=full {DIR/aux-fixed/0002.starat}{$value}fail} +${lookup{x@z}lsearch*,ret=full {DIR/aux-fixed/0002.starat}{$value}fail} +${lookup{x@z}lsearch*@,ret=full {DIR/aux-fixed/0002.starat}{$value}fail} +${lookup{x@w}lsearch*@,ret=full {DIR/aux-fixed/0002.starat}{$value}fail} + +${lookup{a.b.c.d} partial-lsearch {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{x.y.z} partial-lsearch {DIR/aux-fixed/0002.domains}{$value}{failed x.y.z}} +${lookup{p.q} partial-lsearch {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{o.p.q} partial-lsearch {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{m.n.o.p.q}partial-lsearch {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{x.y.z} partial1-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{x.y.z} partial0-lsearch{DIR/aux-fixed/0002.domains}{$value}fail} + +${lookup{a.b.c.d} partial-lsearch,ret=full {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{x.y.z} partial-lsearch,ret=full {DIR/aux-fixed/0002.domains}{$value}{failed x.y.z}} +${lookup{p.q} partial-lsearch,ret=full {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{o.p.q} partial-lsearch,ret=full {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{m.n.o.p.q}partial-lsearch,ret=full {DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{x.y.z} partial1-lsearch,ret=full{DIR/aux-fixed/0002.domains}{$value}fail} +${lookup{x.y.z} partial0-lsearch,ret=full{DIR/aux-fixed/0002.domains}{$value}fail} + +q1: ${lookup{abc} lsearch{DIR/aux-fixed/0002.quoted}} +q2: ${lookup{xyz} lsearch{DIR/aux-fixed/0002.quoted}} +q3: ${lookup{pqr} lsearch{DIR/aux-fixed/0002.quoted}} +q4: ${lookup{a:b} lsearch{DIR/aux-fixed/0002.quoted}} +q5: ${lookup{"quoted"} lsearch{DIR/aux-fixed/0002.quoted}} q6: ${lookup{white space}lsearch{DIR/aux-fixed/0002.quoted}} -q7: ${lookup{b\\s}lsearch{DIR/aux-fixed/0002.quoted}} +q7: ${lookup{b\\s} lsearch{DIR/aux-fixed/0002.quoted}} + +q1f: ${lookup{abc} lsearch,ret=full{DIR/aux-fixed/0002.quoted}} +q2f: ${lookup{xyz} lsearch,ret=full{DIR/aux-fixed/0002.quoted}} +q3f: ${lookup{pqr} lsearch,ret=full{DIR/aux-fixed/0002.quoted}} +q4f: ${lookup{a:b} lsearch,ret=full{DIR/aux-fixed/0002.quoted}} +q5f: ${lookup{"quoted"} lsearch,ret=full{DIR/aux-fixed/0002.quoted}} +q6f: ${lookup{white space}lsearch,ret=full{DIR/aux-fixed/0002.quoted}} +q7f: ${lookup{b\\s} lsearch,ret=full{DIR/aux-fixed/0002.quoted}} abc: ${lookup{abc}wildlsearch{DIR/aux-var/0002.wild}} a.b.c: ${lookup{a.b.c}wildlsearch{DIR/aux-var/0002.wild}} @@ -765,6 +802,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 @@ -932,8 +971,9 @@ exim -be -DPTBC=print_topbitchars escape: ${escape:B7·F2ò} **** # Checkout expansion debugging -exim -d-all+expand -be +exim -d-all+expand -f sndr@dom -be primary_hostname: $primary_hostname +sender_address: $sender_address match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail} match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail} ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}} @@ -1017,6 +1057,7 @@ exim -d -bh V4NET.0.0.2 **** # Test $reply_address exim -bh V4NET.0.0.0 +helo test mail from:<> rcpt to: data @@ -1047,6 +1088,7 @@ quit **** # Check RFC 2047 decoding with (default) length check exim -bh V4NET.0.0.0 +helo test mail from:<> rcpt to: data @@ -1056,6 +1098,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: data @@ -1073,3 +1116,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}}' +****