Skip to content

Commit

Permalink
[Test] 115 Dmarc is now separated by 115 dmarc, 116 dkim, 117 spf.
Browse files Browse the repository at this point in the history
  • Loading branch information
korgoth1 committed Dec 2, 2019
1 parent 1e67120 commit 388c82f
Show file tree
Hide file tree
Showing 5 changed files with 170 additions and 135 deletions.
132 changes: 0 additions & 132 deletions test/functional/cases/115_dmarc.robot
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
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
129 changes: 129 additions & 0 deletions test/functional/cases/117_spf.robot
Original file line number Diff line number Diff line change
@@ -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
10 changes: 10 additions & 0 deletions test/functional/configs/plugins.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
1 change: 1 addition & 0 deletions test/functional/configs/spf.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
spf { }

0 comments on commit 388c82f

Please sign in to comment.