From 977379d169b3dd5ce3858bfc16fec2bb22e77455 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Mon, 6 Jan 2025 15:12:35 +0100 Subject: [PATCH] Changes to spam filter tests --- tests/resources/smtp/antispam/dmarc.test | 22 ------------ tests/resources/smtp/antispam/recipient.test | 37 ++++++++++++++++++++ tests/src/smtp/inbound/antispam.rs | 3 +- 3 files changed, 39 insertions(+), 23 deletions(-) diff --git a/tests/resources/smtp/antispam/dmarc.test b/tests/resources/smtp/antispam/dmarc.test index 654ce07d..3f2dcade 100644 --- a/tests/resources/smtp/antispam/dmarc.test +++ b/tests/resources/smtp/antispam/dmarc.test @@ -51,28 +51,6 @@ expect ARC_DNSFAIL DMARC_BAD_POLICY DKIM_PERMFAIL SPF_SOFTFAIL Subject: test Test - -dmarc.result pass -dkim.result pass -spf.result pass -expect ALLOWLIST_DMARC DMARC_POLICY_ALLOW DKIM_ALLOW SPF_ALLOW ARC_NA - -From: user@dmarc-allow.org -Subject: test - -Test - - -dmarc.result fail -dkim.result fail -spf.result fail -expect BLOCKLIST_DMARC DMARC_POLICY_SOFTFAIL DKIM_REJECT SPF_FAIL ARC_NA - -From: user@dmarc-allow.org -Subject: test - -Test - dkim.result pass dkim.domains spf-dkim-allow.org diff --git a/tests/resources/smtp/antispam/recipient.test b/tests/resources/smtp/antispam/recipient.test index 2778a04e..f3797b5d 100644 --- a/tests/resources/smtp/antispam/recipient.test +++ b/tests/resources/smtp/antispam/recipient.test @@ -1,18 +1,21 @@ expect MISSING_TO RCPT_COUNT_ZERO X-To: hello@world.com +Subject: Hi Test expect RCPT_COUNT_ONE TO_DN_ALL To: "Hello World" +Subject: Hi Test expect RCPT_COUNT_ONE TO_DN_NONE TAGGED_RCPT To: hello+there@world.com +Subject: Hi Test @@ -21,6 +24,7 @@ expect TO_DN_RECIPIENTS RCPT_COUNT_TWO TO_DN_SOME To: "recipients" Cc: other@user.org +Subject: Hi Test @@ -45,6 +49,7 @@ expect RCPT_BOUNCEMOREONE TO_MATCH_ENVRCPT_ALL TO_DN_NONE RCPT_COUNT_TWO To: hello@world.com Cc: goodbye@world.com +Subject: Hi Test @@ -55,12 +60,14 @@ expect RCPT_BOUNCEMOREONE TO_MATCH_ENVRCPT_SOME TO_DN_NONE RCPT_COUNT_THREE To: hello@world.com, test@domain.com Cc: goodbye@world.com +Subject: Hi Test expect RCPT_COUNT_ZERO UNDISC_RCPT To: Undisclosed recipients:; +Subject: Hi Test @@ -70,6 +77,7 @@ expect TO_DN_ALL RCPT_COUNT_ONE List-Id: To: "Mailing List" +Subject: Hi Test @@ -78,6 +86,7 @@ envelope_to hello@world.com expect FORGED_RECIPIENTS TO_NEEDS_ENCODING TO_DN_ALL RCPT_COUNT_ONE To: "Thé Spámmer" +Subject: Hi Test @@ -87,6 +96,7 @@ envelope_to user@domain.org expect TO_DN_ALL TO_MATCH_ENVRCPT_ALL RCPT_COUNT_ONE To: "Hello World" +Subject: Hi Test @@ -96,6 +106,7 @@ envelope_to user@domain.org expect TO_EXCESS_QP TO_DN_ALL TO_MATCH_ENVRCPT_ALL RCPT_COUNT_ONE To: "=?iso-8859-1?Q?Die_Hasen_und_die_Froesche?=" +Subject: Hi Test @@ -105,6 +116,7 @@ envelope_to user@domain.org expect TO_EXCESS_BASE64 TO_DN_ALL TO_MATCH_ENVRCPT_ALL RCPT_COUNT_ONE To: "=?iso-8859-1?B?RGllIEhhc2VuIHVuIGRpZSBGcm9lc2NoZQ==?=" +Subject: Hi Test @@ -113,6 +125,7 @@ expect FREEMAIL_TO DISPOSABLE_CC RCPT_COUNT_TWO TO_DN_NONE To: user@gmail.com Cc: otheruser@guerrillamail.com +Subject: Hi Test @@ -122,6 +135,7 @@ expect FREEMAIL_CC DISPOSABLE_TO DISPOSABLE_BCC RCPT_COUNT_THREE TO_DN_NONE To: otheruser@guerrillamail.com Cc: user@gmail.com Bcc: some@guerrillamail.com +Subject: Hi Test @@ -130,6 +144,7 @@ expect SORTED_RECIPS RCPT_COUNT_SEVEN TO_DN_NONE To: a@domain.com, b@domain.com, c@domain.com, d@domain.com Cc: e@domain.com, f@domain.com, g@domain.com +Subject: Hi Test @@ -138,6 +153,7 @@ expect RCPT_COUNT_SEVEN TO_DN_NONE To: tom@domain.com, mark@domain.com, bill@domain.com, peter@domain.com Cc: jane@domain.com, mary@domain.com, lucy@domain.com +Subject: Hi Test @@ -146,6 +162,7 @@ expect SUSPICIOUS_RECIPS RCPT_COUNT_SEVEN TO_DN_NONE To: tim@domain.com, tom@domain.com, tum@domain.com, tem@domain.com Cc: tam@domain.com, tron@domain.com, tym@domain.com +Subject: Hi Test @@ -156,6 +173,7 @@ expect INFO_TO_INFO_LU RCPT_COUNT_ONE TO_MATCH_ENVRCPT_ALL TO_DN_NONE From: info@notalist.org To: info@notalist.org List-Unsubscribe: +Subject: Hi Test @@ -165,6 +183,7 @@ expect RCPT_COUNT_ONE TO_MATCH_ENVRCPT_ALL TO_DN_NONE From: info@notalist.org To: info@notalist.org +Subject: Hi Test @@ -176,6 +195,7 @@ expect TO_WRAPPED_IN_SPACES RCPT_COUNT_TWO TO_MATCH_ENVRCPT_ALL TO_DN_NONE From: hello@test.org To: < user@test.org > Cc: test@test.org +Subject: Hi Test @@ -187,6 +207,7 @@ expect TO_WRAPPED_IN_SPACES RCPT_COUNT_TWO TO_MATCH_ENVRCPT_ALL TO_DN_SOME From: hello@test.org To: user@test.org Cc: "Test" +Subject: Hi Test @@ -196,3 +217,19 @@ To: hello@world.com Subject: Special offer An offer for hello@world.com + +expect RCPT_DOMAIN_IN_MESSAGE RCPT_IN_BODY RCPT_DOMAIN_IN_SUBJECT RCPT_COUNT_ONE TO_DN_NONE + +To: hello@world.com +Subject: Message for world.com + +An offer for hello@world.com + + +expect RCPT_DOMAIN_IN_MESSAGE RCPT_DOMAIN_IN_BODY RCPT_DOMAIN_IN_SUBJECT RCPT_COUNT_ONE TO_DN_NONE + +To: hello@world.com +Subject: Message for world.com + +An offer for world.com + diff --git a/tests/src/smtp/inbound/antispam.rs b/tests/src/smtp/inbound/antispam.rs index 428c2cc3..72a16373 100644 --- a/tests/src/smtp/inbound/antispam.rs +++ b/tests/src/smtp/inbound/antispam.rs @@ -114,7 +114,6 @@ allow-invalid-certs = true "hta" = "BAD|NZ" } [lookup] "url-redirectors" = {"bit.ly", "redirect.io", "redirect.me", "redirect.org", "redirect.com", "redirect.net", "t.ly", "tinyurl.com"} -"known-dmarc-domains" = {"dmarc-allow.org"} "spam-traps" = {"spamtrap@*"} "trusted-domains" = {"stalw.art"} "freemail-providers" = {"gmail.com", "googlemail.com", "yahoomail.com", "outlook.com", "*freemail.org"} @@ -549,6 +548,8 @@ async fn antispam() { spam_ctx.result.tags.retain(|t| t.starts_with("X_HDR_")); server.spam_filter_analyze_recipient(&mut spam_ctx).await; server.spam_filter_analyze_domain(&mut spam_ctx).await; + server.spam_filter_analyze_subject(&mut spam_ctx).await; + server.spam_filter_analyze_url(&mut spam_ctx).await; server.spam_filter_analyze_rules(&mut spam_ctx).await; spam_ctx.result.tags.retain(|t| !t.starts_with("X_HDR_")); }