barry@zope.com (Barry A. Warsaw) writes:
It probably would be best to add a method get_author() which returned a list of (From_, From:, Sender:) for comparison
Alright, I've added a get_author() method to Mailman.Message which returns a list containing the From:, unixfrom, Reply-To:, and Sender: addresses depending on availability.
and we'd have to evaluate each get_sender() call site to see if it was doing such a comparison or just trying to find an address to use (in which case, I guess you still trust From: first?). In either case, you'd have to change every affected call site to do an `in' test instead of an == test.
I don't see any `==' tests, but rather things like:
if mlist.isMember(sender)
I've started replacing them with code that looks something like this:
for author in msg.get_author():
if mlist.isMember(author):
sender = author
break
Am I on the right track, or did you have something else in mind?
-- (TMDA (http://tmda.sourceforge.net/) (UCE intrusion prevention in Python)