X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=blobdiff_plain;f=test%2Fscripts%2F4600-SPF%2F4601;h=96f06a6d12fa2a7807399f148d70bc0178a15632;hp=096b64e2424c61375edb8c17832557810a9ef94b;hb=refs%2Ftags%2Fexim-4.93.0.4;hpb=743c4c9f5a8ecd10fb91fff283d949ca9d12e2fb diff --git a/test/scripts/4600-SPF/4601 b/test/scripts/4600-SPF/4601 index 096b64e24..96f06a6d1 100644 --- a/test/scripts/4600-SPF/4601 +++ b/test/scripts/4600-SPF/4601 @@ -1,15 +1,8 @@ # lookup string-expansion # -# It is rather difficult to properly test spf. We use libspf2 to do the work, and it -# does the DNS lookups, so we cannot intercept them in the testsuite's usual fashion -# to provide values for testcases. -# -# For now just check that what should be working syntax does not cause us to fall over. -# Be careful with envelope-domains used for testcases, as real DNS lookups will be done. -# -exim -bd -DSERVER=server -oX PORT_D +exim -bd -DSERVER=server -oX PORT_D:PORT_S **** -client HOSTIPV4 PORT_D +client 127.0.0.1 PORT_D ??? 220 helo testclient ??? 250 @@ -19,7 +12,7 @@ rcpt to: ??? 250 quit **** -client 127.0.0.1 PORT_D +client 127.0.0.1 PORT_S ??? 220 helo testclient ??? 250 @@ -31,3 +24,15 @@ quit **** # killdaemon +# +# SERVFAIL -> temperror +# A multiple spf-RR return should get permerror +# - and not crash with non-spf txt records +# v=spf1 is casr-insensitive +exim -be +none ${lookup {fred@v6.test.ex} spf {HOSTIPV4}} +temperror ${lookup {fred@test.again.dns} spf {HOSTIPV4}} +permerror ${lookup {fred@double.example.com} spf {8.8.8.8}} +permerror ${lookup {fred@doubleplus.example.com} spf {8.8.8.8}} +pass ${lookup {fred@uppercase.example.com} spf {HOSTIPV4}} +****