Package: python3-milter
Version: 1.0.3-2
Severity: normal
Tags: patch, upstream

0 dkg@alice:~$ ipython3
Python 3.7.2+ (default, Feb  2 2019, 14:31:48) 
Type "copyright", "credits" or "license" for more information.

IPython 5.8.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import Milter.utils

In [2]: Milter.utils.parseaddr('Daniel Kahn Gillmor <d...@fifthhorseman.net>')
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-2-1d0e7b5b4ed6> in <module>()
----> 1 Milter.utils.parseaddr('Daniel Kahn Gillmor <d...@fifthhorseman.net>')

/usr/lib/python3/dist-packages/Milter/utils.py in parseaddr(t)
    137   """
    138   #return email.utils.parseaddr(t)
--> 139   res = email.utils.parseaddr(t)
    140   # dirty fix for some broken cases
    141   if not res[0]:

AttributeError: module 'email' has no attribute 'utils'

In [3]: 



------

weirdly, it doesn't have the same problem in python2:


0 dkg@alice:~$ ipython
Python 2.7.15+ (default, Feb  3 2019, 13:13:16) 
Type "copyright", "credits" or "license" for more information.

IPython 5.8.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import Milter.utils

In [2]: Milter.utils.parseaddr('Daniel Kahn Gillmor <d...@fifthhorseman.net>'
   ...: )
Out[2]: ('Daniel Kahn Gillmor', 'd...@fifthhorseman.net')

In [3]:                                                                    

I don't know how to account for this difference, but i'd say that
pymilter probably needs more testing.

A simple patch is attached.

         --dkg

-- System Information:
Debian Release: buster/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 
'unstable-debug'), (200, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python3-milter depends on:
ii  libc6           2.28-6
ii  libmilter1.0.1  8.15.2-12
ii  python3         3.7.2-1
ii  python3-dns     3.2.0-2

python3-milter recommends no packages.

Versions of packages python3-milter suggests:
ii  postfix            3.3.2-1+b1
pn  python-milter-doc  <none>

-- no debconf information
From: Daniel Kahn Gillmor <d...@fifthhorseman.net>
Date: Tue, 19 Feb 2019 18:20:18 -0500
Subject: utils: import email.utils

Without this patch, Milter.utils.parseaddr() fails with:

  File "/usr/lib/python3/dist-packages/Milter/utils.py", line 139, in parseaddr
    res = email.utils.parseaddr(t)
AttributeError: module 'email' has no attribute 'utils'
---
 Milter/utils.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Milter/utils.py b/Milter/utils.py
index 2ed5db8..85fd635 100644
--- a/Milter/utils.py
+++ b/Milter/utils.py
@@ -8,6 +8,7 @@ import socket
 import email.errors
 from email.header import decode_header
 import email.base64mime
+import email.utils
 from fnmatch import fnmatchcase
 from binascii import a2b_base64
 

Reply via email to