Lists with topics enabled can throw unexpected keyword argument 'Delete' exception.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Mailman |
Fix Released
|
High
|
Mark Sapiro | ||
mailman (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
* Using Mailman Lists with topics enabled can fail due to a typo
* Fix is trivial and a backport active in everything >Trusty for quite a
while now
[Test Case]
* Code approach as it is rather obvious. With packages installed check
the argument "Delete" vs
"delete":
# grep -A 2 'change_header(' /usr/lib/
# grep -A 2 def /usr/lib/
def change_header(name, value, mlist, msg, msgdata, delete=True, repl=True):
* Use-Case approach:
0. do a basic mailman setup
1. enable by putting these two lines
topics_
topics = [('Match_all', '.', 'Topic matches anything for testing', False)]
in a file and running Mailman's bin/config_list like:
$ bin/config_list -i path/to/
2. Then, a post to that list should be delivered normally and contain
a header 'X-Topics: Match_all', but the bug will cause the post to
be shunted.
X. With the fixed package that no more happens
[Regression Potential]
* It fixes an obvious broken variable access, but nothing else - so I'd
consider it safe. I don't think any code reaching this line ever worked
but if one had a setup awkwardly working while accepting this breakage
he might now get a different behavior.
[Other Info]
* embarrassingly old
---
Code added to Tagger.py in 2.1.16 to support the from_is_list Wrap Message option contained a misspelling.
Related branches
Changed in mailman: | |
status: | In Progress → Fix Committed |
Changed in mailman: | |
status: | Fix Committed → Fix Released |
description: | updated |
description: | updated |
Fixed upstream, but needs backport to Trusty - all other releases are already including the fix.
The diff this is about is:
msgdata[ 'topichits' ] = hits.keys()
change_ header( 'X-Topics' , NLTAB.join( hits.keys( )),
@@ -71,7 +73,7 @@
if hits:
- mlist, msg, msgdata, Delete=False)
+ mlist, msg, msgdata, delete=False)