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 |
|||
#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