[Mailman-Developers] Differences in URL hostname computed for private and public archives

Richard Barrett r.barrett at openinfo.co.uk
Tue Aug 12 12:41:24 EDT 2003


I am referring to Mailman 2.1.2 in what follows.

When computing an absolute URL pointing at a list's archives, the 
computation of the hostname in the URL is performed differently 
depending on whether the list archives are private or public.

I cannot spot an obvious reason for why this should be so. I am hoping 
some kind reader will enlighten me.

My analysis, in summary:

1. The same function GetBaseArchiveURL() in 
$prefix/Mailman/Archive/Archiver.py is called to deliver the list's 
archive URL for both public and private list archives.

2. Private list archives call subsidiary functions which leads to the 
FQDN extracted from the list's web_page_url attribute being used to 
form the required URL.

3. Public list archives use the list's host_name attribute and use that 
perform lookup in an inversion of the mm.cfg.VIRTUAL_HOSTS dictionary 
to obtain a URL_FQDN to form the required URL. If the lookup fails then 
the DEFAULT_URL_HOST is used.

Why the difference in approach?

A consequence of this approach is that if several different virtual 
hosts use the same EMAIL_FQDN, which means the VIRTUAL_HOSTS dictionary 
is a many-one mapping for those virtual hosts' URL_FQDNs, their public 
list archive base URLs are arbitrarily assigned to just one of those 
URL_FQDNs.

This method of computing the URL pointing at a list's archives also 
seems to interact negatively with a weak aspect of the cPanel 
(http://http://cpanel.net/) implementation of MM 2.1.2

cPanel does not appear to maintain (my guess because I do not have 
access to the source code of their MM related stuff) the 
mm_cfg.VIRTUAL_HOSTS dictionary and seems to setup the web_page_url and 
host_name attributes of list created via cPanel without reference to 
VIRTUAL_HOSTS dictionary. But, as a consequence, when list archives are 
public the URLs of links to them on the /mailman/listinfo/<listname> 
and /mailman/admin/<listname> pages use the hosting server's hostname 
rather than the hosted domain name.

While it seems that the CPanel implementation of Mailman is partially 
broken, the URLs generated for MM's CGI prgarams happen to work OK 
because they are formed from the web_page_url list attribute.


-----------------------------------------------------------------------
Richard Barrett                               http://www.openinfo.co.uk




More information about the Mailman-Developers mailing list