[Mailman-Developers] Having kittens with the code

Barry A. Warsaw bwarsaw@cnri.reston.va.us (Barry A. Warsaw)
Tue, 27 Apr 1999 18:53:10 -0400 (EDT)


>>>>> "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.

-Barry