= How to use Mailman as a source of authentication =
Kudos to Christopher Gabriel for his original idea:
http://www.cgabriel.org/2009/09/21/ldap-e-la-disperazione/
Mailman can be used as a source of authentication for Trac. This is super handy, as it allows to have a single signon between the two.
Here is how it works:
* an Apache macro (please install mod_macro and mod_python, and add `www-data` to the group `list`)
{{{#!bash
/etc/apache2/macros
AuthName "$name"
AuthType Basic
PythonPath "sys.path+['/etc/apache2/']"
PythonAuthenHandler mailauth
PythonOption MailmanList $list
AuthUserFile /dev/null
AuthBasicAuthoritative Off
require valid-user
AuthName "$name"
AuthType Basic
PythonPath "sys.path+['/etc/apache2/']"
PythonAuthenHandler mailauth
PythonOption MailmanList $list
AuthUserFile /dev/null
AuthBasicAuthoritative Off
require valid-user
AuthName "$name"
AuthType Basic
PythonPath "sys.path+['/etc/apache2/']"
PythonAuthenHandler mailauth
PythonOption MailmanList $list
AuthUserFile /dev/null
AuthBasicAuthoritative Off
require valid-user
AuthName "$name"
AuthType Basic
PythonPath "sys.path+['/etc/apache2/']"
PythonAuthenHandler mailauth
PythonOption MailmanList $list
AuthUserFile /dev/null
AuthBasicAuthoritative Off
require valid-user
}}}
* then, in the relative !VirtualHost
{{{#!bash
Use PrivateProjectMailman progetto-x lista-progetto-x
}}}
or
{{{#!bash
Use PublicProjectMailman progetto-x lista-progetto-x
}}}
And you are done.