
Thus spake Mark Sapiro:
On 05/28/2014 10:28 PM, Stephen J. Turnbull wrote:
Mark Sapiro writes:
If there are no 'DMARC' entries in Mailman's logs, it most likely means the imports I show above didn't succeed in the python that Mailman is using, in which case dmarc_moderaction_action will not be done at all.
If dmarc_moderation_action is not none (precisely speaking, "accept", I think?), and the dnspython import fails, Mailman should log this.
Agreed.
I added two lines to Util.py as a diagnostic: --- /usr/lib/mailman/Mailman/Utils.py~ 2014-05-29 15:51:38.739320749 +0200 +++ /usr/lib/mailman/Mailman/Utils.py 2014-05-29 15:59:18.713685775 +0200 @@ -1069,8 +1069,10 @@ # This takes an email address, and returns True if DMARC policy is p=reject # or possibly quarantine. def IsDMARCProhibited(mlist, email): + syslog('error', 'in IsDMARCProhibited()') if not dns_resolver: - return False + syslog('error', 'dns_resolver == False') + return False email = email.lower() at_sign = email.find('@') After sending a message to the list, what I see in /var/log/mailman/error is: May 29 16:01:36 2014 (30524) in IsDMARCProhibited() and nothing else. So: 1) IsDMARCProhibited() is running for me. 2) dns_resolver was *not* false. It looks like this rules out an ImportError in my case, since the only way dns_resolver can be set to false is in the event of an ImportError (see line 79). It's good to fix the bug you noted regardless, but something else is failing silently for me. -- J.