Handle null in header value.

This commit is contained in:
Stuart Gathman
2007-01-26 03:47:23 +00:00
parent 21e3c6f489
commit 4d69b8fbfe
2 changed files with 16 additions and 9 deletions
+14 -8
View File
@@ -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:
+1
View File
@@ -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