diff options
author | Mark Sapiro <mark@msapiro.net> | 2008-03-15 22:09:31 -0700 |
---|---|---|
committer | Mark Sapiro <mark@msapiro.net> | 2008-03-15 22:09:31 -0700 |
commit | 1be785a563753165ced2715619c2a795618e733f (patch) | |
tree | 9bd998d471bbd505ed28f98c1acc0e344bcb0f29 /Mailman/Gui | |
parent | 6664a56036748d4cd2290449a4bab7a4ab9d1eaa (diff) | |
download | mailman2-1be785a563753165ced2715619c2a795618e733f.tar.gz mailman2-1be785a563753165ced2715619c2a795618e733f.tar.xz mailman2-1be785a563753165ced2715619c2a795618e733f.zip |
Gui/GuiBase.py - Don't allow self references in *_these_nonmembers
or regular_(in|ex)clude_lists.
Handlers/CalcRecips.py - Log and skip any self reference lists in
regular_(in|ex)clude_lists.
Compare To: and Cc: addresses and
regular_(in|ex)clude_lists case insensitively.
Handlers/Moderate.py - Log and skip any self reference lists in
*_these_nonmembers.
Diffstat (limited to 'Mailman/Gui')
-rw-r--r-- | Mailman/Gui/GUIBase.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/Mailman/Gui/GUIBase.py b/Mailman/Gui/GUIBase.py index b27542ed..19714e1c 100644 --- a/Mailman/Gui/GUIBase.py +++ b/Mailman/Gui/GUIBase.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2007 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2008 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 @@ -78,12 +78,20 @@ class GUIBase: re.compile(addr) except re.error: raise ValueError - elif wtype == mm_cfg.EmailListEx and addr.startswith('@'): + elif (wtype == mm_cfg.EmailListEx and addr.startswith('@') + and property.endswith('_these_nonmembers')): # XXX Needs to be reviewed for list@domain names. - # check for existence of list? - pass + # don't reference your own list + if addr[1:] == mlist.internal_name(): + raise ValueError + # check for existence of list? For now allow + # reference to list before creating it. else: raise + if property in ('regular_exclude_lists', + 'regular_include_lists'): + if addr.lower() == mlist.GetListEmail().lower(): + raise Errors.EmailAddressError addrs.append(addr) return addrs # This is a host name, i.e. verbatim |