]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Test] 115 Dmarc is now separated by 115 dmarc, 116 dkim, 117 spf.
authorkorgoth1 <vladislav.stakhov@gmail.com>
Mon, 2 Dec 2019 17:49:54 +0000 (20:49 +0300)
committerkorgoth1 <vladislav.stakhov@gmail.com>
Mon, 2 Dec 2019 17:49:54 +0000 (20:49 +0300)
test/functional/cases/115_dmarc.robot
test/functional/cases/116_dkim.robot [moved from test/functional/cases/130_dkim.robot with 50% similarity]
test/functional/cases/117_spf.robot [new file with mode: 0644]
test/functional/configs/plugins.conf
test/functional/configs/spf.conf [new file with mode: 0644]

index 597a6a33059071b7df1dddb0cc690e357c78136a..a3c60f83f8f1348054a9bd4040d3f5f0bf451f30 100644 (file)
@@ -87,138 +87,6 @@ DMARC PCT ZERO SP QUARANTINE
   ...  -i  37.48.67.26  --from  foo@mom.za.org
   Check Rspamc  ${result}  DMARC_POLICY_SOFTFAIL
 
-DKIM PERMFAIL NXDOMAIN
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim2.eml
-  ...  -i  37.48.67.26
-  Check Rspamc  ${result}  R_DKIM_PERMFAIL
-
-DKIM PERMFAIL BAD RECORD
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  37.48.67.26
-  Check Rspamc  ${result}  R_DKIM_PERMFAIL
-
-DKIM TEMPFAIL SERVFAIL UNALIGNED
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim3.eml
-  ...  -i  37.48.67.26
-  Check Rspamc  ${result}  R_DKIM_TEMPFAIL
-  Should Contain  ${result.stdout}  DMARC_POLICY_SOFTFAIL
-
-DKIM NA NOSIG
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/utf.eml
-  ...  -i  37.48.67.26
-  Check Rspamc  ${result}  R_DKIM_NA
-
-SPF PERMFAIL UNRESOLVEABLE INCLUDE
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  37.48.67.26  -F  x@fail3.org.org.za
-  Check Rspamc  ${result}  R_SPF_PERMFAIL
-
-SPF DNSFAIL FAILED INCLUDE UNALIGNED
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@fail2.org.org.za
-  Check Rspamc  ${result}  R_SPF_DNSFAIL
-  Should Contain  ${result.stdout}  DMARC_POLICY_SOFTFAIL
-
-SPF ALLOW UNRESOLVEABLE INCLUDE
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@fail3.org.org.za
-  Check Rspamc  ${result}  R_SPF_ALLOW
-
-SPF ALLOW FAILED INCLUDE
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.4.4  -F  x@fail2.org.org.za
-  Check Rspamc  ${result}  R_SPF_ALLOW
-
-SPF NA NA
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@za
-  Check Rspamc  ${result}  R_SPF_NA
-
-SPF NA NOREC
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@co.za
-  Check Rspamc  ${result}  R_SPF_NA
-
-SPF NA NXDOMAIN
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@zzzzaaaa
-  Check Rspamc  ${result}  R_SPF_NA
-
-SPF PERMFAIL UNRESOLVEABLE REDIRECT
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@fail4.org.org.za
-  Check Rspamc  ${result}  R_SPF_PERMFAIL
-
-SPF REDIRECT NO USEABLE ELEMENTS
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@fail10.org.org.za
-  Check Rspamc  ${result}  R_SPF_PERMFAIL
-
-SPF DNSFAIL FAILED REDIRECT
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@fail1.org.org.za
-  Check Rspamc  ${result}  R_SPF_DNSFAIL
-
-SPF PERMFAIL NO USEABLE ELEMENTS
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@fail5.org.org.za
-  Check Rspamc  ${result}  R_SPF_PERMFAIL
-
-SPF FAIL
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@example.net
-  Check Rspamc  ${result}  R_SPF_FAIL
-
-SPF PERMFAIL UNRESOLVEABLE MX
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  1.2.3.4  -F  x@fail6.org.org.za
-  Check Rspamc  ${result}  R_SPF_PERMFAIL
-
-SPF PERMFAIL UNRESOLVEABLE A
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  1.2.3.4  -F  x@fail7.org.org.za
-  Check Rspamc  ${result}  R_SPF_PERMFAIL
-
-SPF DNSFAIL FAILED A
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  1.2.3.4  -F  x@fail8.org.org.za
-  Check Rspamc  ${result}  R_SPF_DNSFAIL
-
-SPF DNSFAIL FAILED MX
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  1.2.3.4  -F  x@fail9.org.org.za
-  Check Rspamc  ${result}  R_SPF_DNSFAIL
-
-SPF DNSFAIL FAILED RECORD
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  1.2.3.4  -F  x@www.dnssec-failed.org
-  Check Rspamc  ${result}  R_SPF_DNSFAIL
-
-SPF PASS INCLUDE
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
-  ...  -i  8.8.8.8  -F  x@pass1.org.org.za
-  Check Rspamc  ${result}  R_SPF_ALLOW
-
-SPF PTRS
-  ${result} =  Scan Message With Rspamc  /dev/null
-  ...  -i  88.99.142.95  -F  foo@crazyspf.cacophony.za.org
-  Check Rspamc  ${result}  R_SPF_ALLOW
-  ${result} =  Scan Message With Rspamc  /dev/null
-  ...  -i  128.66.0.1  -F  foo@crazyspf.cacophony.za.org
-  Check Rspamc  ${result}  R_SPF_PERMFAIL
-  ${result} =  Scan Message With Rspamc  /dev/null
-  ...  -i  209.85.216.182  -F  foo@crazyspf.cacophony.za.org
-  Check Rspamc  ${result}  R_SPF_FAIL
-  #${result} =  Scan Message With Rspamc  /dev/null
-  #...  -i  98.138.91.166  -F  foo@crazyspf.cacophony.za.org
-  #Check Rspamc  ${result}  R_SPF_ALLOW
-  #${result} =  Scan Message With Rspamc  /dev/null
-  #...  -i  98.138.91.167  -F  foo@crazyspf.cacophony.za.org
-  #Check Rspamc  ${result}  R_SPF_ALLOW
-  #${result} =  Scan Message With Rspamc  /dev/null
-  #...  -i  98.138.91.168  -F  foo@crazyspf.cacophony.za.org
-  #Check Rspamc  ${result}  R_SPF_ALLOW
-
 *** Keywords ***
 DMARC Setup
   ${PLUGIN_CONFIG} =  Get File  ${TESTDIR}/configs/dmarc.conf
