What can cause "Munge From" (from_is_list) to have no effect?
I'm having trouble with a Mailman install which I maintain for a charity (2.1.39_1 on FreeBSD 12.3-p5)
In diagnosing a DMARC "FAIL" reported in Gmail I notice that some settings are having absolutely no effect:
from_is_list dmarc_moderation_action dmarc_quarantine_moderation_action dmarc_none_moderation_action
So in my testing today, at no point have I been able to get Mailman to "Munge From" or "Wrap Message" in any way.
Other nearby settings work, so I am able to change the config; it's the correct list etc. I've also tried re-starting. Logs in /usr/local/mailman/log aren't showing any errors or hints.
As some feedback, an FAQ [*] mentions ALLOW_FROM_IS_LIST; setting this has no impact, not suprising as the source code doesn't seem to mention this string anyway. Reading more carefully, I can see this doesn't apply to the current version; perhaps someone with Wiki access might consider the manner it's written, whilst technically correct, is a little backward/confusing, or removing old information.
[*] https://wiki.list.org/DOC/What%20can%20I%20do%20about%20members%20being%20un...
Many thanks
-- Mark
On 6/14/22 15:07, Mark Hills wrote:
In diagnosing a DMARC "FAIL" reported in Gmail I notice that some settings are having absolutely no effect:
from_is_list dmarc_moderation_action dmarc_quarantine_moderation_action dmarc_none_moderation_action
So in my testing today, at no point have I been able to get Mailman to "Munge From" or "Wrap Message" in any way.
Do you have a definition of GLOBAL_PIPELINE
in mm_cfg.py or a setting
for pipeline
in the list's config.pck.
If so, do these include the WrapMessage
handler?
Other nearby settings work, so I am able to change the config; it's the correct list etc. I've also tried re-starting. Logs in /usr/local/mailman/log aren't showing any errors or hints.
As some feedback, an FAQ [*] mentions ALLOW_FROM_IS_LIST; setting this has no impact, not suprising as the source code doesn't seem to mention this string anyway. Reading more carefully, I can see this doesn't apply to the current version; perhaps someone with Wiki access might consider the manner it's written, whilst technically correct, is a little backward/confusing, or removing old information.
I changed the line
1) If you have Mailman 2.1.16 or later, set
to
1) If you have Mailman 2.1.16 or 2.1.17, set
Does that help?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Tue, 14 Jun 2022, Mark Sapiro wrote:
On 6/14/22 15:07, Mark Hills wrote:
In diagnosing a DMARC "FAIL" reported in Gmail I notice that some settings are having absolutely no effect:
from_is_list dmarc_moderation_action dmarc_quarantine_moderation_action dmarc_none_moderation_action
So in my testing today, at no point have I been able to get Mailman to "Munge From" or "Wrap Message" in any way.
Do you have a definition of
GLOBAL_PIPELINE
in mm_cfg.py or a setting forpipeline
in the list's config.pck.If so, do these include the
WrapMessage
handler?
Not the exact problem, but thanks for setting me on the right path.
There _was_ the following in mm_cfg.py for some time:
GLOBAL_PIPELINE.insert(GLOBAL_PIPELINE.index('Approve'), 'SizeLimit')
I removed this completely and repeated the test; no change.
It took me a while but I eventually worked out I needed to refresh the pipeline of the individual lists, with something like:
echo "del mlist.pipeline" | config_list -i /dev/stdin mylist
This command succeeded the first time; successive attempts failed with:
AttributeError: MailList instance has no attribute 'pipeline'
which seems to suggest where was a list-specific pipeline, but no more.
So I think what's happened here is our lists ended up with a pipeline definition fixed into each list. It's possibly someting from a series of upgrades; there's never been a reason to want to maintain a separate pipeline for each list (only to ensure the "SizeLimit" above applied to all lists on the system.)
We have a script periodically using config_list to set "known good" values on every list. To prevent the problem above happening again, I've added the following:
if hasattr(mlist, 'pipeline'): del mlist.pipeline
Other nearby settings work, so I am able to change the config; it's the correct list etc. I've also tried re-starting. Logs in /usr/local/mailman/log aren't showing any errors or hints.
As some feedback, an FAQ [*] mentions ALLOW_FROM_IS_LIST; setting this has no impact, not suprising as the source code doesn't seem to mention this string anyway. Reading more carefully, I can see this doesn't apply to the current version; perhaps someone with Wiki access might consider the manner it's written, whilst technically correct, is a little backward/confusing, or removing old information.
I changed the line
1) If you have Mailman 2.1.16 or later, set
to
1) If you have Mailman 2.1.16 or 2.1.17, set
Does that help?
I think that's a good change that will save time/confusion for others. Thanks.
-- Mark
On 6/18/22 14:53, Mark Hills wrote:
Not the exact problem, but thanks for setting me on the right path.
There _was_ the following in mm_cfg.py for some time:
GLOBAL_PIPELINE.insert(GLOBAL_PIPELINE.index('Approve'), 'SizeLimit')
I removed this completely and repeated the test; no change.
I would not expect that to have an effect.
It took me a while but I eventually worked out I needed to refresh the pipeline of the individual lists, with something like:
echo "del mlist.pipeline" | config_list -i /dev/stdin mylist
This command succeeded the first time; successive attempts failed with:
AttributeError: MailList instance has no attribute 'pipeline'
which seems to suggest where was a list-specific pipeline, but no more.
Yes, and those list specific pipelines overrode mm_cfg.GLOBAL_PIPELINE and probably predated Mailman 2.1.16 and didn't include the WrapMessage handler.
So I think what's happened here is our lists ended up with a pipeline definition fixed into each list. It's possibly someting from a series of upgrades; there's never been a reason to want to maintain a separate pipeline for each list (only to ensure the "SizeLimit" above applied to all lists on the system.)
Possible in testing the SizeLimit handler you wound up setting list specific pipelines.
We have a script periodically using config_list to set "known good" values on every list. To prevent the problem above happening again, I've added the following:
if hasattr(mlist, 'pipeline'): del mlist.pipeline
That shouldn't be necessary, but it won't hurt. Lists don't grow a pipeline attribute by themselves. You have to do something to set one.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
Mark Hills
-
Mark Sapiro