diff --git a/bms.py b/bms.py index d7d0c07..eb862b7 100644 --- a/bms.py +++ b/bms.py @@ -1,6 +1,9 @@ #!/usr/bin/env python # A simple milter that has grown quite a bit. # $Log$ +# Revision 1.72 2006/11/22 16:31:22 customdesigned +# SRS domains were missing srs_reject check when SES was active. +# # Revision 1.71 2006/11/22 01:03:28 customdesigned # Replace last use of deprecated rfc822 module. # @@ -807,14 +810,19 @@ class bmsMilter(Milter.Milter): or domain in blacklist: self.blacklist = True self.log("BLACKLIST",self.canon_from) + global gossip if gossip and domain and rc == Milter.CONTINUE: if self.spf and self.spf.result == 'pass': qual = 'SPF' else: qual = self.connectip - self.umis = gossip.umis(domain+qual,self.id+time.time()) - res,hdr,val = gossip_node.query(self.umis,domain,qual,1) - self.add_header(hdr,val) + try: + self.umis = gossip.umis(domain+qual,self.id+time.time()) + res,hdr,val = gossip_node.query(self.umis,domain,qual,1) + self.add_header(hdr,val) + except: + gossip = None + raise return rc def check_spf(self): @@ -958,8 +966,8 @@ class bmsMilter(Milter.Milter): def envrcpt(self,to,*str): # mail to MAILER-DAEMON is generally spam that bounced if to.startswith(' 1: + self.log("REJECT: DSN to multiple recipients") + self.setreply('550','5.7.1', 'DSN to multiple recipients') + return Milter.REJECT + try: # check for delayed bounce if self.delayed_failure: diff --git a/doc/links.h b/doc/links.h index 6ad3f67..0696c85 100644 --- a/doc/links.h +++ b/doc/links.h @@ -16,5 +16,6 @@
  • Sendmail.Org
  • SPF
  • pysrs +
  • pyspf
  • pydspam
  • libdspam