"NJD" == Nicholson James D James.Nicholson@amedd.army.mil writes:
NJD> I have been trying to fix the mailman code for some time now, NJD> and I would really appreciate any help. The basic problem is NJD> that the anonymous_list is broken on my machine, I don't know NJD> why, but, I can't even debug.
James, here's another situation that I can't reproduce. If I set "Hide the sender" to yes, I get the expected header. Note that sendmail gets partly in the way here (and this may be your problem?). For me, sendmail munges the From header to not include my host name. This sucks because our mailhost knows nothing about my list. Oh well, sendmail's evil anyway. :-)
BTW, on your previous message on the subject, I think From: should still come from the GetAdminEmail(), however I think maybe Reply-To: for anonymous lists should be set to GetListEmail().
And note further that turning on anonymous_list is probably a false comfort. Lots of other headers get through that /could/ be used to identify the user (e.g. my X-Face header gets through). We'd probably want to do a lot more stripping of headers to have a really effective anonymizer.
NJD> So, if you find the code: | del msg['reply-to'] | del msg['sender'] NJD> I then add the following code: | msg.SetHeader('From', 'listname@machinename') | msg.SetHeader('To', 'listname@machinename') NJD> and comment out the following code beginning with 'if NJD> self.anonymous_list:' And what happens is nothing. Nothing I NJD> do here seems to affect the header of reflected mail. Is NJD> this the wrong place to make these changes or is the mail NJD> being postprocessed somewhere else that undoes my changes?
Okay, apologies for the following "did-you-plug-it-in" suggestion. You're sure that you're either making the change to the installed version of the files, or that you're doing a make install after making the changes. In other words, you're absolutely positive that Mailman's running your modified version? Try also blowing away the .pyc files and see if they get regenerated. Finally, you can just do something like:
fp = open('/tmp/rawlog.txt', 'w') fp.write('I know you are in there!\n') fp.close()
right at the point in question. If that file doesn't show up with the message in it, you've got deeper problems. If that works, but LogMsg() still doesn't, it /could/ be a permission problem, but I don't think so. You might just want to use your rawlog.txt file to do your logging directly.