aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2016-02-17 10:43:31 -0800
committerMark Sapiro <mark@msapiro.net>2016-02-17 10:43:31 -0800
commit9eecc5d5d26373741ba5dfc03872098c3a6e602c (patch)
treeaf7f879748b5a0978dad9359b3f8eb6af0a09151
parent91f070fe878cb1e3c9fc55a9373258a976d19be5 (diff)
downloadmailman2-9eecc5d5d26373741ba5dfc03872098c3a6e602c.tar.gz
mailman2-9eecc5d5d26373741ba5dfc03872098c3a6e602c.tar.xz
mailman2-9eecc5d5d26373741ba5dfc03872098c3a6e602c.zip
Acknowledge option will now be honored for posts to anonymous lists
-rw-r--r--Mailman/Handlers/Cleanse.py5
-rwxr-xr-xMailman/Handlers/CookHeaders.py4
-rw-r--r--NEWS3
3 files changed, 10 insertions, 2 deletions
diff --git a/Mailman/Handlers/Cleanse.py b/Mailman/Handlers/Cleanse.py
index c684cd19..5270bb5a 100644
--- a/Mailman/Handlers/Cleanse.py
+++ b/Mailman/Handlers/Cleanse.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 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
@@ -60,6 +60,9 @@ def process(mlist, msg, msgdata):
del msg['x-approve']
# Also remove this header since it can contain a password
del msg['urgent']
+ # If we're anonymizing, we need to save the sender here, and we may as
+ # well do it for all.
+ msgdata['original_sender'] = msg.get_sender()
# We remove other headers from anonymous lists
if mlist.anonymous_list:
syslog('post', 'post to %s from %s anonymized',
diff --git a/Mailman/Handlers/CookHeaders.py b/Mailman/Handlers/CookHeaders.py
index 8b371b77..59eb67b7 100755
--- a/Mailman/Handlers/CookHeaders.py
+++ b/Mailman/Handlers/CookHeaders.py
@@ -98,7 +98,9 @@ def process(mlist, msg, msgdata):
# message, we want to save some of the information in the msgdata
# dictionary for later. Specifically, the sender header will get waxed,
# but we need it for the Acknowledge module later.
- msgdata['original_sender'] = msg.get_sender()
+ # We may have already saved it; if so, don't clobber it here.
+ if 'original_sender' not in msgdata:
+ msgdata['original_sender'] = msg.get_sender()
# VirginRunner sets _fasttrack for internally crafted messages.
fasttrack = msgdata.get('_fasttrack')
if not msgdata.get('isdigest') and not fasttrack:
diff --git a/NEWS b/NEWS
index 56413ec6..8f3fbb54 100644
--- a/NEWS
+++ b/NEWS
@@ -49,6 +49,9 @@ Here is a history of user visible changes to Mailman.
Bug fixes and other patches
+ - User's "Acknowledge" option will now be honored for posts to anonymous
+ lists. (LP: #1546679)
+
- Fixed a typo in the Non-digest options regular_exclude_ignore
description thanks to Yasuhito FUTATSUKI.