[Mailman-Users] Mailman 2.1.18-1 not respecting add_virtualhost

Chris Miller ctodd at scratchspace.com
Wed Jul 1 21:07:02 CEST 2015

On 8/14/2014 6:21 PM, Mark Sapiro wrote:
> On 08/14/2014 06:06 PM, Chris Miller wrote:
>> On 8/14/2014 5:31 PM, Mark Sapiro wrote:
>> I sent you a PM with output.
> OK. I'll respond when it gets through my greylisting.
>>> The vhost has issues. In particular bin/withlist -l does not work with
>>> hostname/listname type lists.
> Actually, it does. It's been so long since I looked at this, I forgot.
> the command for a list whose config directory is hostname/listname is
> bin/withlist -l -r fix_url listname at hostname -u web_hostname
>> I am confused as well. To restate the question is it possible I just
>> need to create the hostname directories and reorganize everything?
> That might work, but fix_url should work on a list whose directory is
> directly under lists/. The mystery here is it apparently doesn't.

Sorry to re-ignite this so late. To recap, the problem with our 
Mailman config is that all mailing lists were created under 
/var/lib/mailman/lists instead of /var/lib/mailman/lists/<hostname>.

We have corrected this problem by creating the subdirectories, 
moving the lists in to the proper sub directory, and setting 
permissions. We are still having trouble with fix_url.

If we run this the traditional way, we get an error :

root at mail /var/lib/mailman/lists $ ~mailman/bin/withlist -l -r 
fix_url brewclubtest -u lists.fakedomain.com
Importing fix_url...
Running fix_url.fix_url()...
Loading list brewclubtest (locked)
Unknown list: brewclubtest
Traceback (most recent call last):
   File "/usr/lib/mailman/bin/withlist", line 299, in <module>
   File "/usr/lib/mailman/bin/withlist", line 277, in main
     r = do_list(listname, args, func)
   File "/usr/lib/mailman/bin/withlist", line 202, in do_list
     return func(m, *args)
   File "/usr/lib/mailman/bin/fix_url.py", line 73, in fix_url
     if not mlist.Locked():
AttributeError: 'NoneType' object has no attribute 'Locked'

If we use the <listname at hostname> method, the command completes 
correctly, but then we have issues with the web interface :

root at mail /var/lib/mailman/lists $ ~mailman/bin/withlist -l -r 
fix_url brewclubtest at lists.brewclub.org -u lists.fakedomain.com
Importing fix_url...
Running fix_url.fix_url()...
Loading list brewclubtest at lists.fakedomain.com (locked)
Saving list

When we go to the list page here :


The list is present, but there is an error in red at the top of the 
screen that says "No such list brewclubtest at fakedomain.com". Please 
note that the hostname "lists" was stripped from the error.

We are able to login to the list URL which now contains 
<listname at hostname> in the URL :


But clicking any links in the admin interface appends 
@fakedomain.com which results in a new login prompt :


It seems like fix_url needs to be patched to use the traditional 
method of using only the list URL, and/or needs to be patched to 
properly handle the <listname at hostname> method.

To clarify, mm_cfg.py does contain the correct info for the lists, 
this all broke during the upgrade to 2.1.18 to utilize the DMARC 

DEFAULT_URL_PATTERN = 'http://%s/mailman/'
add_virtualhost('lists.fakedomain.com', 'fakedomain.com')




Chris Miller
President - Rocket Scientist
ScratchSpace Inc.
(831) 621-7928

More information about the Mailman-Users mailing list