]> source.dussan.org Git - 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 [new file with mode: 0644]
test/functional/cases/117_spf.robot [new file with mode: 0644]
test/functional/cases/130_dkim.robot [deleted file]
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
diff --git a/test/functional/cases/116_dkim.robot b/test/functional/cases/116_dkim.robot
new file mode 100644 (file)
index 0000000..79a40b1
--- /dev/null
@@ -0,0 +1,59 @@
+*** Settings ***
+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/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
+  Check Rspamc  ${result}  DKIM-Signature
+  Set Suite Variable  ${SIGNED_MESSAGE}  ${TMPDIR}/dkim_sign_test.eml
+  Create File  ${SIGNED_MESSAGE}  ${result.stdout}
+  Set Suite Variable  ${RAN_SIGNTEST}  1
+
+DKIM Self Verify
+  Run Keyword If  ${RAN_SIGNTEST} == 0  Fail  "Sign test was not run"
+  ${result} =  Scan Message With Rspamc  ${SIGNED_MESSAGE}
+  Check Rspamc  ${result}  R_DKIM_ALLOW
+
+DKIM Verify ED25519 PASS
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/ed25519.eml
+  Check Rspamc  ${result}  R_DKIM_ALLOW
+
+DKIM Verify ED25519 REJECT
+  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/ed25519-broken.eml
+  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
diff --git a/test/functional/cases/130_dkim.robot b/test/functional/cases/130_dkim.robot
deleted file mode 100644 (file)
index ad0b27a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-*** Settings ***
-Suite Setup     Generic 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
-${RSPAMD_SCOPE}  Suite
-
-*** Test Cases ***
-DKIM Sign
-  Set Suite Variable  ${RAN_SIGNTEST}  0
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/spam_message.eml  --mime  --header=dodkim=1
-  Check Rspamc  ${result}  DKIM-Signature
-  Set Suite Variable  ${SIGNED_MESSAGE}  ${TMPDIR}/dkim_sign_test.eml
-  Create File  ${SIGNED_MESSAGE}  ${result.stdout}
-  Set Suite Variable  ${RAN_SIGNTEST}  1
-
-DKIM Self Verify
-  Run Keyword If  ${RAN_SIGNTEST} == 0  Fail  "Sign test was not run"
-  ${result} =  Scan Message With Rspamc  ${SIGNED_MESSAGE}
-  Check Rspamc  ${result}  R_DKIM_ALLOW
-
-DKIM Verify ED25519 PASS
-  ${result} =  Scan Message With Rspamc  ${TESTDIR}/messages/ed25519.eml
-  Check Rspamc  ${result}  R_DKIM_ALLOW
-
-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
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 { }