Public bug reported:
Attempted to path mailman 2.1.17 with a simple MX record check on web-
based subscribers.
Running Debian 7.4
python 2.7.3-4+deb7u1
python-dns 2.3.6-1+deb7u1
Python-dns installed to /usr/lib/python2.7/dist-packages/DNS
Attempted patches follow
dragon@quantum:/usr/local/mailman/Mailman/Cgi
$ diff subscribe.py subscribe.py.dns
212a213,221
> except Errors.MMBadEmailHostNotFoundError:
> results = _("""\
> The email address you supplied is not valid. Host not found.""")
> except Errors.MMBadEmailMXRecordNotFoundError:
> results = _("""\
> The email address you supplied does not have a MX record.""")
> except Errors.MMBadEmailUnknownDNSError:
> results = _("""\
> The email address you supplied had some unknown DNS error.""")
dragon@quantum:/usr/local/mailman/Mailman
$ diff Utils.py Utils.py.dns
40a41
> import DNS
237a239,247
> # MX Record sanity checks
> try:
> mx_host - DNS.mxlookup(domain_parts)
> if len(mx_host) < 1:
> raise Errors.MMBadEmailMXRecordNotFoundError, s
> except DNS.Base.ServerError:
> raise Errors.MMBadEmailHostNotFoundError, s
> except:
> raise Errors.MMBadEmailUnknownDNSError, s
dragon@quantum:/usr/local/mailman/Mailman
$ diff Errors.py Errors.py.dns
98a99,110
> class MMBadEmailHostNotFoundError(EmailAddressError):
> """Email address domain name does not resolve to a known host."""
> pass
>
> class MMBadEmailMXRecordNotFoundError(EmailAddressError):
> """Email address domain name does not have a MX record."""
> pass
>
> class MMBadEmailUnknownDNSError(EmailAddressError):
> """Email address domain name had unknown DNS error."""
> pass
>
When running said patches, mailman complained with:
admin(13907): [----- Mailman Version: 2.1.17 -----]
admin(13907): [----- Traceback ------]
admin(13907): Traceback (most recent call last):
admin(13907): File "/usr/local/mailman-2.1.17/scripts/driver", line 102, in
run_main
admin(13907): pkg = __import__('Mailman.Cgi', globals(), locals(),
[scriptname])
admin(13907): File "/usr/local/mailman-2.1.17/Mailman/Cgi/confirm.py", line
27, in <module>
admin(13907): from Mailman import MailList
admin(13907): File "/usr/local/mailman-2.1.17/Mailman/MailList.py", line 45,
in <module>
admin(13907): from Mailman import Utils
admin(13907): File "/usr/local/mailman-2.1.17/Mailman/Utils.py", line 41, in
<module>
admin(13907): import DNS
admin(13907): ImportError: No module named DNS
admin(13907): [----- Python Information -----]
admin(13907): sys.version = 2.7.3 (default, Jan 2 2013, 13:56:14)
[GCC 4.7.2]
admin(13907): sys.executable = /usr/bin/python
admin(13907): sys.prefix = /usr
admin(13907): sys.exec_prefix = /usr
admin(13907): sys.path = ['/usr/local/mailman-2.1.17/pythonlib',
'/usr/local/mailman-2.1.17', '/usr/local/mailman-2.1.17/scripts',
'/usr/local/mailman-2.1.17', '/usr/lib/python2.7/',
'/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
'/usr/lib/python2.7/site-packages']
admin(13907): sys.platform = linux2
AFAICS, it seems like Utils.py isn't locating the system wide python-dns
library.
How do I modify the sys.path to include python-dns under
/usr/lib/python2.7/dist-packages?
Thanks
** Affects: mailman
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
https://bugs.launchpad.net/bugs/1287604
Title:
Enhancement: Sanity Check Subscribers MX Record
To manage notifications about this bug go to:
https://bugs.launchpad.net/mailman/+bug/1287604/+subscriptions
_______________________________________________
Mailman-coders mailing list
[email protected]
https://mail.python.org/mailman/listinfo/mailman-coders