You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2005/01/21 22:23:46 UTC
svn commit: r125964 - /spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm /spamassassin/trunk/rules/20_dnsbl_tests.cf /spamassassin/trunk/rules/50_scores.cf
Author: felicity
Date: Fri Jan 21 13:23:45 2005
New Revision: 125964
URL: http://svn.apache.org/viewcvs?view=rev&rev=125964
Log:
bug 3998: add support for accreditor service, habeas v2
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm
spamassassin/trunk/rules/20_dnsbl_tests.cf
spamassassin/trunk/rules/50_scores.cf
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm
Url: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm?view=diff&rev=125964&p1=spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm&r1=125963&p2=spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm&r2=125964
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm Fri Jan 21 13:23:45 2005
@@ -1351,10 +1351,20 @@
check_rbl_sub(@_);
}
-# check a RBL if a message is Habeas SWE
+# Check a RBL if a message is Habeas SWE.
+# Test is skipped if the SWE 2.0 "Reputation Tag" is matched in the
+# Envelope From address. Otherwise transitional senders would get a
+# double bonus. <cs...@habeas.com>
+#
sub check_rbl_swe {
my ($self, $rule, $set, $rbl_server, $subtest) = @_;
+ if (!defined $self->{envelope_accreditor_tag}) {
+ $self->message_envelope_accreditor_tag();
+ }
+ if ($self->{envelope_accreditor_tag}) {
+ return 0;
+ }
if (!defined $self->{habeas_swe}) {
$self->message_is_habeas_swe();
}
@@ -1364,6 +1374,22 @@
return 0;
}
+# check an RBL if "--accreditor" tag is in Envelope From.
+# <cs...@habeas.com>
+#
+sub check_rbl_accreditor {
+ my ($self, $rule, $set, $rbl_server, $subtest, $accreditor) = @_;
+
+ if (!defined $self->{envelope_accreditor_tag}) {
+ $self->message_envelope_accreditor_tag();
+ }
+ if ($self->{envelope_accreditor_tag} eq $accreditor) {
+ $self->check_rbl_backend($rule, $set, $rbl_server, 'A', $subtest);
+ }
+ return 0;
+}
+
+
# this only checks the address host name and not the domain name because
# using the domain name had much worse results for dsn.rfc-ignorant.org
sub check_rbl_from_host {
@@ -2107,6 +2133,16 @@
}
return $self->{habeas_swe};
+}
+
+sub message_envelope_accreditor_tag {
+ my ($self) = @_;
+
+ if ($self->get('EnvelopeFrom:addr') =~ /[@.]a--([a-z0-9]{3,})\./i) {
+ ($self->{envelope_accreditor_tag} = $1) =~ tr/A-Z/a-z/;
+ return;
+ }
+ $self->{envelope_accreditor_tag} = "";
}
###########################################################################
Modified: spamassassin/trunk/rules/20_dnsbl_tests.cf
Url: http://svn.apache.org/viewcvs/spamassassin/trunk/rules/20_dnsbl_tests.cf?view=diff&rev=125964&p1=spamassassin/trunk/rules/20_dnsbl_tests.cf&r1=125963&p2=spamassassin/trunk/rules/20_dnsbl_tests.cf&r2=125964
==============================================================================
--- spamassassin/trunk/rules/20_dnsbl_tests.cf (original)
+++ spamassassin/trunk/rules/20_dnsbl_tests.cf Fri Jan 21 13:23:45 2005
@@ -202,6 +202,26 @@
#reuse RCVD_IN_WHOIS_INVALID RCVD_IN_RFC_IPWHOIS
# ---------------------------------------------------------------------------
+# Habeas Accredited Senders
+# Last octet of the returned A record indicates the Habeas-assigned
+# "Accreditation Level" of the Sender.
+# 10 to 39 Personal, transactional, and Confirmed Opt In
+# 40 to 59 Secure referrals and Single Opt In
+# 60 to 99 Checked but not accredited by Habeas.
+#
+# sa-accredit.habeas.com is for SpamAssassin use.
+#
+header HABEAS_ACCREDITED_COI eval:check_rbl_accreditor('accredit-firsttrusted', 'sa-accredit.habeas.com.', '127\.\d+\.\d+\.[123]\d', 'habeas')
+describe HABEAS_ACCREDITED_COI Habeas Accredited Confirmed Opt-In or Better
+tflags HABEAS_ACCREDITED_COI net nice
+header HABEAS_ACCREDITED_SOI eval:check_rbl_accreditor('accredit-firsttrusted', 'sa-accredit.habeas.com.', '127\.\d+\.\d+\.[45]\d', 'habeas')
+describe HABEAS_ACCREDITED_SOI Habeas Accredited Opt-In or Better
+tflags HABEAS_ACCREDITED_SOI net nice
+header HABEAS_CHECKED eval:check_rbl_accreditor('accredit-firsttrusted', 'sa-accredit.habeas.com.', '127\.\d+\.\d+\.[6789]\d', 'habeas')
+describe HABEAS_CHECKED Habeas Checked
+tflags HABEAS_CHECKED net nice
+
+# ---------------------------------------------------------------------------
# Now, single zone BLs follow:
# DSBL catches open relays, badly-installed CGI scripts and open SOCKS and
@@ -231,6 +251,7 @@
tflags DNS_FROM_SECURITYSAGE net
#reuse DNS_FROM_SECURITYSAGE
+# Habeas Legacy support: the Habeas Infringers blocklist.
# sa-hil.habeas.com for SpamAssassin queries
# hil.habeas.com for other queries
header HABEAS_INFRINGER eval:check_rbl_swe('hil', 'sa-hil.habeas.com.')
@@ -238,9 +259,11 @@
tflags HABEAS_INFRINGER net
#reuse HABEAS_INFRINGER
+# Habeas Legacy support: the Habeas Users whitelist. This list contains users
+# from accredit.habeas.com at "accreditation level" 10 to 39.
# sa-hul.habeas.com for SpamAssassin queries
# hul.habeas.com for other queries
-header HABEAS_USER eval:check_rbl_swe('hul', 'sa-hul.habeas.com.')
+header HABEAS_USER eval:check_rbl_swe('hul-firsttrusted', 'sa-hul.habeas.com.')
describe HABEAS_USER Has Habeas warrant mark and on User List
tflags HABEAS_USER net nice
#reuse HABEAS_USER
Modified: spamassassin/trunk/rules/50_scores.cf
Url: http://svn.apache.org/viewcvs/spamassassin/trunk/rules/50_scores.cf?view=diff&rev=125964&p1=spamassassin/trunk/rules/50_scores.cf&r1=125963&p2=spamassassin/trunk/rules/50_scores.cf&r2=125964
==============================================================================
--- spamassassin/trunk/rules/50_scores.cf (original)
+++ spamassassin/trunk/rules/50_scores.cf Fri Jan 21 13:23:45 2005
@@ -602,6 +602,9 @@
score RCVD_IN_BSP_TRUSTED 0 -4.3 0 -4.3
# Habeas: http://www.habeas.com/
+score HABEAS_ACCREDITED_COI 0 -8.0 0 -8.0
+score HABEAS_ACCREDITED_SOI 0 -4.0 0 -4.0
+score HABEAS_CHECKED 0 -0.2 0 -0.2
score HABEAS_INFRINGER 0 16.0 0 16.0
score HABEAS_USER 0 -8.0 0 -8.0