summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mailman/Cgi/rmlist.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/Mailman/Cgi/rmlist.py b/Mailman/Cgi/rmlist.py
index 83593bdc5..f8af31473 100644
--- a/Mailman/Cgi/rmlist.py
+++ b/Mailman/Cgi/rmlist.py
@@ -114,11 +114,13 @@ def process_request(doc, cgidata, mlist):
delarchives = 0
# Removing a list is limited to the list-creator (a.k.a. list-destroyer),
- # the list-admin, or the site-admin.
- if not mlist.WebAuthenticate((mm_cfg.AuthCreator,
- mm_cfg.AuthListAdmin,
- mm_cfg.AuthSiteAdmin),
- password):
+ # the list-admin, or the site-admin. Don't use WebAuthenticate here
+ # because we want to be sure the actual typed password is valid, not some
+ # password sitting in a cookie.
+ if mlist.Authenticate((mm_cfg.AuthCreator,
+ mm_cfg.AuthListAdmin,
+ mm_cfg.AuthSiteAdmin),
+ password) == mm_cfg.UnAuthorized:
request_deletion(
doc, mlist,
_('You are not authorized to delete this mailing list'))