Handle null in header value.
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# A simple milter that has grown quite a bit.
|
# A simple milter that has grown quite a bit.
|
||||||
# $Log$
|
# $Log$
|
||||||
|
# Revision 1.91 2007/01/25 22:47:25 customdesigned
|
||||||
|
# Persist blacklisting from delayed DSNs.
|
||||||
|
#
|
||||||
# Revision 1.90 2007/01/23 19:46:20 customdesigned
|
# Revision 1.90 2007/01/23 19:46:20 customdesigned
|
||||||
# Add private relay.
|
# Add private relay.
|
||||||
#
|
#
|
||||||
@@ -701,11 +704,10 @@ class bmsMilter(Milter.Milter):
|
|||||||
elif hres == 'pass':
|
elif hres == 'pass':
|
||||||
qual = 'HELO'
|
qual = 'HELO'
|
||||||
domain = self.spf.h
|
domain = self.spf.h
|
||||||
elif self.missing_ptr and self.spf.result == 'none':
|
|
||||||
qual = 'IP'
|
|
||||||
domain = self.connectip
|
|
||||||
else:
|
else:
|
||||||
qual = self.connectip
|
# No good identity: blame purported domain. Qualify by SPF
|
||||||
|
# result so NEUTRAL will get separate reputation from SOFTFAIL.
|
||||||
|
qual = res
|
||||||
try:
|
try:
|
||||||
umis = gossip.umis(domain+qual,self.id+time.time())
|
umis = gossip.umis(domain+qual,self.id+time.time())
|
||||||
res,hdr,val = gossip_node.query(umis,domain,qual,1)
|
res,hdr,val = gossip_node.query(umis,domain,qual,1)
|
||||||
@@ -945,8 +947,8 @@ class bmsMilter(Milter.Milter):
|
|||||||
self.reject_spam = False
|
self.reject_spam = False
|
||||||
self.smart_alias(to)
|
self.smart_alias(to)
|
||||||
# get recipient after virtusertable aliasing
|
# get recipient after virtusertable aliasing
|
||||||
rcpt = self.getsymval("{rcpt_addr}")
|
#rcpt = self.getsymval("{rcpt_addr}")
|
||||||
self.log("rcpt-addr",rcpt);
|
#self.log("rcpt-addr",rcpt);
|
||||||
return Milter.CONTINUE
|
return Milter.CONTINUE
|
||||||
|
|
||||||
# Heuristic checks for spam headers
|
# Heuristic checks for spam headers
|
||||||
@@ -1480,8 +1482,12 @@ class bmsMilter(Milter.Milter):
|
|||||||
|
|
||||||
for name,val,idx in self.new_headers:
|
for name,val,idx in self.new_headers:
|
||||||
try:
|
try:
|
||||||
self.addheader(name,val,idx)
|
try:
|
||||||
except:
|
self.addheader(name,val,idx)
|
||||||
|
except TypeError:
|
||||||
|
val = val.replace('\x00',r'\x00')
|
||||||
|
self.addheader(name,val,idx)
|
||||||
|
except milter.error:
|
||||||
self.addheader(name,val) # older sendmail can't insheader
|
self.addheader(name,val) # older sendmail can't insheader
|
||||||
|
|
||||||
if self.cbv_needed:
|
if self.cbv_needed:
|
||||||
|
|||||||
@@ -182,6 +182,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
- fix plock for missing source and can't change owner/group
|
- fix plock for missing source and can't change owner/group
|
||||||
- add sample spfmilter.py milter
|
- add sample spfmilter.py milter
|
||||||
- private_relay config option
|
- private_relay config option
|
||||||
|
- persist delayed DSN blacklisting
|
||||||
* Sat Nov 04 2006 Stuart Gathman <stuart@bmsi.com> 0.8.7-1
|
* Sat Nov 04 2006 Stuart Gathman <stuart@bmsi.com> 0.8.7-1
|
||||||
- More lame bounce heuristics
|
- More lame bounce heuristics
|
||||||
- SPF moved to pyspf RPM
|
- SPF moved to pyspf RPM
|
||||||
|
|||||||
Reference in New Issue
Block a user