From 9e11b75ec34f9ae33cd024e3ecac9de1169bcd3c Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sat, 16 Feb 2019 11:20:51 -0500 Subject: [PATCH] Avoid AttributeError on simple connection and disconnection Without this patch, this simple script for miltertest: ---- conn = mt.connect("unix:milter.sock") if conn == nil then error "mt.connect() failed" end if mt.conninfo(conn, nil, "unspec") ~= nil then error "mt.conninfo() failed" end if mt.getreply(conn) ~= SMFIR_CONTINUE then error "mt.conninfo() unexpected reply" end mt.disconnect(conn) ---- Produces the following error: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/Milter/__init__.py", line 702, in connect_callback return m.connect(hostname,family,hostaddr) File "/usr/lib/python2.7/dist-packages/Milter/__init__.py", line 173, in wrapper rc = func(self,*args) File "/home/dkg/src/dkimpy-milter/dkimpy-milter/dkimpy_milter/__init__.py", line 64, in connect self.receiver = self.getsymval('j').strip() AttributeError: 'NoneType' object has no attribute 'strip' --- dkimpy_milter/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dkimpy_milter/__init__.py b/dkimpy_milter/__init__.py index 3791748..28971c3 100644 --- a/dkimpy_milter/__init__.py +++ b/dkimpy_milter/__init__.py @@ -61,7 +61,9 @@ class dkimMilter(Milter.Base): self.external_connection = False self.hello_name = None # sometimes people put extra space in sendmail config, so we strip - self.receiver = self.getsymval('j').strip() + self.receiver = self.getsymval('j') + if self.receiver is not None: + self.receiver = self.receiver.strip() try: self.AuthservID = milterconfig['AuthservID'] except: