[Mailman-Users] disable DMARC_ORGANIZATIONAL_DOMAIN_DATA_URL in mailman 2.1
Curtis Villamizar
curtis at ipv6.occnc.com
Tue May 3 15:26:44 EDT 2016
By default DMARC_ORGANIZATIONAL_DOMAIN_DATA_URL is set to
https://publicsuffix.org/list/public_suffix_list.dat
I have mailman set up on an IPv6 only host and publicsuffix.org has no
IPv6 address. A near identical configuration is set up on a dual
stack host. Any email to the IPv6 only host fails with an entry in
logs/error of the form "Unable to retrieve data from
https://publicsuffix.org/list/public_suffix_list.dat: <urlopen error
[Errno 43] Protocol not supported>"
In the mean time I would like to disable the use of
DMARC_ORGANIZATIONAL_DOMAIN_DATA_URL by setting it empty. To do this
it seems that I would need the following change:
--- Mailman/Utils.py.orig 2016-04-09 04:08:56.000000000 -0400
+++ Mailman/Utils.py 2016-05-03 14:37:12.683904000 -0400
@@ -1205,6 +1205,8 @@
Domain which may be the same as the input."""
global s_dict
if not s_dict:
- get_suffixes(mm_cfg.DMARC_ORGANIZATIONAL_DOMAIN_DATA_URL)
+ if mm_cfg.DMARC_ORGANIZATIONAL_DOMAIN_DATA_URL:
+ get_suffixes(mm_cfg.DMARC_ORGANIZATIONAL_DOMAIN_DATA_URL)
hits = []
d = domain.lower().split('.')
This works for .com, .org, .net, etc but not for things like co.uk,
etc (which in my case is not an issue).
A second question is why does failing to access publicsuffix.org
result in a hard fail rather than a soft fail? The change I made just
skips over get_suffixes and leaves s_dict empty. It seems that
get_suffixes does do a try and except which logs and returns, but then
the mail gets rejected and the reason is not clear to me. In
logs/smtp-failure there is a message of the form "failed with code
554: 5.7.1 <fqdn[ipv6addr]>: Client host rejected: Access denied".
Curtis
More information about the Mailman-Users
mailing list