[Mailman-Users] generic_nonmember_action and header_filter_rules

Rob pennguin at mac.com
Mon Oct 13 17:37:18 CEST 2008


Is mm_cfg.py going to be replaced each time Mailman is upgraded, or  
would these changes persist across upgrades?


On Oct 12, 2008, at 8:55 PM, Mark Sapiro wrote:

> Russell Clemings wrote:
>
>> I have generic_nonmember_action set to "reject." I also have
>> header_filter_rules set to "hold" if an incoming message has
>> "X-Spam-Flag: YES" in its headers.
>>
>> My current problem is the second test overrides the first -- i.e., if
>> a non-member tries to post a message flagged as spam, it is held
>> rather than rejected. As you might imagine, this happens rather  
>> often.
>>
>> Is there a way to change the order of operations on these filters?  
>> I'd
>> like to have posts from non-members rejected every time, whether they
>> match the spam filter or not.
>>
>> This is cPanel's hack of Mailman (version 2.1.11.cp2), not the real  
>> mccoy, fwiw.
>
>
> Do you have access to mm_cfg.py? That's what's required to change  
> this.
>
> IncomingRunner passes the message througe a pipeline of handler
> modules. The first one that says hold|reject|discard this message
> determins what is done.  The default pipeline is
>
> GLOBAL_PIPELINE = [
>    # These are the modules that do tasks common to all delivery paths.
>    'SpamDetect',
>    'Approve',
>    'Replybot',
>    'Moderate',
>    'Hold',
>    'MimeDel',
>    'Scrubber',
>    'Emergency',
>    'Tagger',
>    'CalcRecips',
>    'AvoidDuplicates',
>    'Cleanse',
>    'CleanseDKIM',
>    'CookHeaders',
>    # And now we send the message to the digest mbox file, and to the
> arch and
>    # news queues.  Runners will provide further processing of the
> message,
>    # specific to those delivery paths.
>    'ToDigest',
>    'ToArchive',
>    'ToUsenet',
>    # Now we'll do a few extra things specific to the member delivery
>    # (outgoing) path, finally leaving the message in the outgoing
> queue.
>    'AfterDelivery',
>    'Acknowledge',
>    'ToOutgoing',
>    ]
>
>
> SpamDetect does header_filter_rules; Moderate does member moderation
> and non-member actions, and Hold does several miscellaneous holds.
>
> To do what you want, you need to reorder the pipeline so that
> SpamDetect comes after Moderate.
>
> You could do this by putting the following in mm_cfg.py
>
> GLOBAL_PIPELINE.remove('SpamDetect')
> GLOBAL_PIPELINE.insert(GLOBAL_PIPELINE.index('Hold'), 'SpamDetect')
>
> which would remove SpamDetect from the pipeline and then insert it
> between Moderate and Hold.
>
> -- 
> Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
> San Francisco Bay Area, California    better use your sense - B. Dylan
>
> ------------------------------------------------------
> Mailman-Users mailing list
> Mailman-Users at python.org
> http://mail.python.org/mailman/listinfo/mailman-users
> Mailman FAQ: http://wiki.list.org/x/AgA3
> Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
> Unsubscribe: http://mail.python.org/mailman/options/mailman-users/pennguin%40mac.com
>
> Security Policy: http://wiki.list.org/x/QIA9



More information about the Mailman-Users mailing list