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