diff --git a/Milter/cache.py b/Milter/cache.py index 94df3b1ec7b7e6d9da51eb99b0de17abe43f0a59..8de1fcfd5d2e8bb0b74f6d6186fb590bc523b1ba 100644 --- a/Milter/cache.py +++ b/Milter/cache.py @@ -10,6 +10,9 @@ # CBV results. # # $Log$ +# Revision 1.1 2007/01/05 21:25:40 customdesigned +# Move AddrCache to Milter package. +# # Author: Stuart D. Gathman <stuart@bmsi.com> # Copyright 2001,2002,2003,2004,2005 Business Management Systems, Inc. @@ -68,6 +71,8 @@ class AddrCache(object): pass return False + __contains__ = has_key + def __getitem__(self,sender): try: lsender = sender.lower() diff --git a/bms.py b/bms.py index c102f2f1d0e374e661609075000b1102f9c8b00b..9a430a59abb369f8e410d27c10eec7233e9fd305 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.80 2007/01/05 23:12:12 customdesigned +# Move parse_addr, iniplist, ip4re to Milter.utils +# # Revision 1.79 2007/01/05 21:25:40 customdesigned # Move AddrCache to Milter package. # @@ -466,13 +469,11 @@ class SPFPolicy(object): from Milter.cache import AddrCache cbv_cache = AddrCache(renew=7) -cbv_cache.load('send_dsn.log',age=7) +cbv_cache.load('send_dsn.log',age=30) auto_whitelist = AddrCache(renew=30) auto_whitelist.load('auto_whitelist.log',age=120) -try: - blacklist = set(open('blacklist.log').read().split()) -except: - blacklist = {} +blacklist = AddrCache(renew=30) +blacklist.load('blacklist.log',age=60) class bmsMilter(Milter.Milter): """Milter to replace attachments poisonous to Windows with a WARNING message, diff --git a/milter.spec b/milter.spec index 4da9f8bed71fe670e31078d3a24eb0252b658df5..875f16ba936b47249a3f482b9cbfd02021127776 100644 --- a/milter.spec +++ b/milter.spec @@ -176,6 +176,9 @@ rm -rf $RPM_BUILD_ROOT /usr/share/sendmail-cf/hack/rhsbl.m4 %changelog +* Fri Jan 05 2007 Stuart Gathman <stuart@bmsi.com> 0.8.8-1 +- Move AddrCache, parse_addr, iniplist to Milter package +- add sample spfmilter.py milter * Sat Nov 04 2006 Stuart Gathman <stuart@bmsi.com> 0.8.7-1 - More lame bounce heuristics - SPF moved to pyspf RPM diff --git a/testcache.py b/testcache.py index e14ca9513df61d64735ee41c55f72f10428a2ed6..a3cd9ec33cad5fafbbd4ff793a104dce962781d4 100644 --- a/testcache.py +++ b/testcache.py @@ -19,6 +19,7 @@ class AddrCacheTestCase(unittest.TestCase): cache['temp@bar.com'] = 'testing' self.failUnless(cache.has_key('foo@bar.com')) self.failUnless(not cache.has_key('hello@bar.com')) + self.failUnless('baz@bar.com' in cache) self.assertEquals(cache['temp@bar.com'],'testing') s = open(self.fname).readlines() self.failUnless(len(s) == 2)