aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Handlers/Moderate.py
diff options
context:
space:
mode:
authorTokio Kikuchi <tkikuchi@is.kochi-u.ac.jp>2007-11-19 09:06:10 +0900
committerTokio Kikuchi <tkikuchi@is.kochi-u.ac.jp>2007-11-19 09:06:10 +0900
commit2d7babef109e595bfa4e945cf31d63817408746e (patch)
tree024961e035bf84241e1cbf5ec09e0ea211953baa /Mailman/Handlers/Moderate.py
parent4683bd064689820562fdd31d6522045c5be33c55 (diff)
parent588890f16d73b3497ee86ae2ed2176de1190da6c (diff)
downloadmailman2-2d7babef109e595bfa4e945cf31d63817408746e.tar.gz
mailman2-2d7babef109e595bfa4e945cf31d63817408746e.tar.xz
mailman2-2d7babef109e595bfa4e945cf31d63817408746e.zip
merge from launchpad
Diffstat (limited to 'Mailman/Handlers/Moderate.py')
-rw-r--r--Mailman/Handlers/Moderate.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/Mailman/Handlers/Moderate.py b/Mailman/Handlers/Moderate.py
index 97d998b2..84ff14e5 100644
--- a/Mailman/Handlers/Moderate.py
+++ b/Mailman/Handlers/Moderate.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2003 by the Free Software Foundation, Inc.
+# Copyright (C) 2001-2007 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -12,7 +12,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
"""Posting moderation filter.
"""
@@ -28,6 +29,7 @@ from Mailman import Errors
from Mailman.i18n import _
from Mailman.Handlers import Hold
from Mailman.Logging.Syslog import syslog
+from Mailman.MailList import MailList
@@ -129,6 +131,15 @@ def matches_p(sender, nonmembers):
continue
if cre.search(sender):
return 1
+ elif are.startswith('@'):
+ # XXX Needs to be reviewed for list@domain names.
+ try:
+ mother = MailList(are[1:], lock=0)
+ if mother.isMember(sender):
+ return 1
+ except Errors.MMUnknownListError:
+ syslog('error', 'filter references non-existent list %s',
+ are[1:])
return 0