3 changed files with 155 additions and 1 deletions
-
52test/functional/cases/123_whitelist.robot
-
3test/functional/configs/maps/domains.list
-
101test/functional/configs/whitelist.conf
@ -0,0 +1,52 @@ |
|||||
|
*** Settings *** |
||||
|
Suite Setup Whitelist Setup |
||||
|
Suite Teardown Normal Teardown |
||||
|
Library ${TESTDIR}/lib/rspamd.py |
||||
|
Resource ${TESTDIR}/lib/rspamd.robot |
||||
|
Variables ${TESTDIR}/lib/vars.py |
||||
|
|
||||
|
*** Variables *** |
||||
|
${CONFIG} ${TESTDIR}/configs/plugins.conf |
||||
|
${M_DMARC_OK} ${TESTDIR}/messages/dmarc/pass_none.eml |
||||
|
${M_DMARC_BAD} ${TESTDIR}/messages/dmarc/fail_none.eml |
||||
|
${UTF_MESSAGE} ${TESTDIR}/messages/utf.eml |
||||
|
${RSPAMD_SCOPE} Suite |
||||
|
${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat |
||||
|
|
||||
|
*** Test Cases *** |
||||
|
WHITELISTS |
||||
|
${result} = Scan Message With Rspamc ${M_DMARC_OK} -i 8.8.4.4 -F foo@spf.cacophony.za.org |
||||
|
Check Rspamc ${result} WHITELIST_DKIM (-1 |
||||
|
Should Contain ${result.stdout} STRICT_DMARC (-3 |
||||
|
Should Contain ${result.stdout} WHITELIST_DDS (-3 |
||||
|
Should Contain ${result.stdout} WHITELIST_DMARC (-2 |
||||
|
Should Contain ${result.stdout} WHITELIST_DMARC_DKIM (-2 |
||||
|
Should Contain ${result.stdout} WHITELIST_SPF (-1 |
||||
|
Should Not Contain ${result.stdout} BLACKLIST_SPF ( |
||||
|
Should Not Contain ${result.stdout} BLACKLIST_DKIM ( |
||||
|
Should Not Contain ${result.stdout} BLACKLIST_DMARC ( |
||||
|
|
||||
|
BLACKLIST SHOULD FIRE IF ANY CONSTRAINT FAILED |
||||
|
${result} = Scan Message With Rspamc ${M_DMARC_OK} -i 9.8.4.4 -F foo@spf.cacophony.za.org |
||||
|
Check Rspamc ${result} BLACKLIST_DDS (3 |
||||
|
Should Not Contain ${result.stdout} WHITELIST_DDS ( |
||||
|
Should Not Contain ${result.stdout} WHITELIST_SPF ( |
||||
|
|
||||
|
BLACKLISTS |
||||
|
${result} = Scan Message With Rspamc ${M_DMARC_BAD} -i 9.8.4.4 -F foo@cacophony.za.org |
||||
|
Check Rspamc ${result} BLACKLIST_SPF (3 |
||||
|
Should Contain ${result.stdout} BLACKLIST_SPF (3 |
||||
|
Should Contain ${result.stdout} STRICT_DMARC (3 |
||||
|
Should Contain ${result.stdout} BLACKLIST_DDS (3 |
||||
|
Should Contain ${result.stdout} BLACKLIST_DMARC (3 |
||||
|
Should Not Contain ${result.stdout} WHITELIST_DDS ( |
||||
|
Should Not Contain ${result.stdout} WHITELIST_SPF ( |
||||
|
Should Not Contain ${result.stdout} WHITEIST_DKIM ( |
||||
|
Should Not Contain ${result.stdout} WHITELIST_DMARC ( |
||||
|
Should Not Contain ${result.stdout} WHITELIST_DMARC_DKIM ( |
||||
|
|
||||
|
*** Keywords *** |
||||
|
Whitelist Setup |
||||
|
${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/whitelist.conf |
||||
|
Set Suite Variable ${PLUGIN_CONFIG} |
||||
|
Generic Setup PLUGIN_CONFIG |
||||
@ -1,2 +1,3 @@ |
|||||
example.com |
example.com |
||||
#other.com |
|
||||
|
cacophony.za.org |
||||
|
#other.com |
||||
@ -0,0 +1,101 @@ |
|||||
|
dmarc {} |
||||
|
|
||||
|
whitelist { |
||||
|
|
||||
|
rules { |
||||
|
"BLACKLIST_DDS" = { |
||||
|
blacklist = true; |
||||
|
valid_dkim = true; |
||||
|
valid_dmarc = true; |
||||
|
valid_spf = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = 3.0 |
||||
|
} |
||||
|
|
||||
|
"WHITELIST_DDS" = { |
||||
|
valid_dkim = true; |
||||
|
valid_dmarc = true; |
||||
|
valid_spf = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = -3.0 |
||||
|
} |
||||
|
|
||||
|
"WHITELIST_DKIM" = { |
||||
|
valid_dkim = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
description = "Mail comes from the whitelisted domain and has a valid DKIM signature"; |
||||
|
score = -1.0 |
||||
|
} |
||||
|
|
||||
|
"BLACKLIST_DKIM" = { |
||||
|
blacklist = true; |
||||
|
valid_dkim = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = 3.0 |
||||
|
} |
||||
|
|
||||
|
"WHITELIST_SPF" = { |
||||
|
valid_spf = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = -1.0 |
||||
|
description = "Mail comes from the whitelisted domain and has a valid SPF policy"; |
||||
|
} |
||||
|
|
||||
|
"BLACKLIST_SPF" = { |
||||
|
blacklist = true; |
||||
|
valid_spf = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = 3.0 |
||||
|
} |
||||
|
|
||||
|
"WHITELIST_DMARC_DKIM" = { |
||||
|
valid_dmarc = true; |
||||
|
valid_dkim = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = -2.0; |
||||
|
description = "Mail comes from the whitelisted domain and has valid DMARC and DKIM policies"; |
||||
|
} |
||||
|
|
||||
|
"WHITELIST_DMARC" = { |
||||
|
valid_dmarc = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = -2.0; |
||||
|
description = "Mail comes from the whitelisted domain and has valid DMARC policy"; |
||||
|
} |
||||
|
|
||||
|
"BLACKLIST_DMARC" = { |
||||
|
blacklist = true; |
||||
|
valid_dmarc = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = 3.0; |
||||
|
} |
||||
|
|
||||
|
"STRICT_DMARC" = { |
||||
|
strict = true; |
||||
|
valid_dmarc = true; |
||||
|
domains = [ |
||||
|
"${TESTDIR}/configs/maps/domains.list", |
||||
|
]; |
||||
|
score = -3.0; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue