[Mailman-Users] Lists created via web admin seem to beentirelyseparate from lists created from command line

Mark Leone midnightjava at verizon.net
Tue Mar 13 23:52:20 CET 2012


> >
> >mailman   unix  -       n       n       -       -       pipe
> >   flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
> >   ${nexthop} ${user}
> >
> >Per man page for master(5) this is supposed to mean that executabe
> >'mailman' is present relative to the path specified by postfix param
> >queue_directory. The value of that variable (as determined by running
> >postconf queue_directory) is /var/spool/postfix. There is no
> executable
> >named 'mailman' at that location, so I'm not clear on how postfix is
> >invoking mailman on incoming mail, but that seems to be where the
> >problem lies.
> 
> 
> The above master.cf entry defines a 'mailman' transport that pipes mail
> to the script at /usr/lib/mailman/bin/postfix-to-mailman.py. Assuming
> that is how mail is being delivered to Mailman (you can verify this
> from the Postfix log entries), you should be able to see what
> installation it is pointing to be just reading it. I don't think I have
> ever seen the Debian/Ubuntu version of this (officially unsupported -
> how many times have I written that this week?) script, but the one I
> have has a configuration setting on the 4th line like
> 
> MailmanHome = "/var/mailman"; # Mailman home directory.
> 

Thanks for all the info. I've narrowed down the locations, but I'm still not
quite there.

I updated the locate database, and then using locate and find, I see that
the only place any lists are defined is at /var/lib/mailman/lists

The wrapper executables in  the directory pointed to by apache's ScriptAlias
for /mailman are pointing to /var/lib/mailman/scripts. However, that
location is actually a sym link pointing to /usr/lib/mailman/scripts (which
is where you said you expected them to be)

This surprises me because when I create a list using the web interface, its
file does not appear in /var/lib/mailman/lists (or anywhere). The list files
only appear in that directory when I create them from the command line. But
the above seems to indicate that the web app is pointing to the same mailman
instance where the scripts eventually get written.

So then the remaining question is which mailman is postfix invoking? In the
postfix log file, when an e-mail comes in, I see

Mar 13 17:24:59 mal-s5610f postfix/pipe[20980]: 1F8E618006D:
to=<testlist2-request at lists.midnightjava.net>, relay=mailman, delay=0.33,
delays=0.12/0.01/0/0.2, dsn=2.0.0, status=sent (delivered via mailman
service)

I don't think that tells us the location, so I then looked at the script
being invoked via the master.cf entry (the unsupported file
postfix-to-mailman.py). I'm not a python programmer, but I understand the
basics. So I'm not sure I correctly resolved the location of the mailman
executable. What I see is

import paths
mm_pgm = os.path.join(paths.prefix, 'mail', 'mailman')

I don't see any reference to module paths in the python API, so I'm assuming
that's a custom module, and that the line above is resolving the path
mail/mailman relative to the path pointed to by the mailman config variable
'prefix'. If this is so, then that's 'var/lib/mailman' as that's the value
set for 'prefix' in Defaults.py, and it's not overridden in mm_cfg.py. (As
an aside, I put in some print and sys.stderr.write statements to get the
value of paths.prefix, thinking they would show up in either postfix or
mailman log files, but they do not.)

So if my assumption above is correct, then both postfix and apache are
pointing to the same instance of mailman. And when I create a list from the
command line I use /var/lib/mailman/bin/newlist, which is a sym link to
/usr/lib/mailman/bin/newlist, so this is also the same mailman instance.

So perhaps my assumption above can be corrected? One other thing I'm going
to try is checking whether apache is configured to allow following of sym
links for the ScriptAlias location. The wrapper executables there are not
sym links, but they're pointing to the python scripts they execute via sym
links, so perhaps I need the option enabled for following sym links.
Otherwise the mystery remains.

-Mark







More information about the Mailman-Users mailing list