[Mailman-Users] generic_nonmember_action and header_filter_rules

Russell Clemings rclemings at gmail.com
Mon Oct 13 03:49:48 CEST 2008


I think that does it.

(Well, that and remembering to restart Mailman with /bin/mailmanctl restart) :)

thx

rac

On 10/12/08, Mark Sapiro <mark at msapiro.net> 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
>
>


More information about the Mailman-Users mailing list