similarity index 50%
rename from test/functional/cases/130_dkim.robot
rename to test/functional/cases/116_dkim.robot
index ad0b27ac47f7fb3015ce51aebdfdfde5ad65f2e1..79a40b1e6679341c45a3c88db93b7c95a1d6b328 100644 (file)
@@ -1,15 +1,36 @@
 *** Settings ***
-Suite Setup     Generic Setup
+Suite Setup     DKIM Setup
 Suite Teardown  Simple Teardown
 Library         ${TESTDIR}/lib/rspamd.py
 Resource        ${TESTDIR}/lib/rspamd.robot
 Variables       ${TESTDIR}/lib/vars.py
 
 *** Variables ***
-${CONFIG}       ${TESTDIR}/configs/dkim.conf
+${CONFIG}        ${TESTDIR}/configs/plugins.conf
 ${RSPAMD_SCOPE}  Suite
+${URL_TLD}       ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
 
 *** Test Cases ***
+DKIM PERMFAIL NXDOMAIN
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim2.eml
+  ...  -i  37.48.67.26
+  Check Rspamc  ${result}  R_DKIM_PERMFAIL
+
+DKIM PERMFAIL BAD RECORD
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  37.48.67.26
+  Check Rspamc  ${result}  R_DKIM_PERMFAIL
+
+DKIM TEMPFAIL SERVFAIL UNALIGNED
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim3.eml
+  ...  -i  37.48.67.26
+  Check Rspamc  ${result}  R_DKIM_TEMPFAIL
+
+DKIM NA NOSIG
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/utf.eml
+  ...  -i  37.48.67.26
+  Check Rspamc  ${result}  R_DKIM_NA
+
 DKIM Sign
   Set Suite Variable  ${RAN_SIGNTEST}  0
   ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/spam_message.eml  --mime  --header=dodkim=1
