Testsuite: DNS lookup notes
[users/jgh/exim.git] / test / scripts / 4600-SPF / 4600
index d24fa9d94a5d7554e20de0d5dbc81180abca959e..8490288e19dd3a186c2a41c78b2e07de5ebaaa0c 100644 (file)
@@ -1,15 +1,15 @@
 # acl condition and variables
 #
 # acl condition and variables
 #
-# 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.
+# The 127.0.0.1 source addr seems to be a builtin in the spf library; no dns lookup is done.
+# HOSTIPV4 does get a series of lookups (see server debug output to verify that).
 #
 #
-# For now just check that what should be working syntax does not cause us to fall over.
-# Be careful with envelope-domains and IPs used for testcases, as real DNS lookups will be done.
+# The libspf2 object stack is built with an exim-specific DNS lookup base object,
+# so the testsuite intercept to fakedns works.  Be careful of names and addresses
+# used, as nonhandled lookups are passed on to real DNS.
 #
 #
-exim -bd -DSERVER=server -oX PORT_D:PORT_S
+exim -bd -DSERVER=server -oX PORT_D:PORT_S:PORT_N
 ****
 ****
-client 127.0.0.1 PORT_D
+client 127.0.0.1 PORT_S
 ??? 220
 helo testclient
 ??? 250
 ??? 220
 helo testclient
 ??? 250
@@ -19,7 +19,7 @@ rcpt to:<fred@test.ex>
 ??? 250
 quit
 ****
 ??? 250
 quit
 ****
-client 127.0.0.1 PORT_D
+client HOSTIPV4 PORT_S
 ??? 220
 helo testclient
 ??? 250
 ??? 220
 helo testclient
 ??? 250
@@ -29,7 +29,7 @@ rcpt to:<fred@test.ex>
 ??? 250
 quit
 ****
 ??? 250
 quit
 ****
-client 127.0.0.1 PORT_S
+client 127.0.0.1 PORT_D
 ??? 220
 helo testclient
 ??? 250
 ??? 220
 helo testclient
 ??? 250
@@ -39,5 +39,25 @@ rcpt to:<fred@test.ex>
 ??? 250
 quit
 ****
 ??? 250
 quit
 ****
+client HOSTIPV4 PORT_D
+??? 220
+helo testclient
+??? 250
+mail from:<b@test.example.com>
+??? 250
+rcpt to:<fred@test.ex>
+??? 550
+quit
+****
+client 127.0.0.1 PORT_N
+??? 220
+helo testclient
+??? 250
+mail from:<c@example.com>
+??? 250
+rcpt to:<fred@test.ex>
+??? 550
+quit
+****
 #
 killdaemon
 #
 killdaemon