Merge lp:~mlm-author/mailman/2.1-author into lp:mailman/2.1
Proposed by
Franck
Status: | Merged |
---|---|
Merge reported by: | Mark Sapiro |
Merged at revision: | not available |
Proposed branch: | lp:~mlm-author/mailman/2.1-author |
Merge into: | lp:mailman/2.1 |
Diff against target: |
176 lines (+47/-3) (has conflicts) 10 files modified
Mailman/Defaults.py.in (+3/-0) Mailman/Gui/General.py (+6/-0) Mailman/Handlers/Cleanse.py (+12/-1) Mailman/Handlers/CookHeaders.py (+1/-1) Mailman/MailList.py (+1/-0) Mailman/versions.py (+4/-0) NEWS (+8/-0) contrib/majordomo2mailman.pl (+1/-0) doc/mailman-admin.txt (+6/-1) doc/mailman-admin/node10.html (+5/-0) Text conflict in Mailman/versions.py Text conflict in NEWS |
To merge this branch: | bzr merge lp:~mlm-author/mailman/2.1-author |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mark Sapiro | code | Needs Information | |
Review via email: mp+115035@code.launchpad.net |
Description of the change
This change is optional through the use of the author_list variable and is set to off by default. Once set to on, it will use the list address in the From: header changing the display name to indicate who is the author of the post. The email address of the original post will be added to the reply-to field.
Overall, this change allows mailing lists that choose so, to be able to be compatible with authentication schemes such as ADSP or DMARC.
A test list using this branch is at http://
To post a comment you must log in.
Sorry for not responding to this sooner. Somehow I overlooked the original Mailman-coders notification.
The branch covers almost everything, but it is incomplete:
Mailman. versions. NewVars( ) needs
add_only_ if_missing( 'author_ list', 0)
Mailman. Version. DATA_FILE_ VERSION needs to be incremented.
Most importantly, the code in Cleanse.py has issues: sender_ header = 0
+ # We change the from so the list takes ownership of the email
+ if mlist.author_list:
+ mlist.include_
+ if msg['reply-to'] == "" :
+ msg['reply-to'] = msg['reply-to'] + " , " + msg['from']
+ else:
+ msg['reply-to'] = msg['from']
The above test is backwards and it doesn't take into account the fact that msg['reply-to'] is not a null string, but is None if there is no Reply-To: It should be something like:
msg[ 'reply- to'] = msg['reply-to'] + " , " + msg['from']
msg[ 'reply- to'] = msg['from']
if msg['reply-to']:
else:
+ realname, email = parseaddr( msg['from' ]) mlist.real_ name), mlist.GetListEm ail())) signature' ] signature' ]
+ del msg['from']
+ msg['From'] = formataddr(('%s via %s' % (realname,
+ del msg['domainkey-
+ del msg['dkim-
The above two headers and any Authentication- Results: header will be removed in current Mailman if REMOVE_DKIM_HEADERS is set to Yes in mm_cfg.py. You might want to rely on that instead of removing them here, particularly because your documentation in Defaults.py.in doesn't mention these.
+ del msg['sender']
In any case, Since this can be merged without changing existing behavior, I'll consider doing it for 2.1.16