@@ -29,4 +50,10 @@ DKIM Verify ED25519 PASS
 
 DKIM Verify ED25519 REJECT
   ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/ed25519-broken.eml
-  Check Rspamc  ${result}  R_DKIM_REJECT
\ No newline at end of file
+  Check Rspamc  ${result}  R_DKIM_REJECT
+
+*** Keywords ***
+DKIM Setup
+  ${PLUGIN_CONFIG} =  Get File  ${TESTDIR}/configs/dkim.conf
+  Set Suite Variable  ${PLUGIN_CONFIG}
+  Generic Setup  PLUGIN_CONFIG
diff --git a/test/functional/cases/117_spf.robot b/test/functional/cases/117_spf.robot
new file mode 100644 (file)
index 0000000..2ac6997
--- /dev/null
@@ -0,0 +1,129 @@
+*** Settings ***
+Suite Setup     SPF Setup
+Suite Teardown  Simple Teardown
+Library         ${TESTDIR}/lib/rspamd.py
+Resource        ${TESTDIR}/lib/rspamd.robot
+Variables       ${TESTDIR}/lib/vars.py
+
+*** Variables ***
+${CONFIG}        ${TESTDIR}/configs/plugins.conf
+${RSPAMD_SCOPE}  Suite
+${URL_TLD}       ${TESTDIR}/../../contrib/publicsuffix/effective_tld_names.dat
+
+*** Test Cases ***
+SPF PERMFAIL UNRESOLVEABLE INCLUDE
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  37.48.67.26  -F  x@fail3.org.org.za
+  Check Rspamc  ${result}  R_SPF_PERMFAIL
+
+SPF DNSFAIL FAILED INCLUDE UNALIGNED
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@fail2.org.org.za
+  Check Rspamc  ${result}  R_SPF_DNSFAIL
+  Should Contain  ${result.stdout}  DMARC_POLICY_SOFTFAIL
+
+SPF ALLOW UNRESOLVEABLE INCLUDE
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@fail3.org.org.za
+  Check Rspamc  ${result}  R_SPF_ALLOW
+
+SPF ALLOW FAILED INCLUDE
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.4.4  -F  x@fail2.org.org.za
+  Check Rspamc  ${result}  R_SPF_ALLOW
+
+SPF NA NA
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@za
+  Check Rspamc  ${result}  R_SPF_NA
+
+SPF NA NOREC
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@co.za
+  Check Rspamc  ${result}  R_SPF_NA
+
+SPF NA NXDOMAIN
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@zzzzaaaa
+  Check Rspamc  ${result}  R_SPF_NA
+
+SPF PERMFAIL UNRESOLVEABLE REDIRECT
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@fail4.org.org.za
+  Check Rspamc  ${result}  R_SPF_PERMFAIL
+
+SPF REDIRECT NO USEABLE ELEMENTS
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@fail10.org.org.za
+  Check Rspamc  ${result}  R_SPF_PERMFAIL
+
+SPF DNSFAIL FAILED REDIRECT
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@fail1.org.org.za
+  Check Rspamc  ${result}  R_SPF_DNSFAIL
+
+SPF PERMFAIL NO USEABLE ELEMENTS
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@fail5.org.org.za
+  Check Rspamc  ${result}  R_SPF_PERMFAIL
+
+SPF FAIL
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@example.net
+  Check Rspamc  ${result}  R_SPF_FAIL
+
+SPF PERMFAIL UNRESOLVEABLE MX
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  1.2.3.4  -F  x@fail6.org.org.za
+  Check Rspamc  ${result}  R_SPF_PERMFAIL
+
+SPF PERMFAIL UNRESOLVEABLE A
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  1.2.3.4  -F  x@fail7.org.org.za
+  Check Rspamc  ${result}  R_SPF_PERMFAIL
+
+SPF DNSFAIL FAILED A
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  1.2.3.4  -F  x@fail8.org.org.za
+  Check Rspamc  ${result}  R_SPF_DNSFAIL
+
+SPF DNSFAIL FAILED MX
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  1.2.3.4  -F  x@fail9.org.org.za
+  Check Rspamc  ${result}  R_SPF_DNSFAIL
+
+SPF DNSFAIL FAILED RECORD
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  1.2.3.4  -F  x@www.dnssec-failed.org
+  Check Rspamc  ${result}  R_SPF_DNSFAIL
+
+SPF PASS INCLUDE
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/dmarc/bad_dkim1.eml
+  ...  -i  8.8.8.8  -F  x@pass1.org.org.za
+  Check Rspamc  ${result}  R_SPF_ALLOW
+
+SPF PTRS
+  ${result} =  Scan Message With Rspamc  /dev/null
+  ...  -i  88.99.142.95  -F  foo@crazyspf.cacophony.za.org
+  Check Rspamc  ${result}  R_SPF_ALLOW
+  ${result} =  Scan Message With Rspamc  /dev/null
+  ...  -i  128.66.0.1  -F  foo@crazyspf.cacophony.za.org
+  Check Rspamc  ${result}  R_SPF_PERMFAIL
+  ${result} =  Scan Message With Rspamc  /dev/null
+  ...  -i  209.85.216.182  -F  foo@crazyspf.cacophony.za.org
+  Check Rspamc  ${result}  R_SPF_FAIL
+  #${result} =  Scan Message With Rspamc  /dev/null
+  #...  -i  98.138.91.166  -F  foo@crazyspf.cacophony.za.org
+  #Check Rspamc  ${result}  R_SPF_ALLOW
+  #${result} =  Scan Message With Rspamc  /dev/null
+  #...  -i  98.138.91.167  -F  foo@crazyspf.cacophony.za.org
+  #Check Rspamc  ${result}  R_SPF_ALLOW
+  #${result} =  Scan Message With Rspamc  /dev/null
+  #...  -i  98.138.91.168  -F  foo@crazyspf.cacophony.za.org
+  #Check Rspamc  ${result}  R_SPF_ALLOW
+
+*** Keywords ***
+SPF Setup
+  ${PLUGIN_CONFIG} =  Get File  ${TESTDIR}/configs/dmarc.conf
+  Set Suite Variable  ${PLUGIN_CONFIG}
+  Generic Setup  PLUGIN_CONFIG
index 1587ce584b493c7c51c6fd4a1e5c76ba115588a1..a4386f63692d66c7cd3995baba8c4226916f2cb4 100644 (file)
@@ -13,6 +13,16 @@ options = {
           type = txt;
           replies = ["k=ed25519; p=yi50DjK5O9pqbFpNHklsv9lqaS0ArSYu02qp1S0DW1Y="];
         },
+        {
+          name = "brisbane._domainkey.football.example.com";
+          type = txt;
+          replies = ["v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="];
+        },
+        {
+          name = "test._domainkey.football.example.com";
+          type = txt;
+          replies = ["v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"],
+        },
         {
           name = "dkim._domainkey.cacophony.za.org",
           type = "txt";
diff --git a/test/functional/configs/spf.conf b/test/functional/configs/spf.conf
new file mode 100644 (file)
index 0000000..37028b1
--- /dev/null
@@ -0,0 +1 @@
+spf { }