--- /dev/null
+#========================================================
+#data to check if SPF are properly seen
+#NOTE: this test rely on the fact
+#"zoo.dns" is accessible via DNS request.
+#========================================================
+start: SPF
+#--------------------------------------------------A------
+#Checking MX
+S: chkmx.spf.zoo 127.0.0.255
+R: OK #Acceptable IP number
+S: chkmx.spf.zoo 127.0.0.1
+R: BAD #wrong MX ip number
+#Checking IP4
+S: chkip4.spf.zoo 127.0.1.255
+R: OK
+S: chkip4.spf.zoo 127.0.1.1
+R: BAD #out of range IP4
+#Checking IP6
+S: chkip6.spf.zoo 0:0:0:0:0:ffff:127.0.2.255
+R: OK
+S: chkip6.spf.zoo 2607:180:1000:795b::127.0.2.1
+R: BAD
+##checking addr
+S: chkaddr.spf.zoo 127.0.1.255
+R: OK
+S: chkaddr.spf.zoo 127.0.1.1
+R: BAD
+S: chkaddr.spf.zoo 2607:180:1000:795b::127.0.2.255
+R: OK
+S: chkaddr.spf.zoo 2607:180:1000:795b::127.0.2.1
+R: BAD
+S: chkaddr.spf.zoo 127.0.3.255
+R: OK
+S: chkaddr.spf.zoo 127.0.3.1
+R: BAD
+#--------------------------------------------------------
+end: SPF
--- /dev/null
+---------------------------------------------------------------------
+;to test SPF dns
+$ORIGIN spf.zoo.
+
+@ IN A 127.0.0.127
+ IN MX 10 mx1
+ IN MX 20 mx2
+
+mx1 IN A 127.0.0.128
+mx2 IN A 127.0.0.129
+
+;test MX using IP 127.0.0.255
+chkmx IN A 127.0.0.255
+ IN TXT (
+ "chkmx PASS with 127.0.0.255,"
+ "chkmx FAIL with 127.0.0.1"
+ )
+ IN TXT (
+ "v=spf1 "
+ "mx:spf.zoo/25 "
+ "-all"
+ )
+
+chkip4 IN A 127.0.1.255
+ IN TXT (
+ "chkip4 PASS with 127.0.1.255,"
+ "chkip4 FAIL with 127.0.1.1"
+ )
+ IN TXT (
+
+ "v=spf1 "
+ "ip4:127.0.1.128/25 "
+ "-all"
+ )
+
+chkip6 IN AAAA fc00:0:0:0:ffff::7f00:002f
+ IN TXT (
+ "chkip6 PASS with PREFIX::127.0.2.255, "
+ "chkip6 FAIL with PREFIX::127.0.2.1"
+ )
+ IN TXT (
+ "v=spf1 "
+ "ip6:0:0:0:0:0:ffff:7f00:0280/121 "
+ "-all"
+ )
+
+chkaddr IN A 127.0.3.255
+ IN TXT (
+ "chkaddr PASS with 127.0.3.255,"
+ "chkaddr FAIL with 127.0.3.1"
+ "chkaddr PASS with 127.0.1.255,"
+ "chkaddr FAIL with 127.0.1.1"
+ "chkaddr PASS with PREFIX::127.0.2.255, "
+ "chkaddr FAIL with PREFIX::127.0.2.1"
+ )
+ IN TXT (
+ "v=spf1 "
+ "a "
+ "a:chkip4 "
+ "a:chkip6/121 "
+ "-all"
+ )
+
+;check include
+chkinc IN TXT (
+ "chkinc PASS with 127.0.0.255,"
+ "chkinc FAIL with 127.0.0.1"
+ "chkinc PASS with 127.0.1.255,"
+ "chkinc FAIL with 127.0.1.1,"
+ "chkinc PASS with PREFIX::127.0.2.255, "
+ "chkinc FAIL with PREFIX::127.0.2.1,"
+ "chkinc PASS with PREFIX::127.0.3.255,"
+ "chkinc FAIL with PREFIX::127.0.3.1,"
+ )
+
+ IN TXT (
+ "v=spf1 "
+ "include:chkimx"
+ "include:chkip4"
+ "include:chkip6"
+ "include:chkaddr"
+ "-all"
+ )
+
+;---------------------------------------------------------------------