[Mailman-Users] Regexp matching failing for accept_these_nonmembers
Gretchen M Beck
cmupythia at cmu.edu
Fri Nov 8 15:01:08 EST 2019
Hi Mark,
In "def process"
dn, addr = parseaddr(msg.get('from'))
syslog('debug','parseaddr - from is %s' % addr,)
But I'd already capturing the nonmember message to %s from %s in the vette log, so don't think I need to add it. I'm not seeing anything different there either.
USE_ENVELOPE_SENDER is false (no).
--Gretchen
________________________________
From: Mailman-Users <mailman-users-bounces+cmupythia=cmu.edu at python.org> on behalf of Mark Sapiro <mark at msapiro.net>
Sent: Friday, November 8, 2019 1:57 PM
To: mailman-users at python.org
Subject: Re: [Mailman-Users] Regexp matching failing for accept_these_nonmembers
On 11/8/19 9:47 AM, Gretchen M Beck wrote:
>
> I'm on mailman 2.1.18-1, and this week I've received several complaints about messages held for moderation. Specifically, users whose addresses are in the "accept_these_nonmembers" list, or whose addresses match a regexp that is on the list are getting held as "Post by non-member to a members-only list"
>
>
> While I have had one complaint about this happening for a non-umbrella list, most of the examples have the non-member posting to an umbrella list where they are also accept_these_nonmembers, having the message pass through without moderation, then have it held at the next lists down (where it also should be accepted).
>
>
> I thought "well, let's see what parseaddr is returning" and so slapped a syslog at the appropriate point in Moderate.py, but so far what that is showing me matches the regexp in accept_these_nonmembers.
The first thought that occurred to me was that this could be due to the
difference between msg.get_senders() and msg.get_sender(), but maybe not.
What exactly did you log in Moderate.py? I would do it like this
--- Mailman/Handlers/Moderate.py 2018-06-17 23:47:34 +0000
+++ Mailman/Handlers/Moderate.py 2019-11-08 18:33:16 +0000
@@ -102,6 +102,8 @@
at_list='accept_these_nonmembers'
):
return
+ syslog('debug', 'Nonmember message to %s from %s not accepted',
+ listname, sender)
if mlist.GetPattern(sender,
mlist.hold_these_nonmembers,
at_list='hold_these_nonmembers'
That said, the address matched against accept_these_nonmembers is the
address returned by msg.get_sender() which is
> This can return either the From: header, the Sender: header or the
> envelope header (a.k.a. the unixfrom header). The first non-empty
> header value found is returned. However the search order is
> determined by the following:
>
> - If mm_cfg.USE_ENVELOPE_SENDER is true, then the search order is
> Sender:, From:, unixfrom
>
> - Otherwise, the search order is From:, Sender:, unixfrom
i.e. if mm_cfg.USE_ENVELOPE_SENDER is true get_sender() on the message
to the sub-list will be the umbrella list's -bounces address, at least
if .include_sender_header is Yes.
--
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
https://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: https://mail.python.org/mailman/options/mailman-users/cmupythia%40cmu.edu
More information about the Mailman-Users
mailing list