The lists server is lists.gnu.org.
Note: for an overview of how mail are sent from Savannah, please check InternalMailSystem.
Mailman
There are no static Mailman aliases; instead, is looks at /var/lib/mailman/lists/list_name/domains/ and check for files that represent the domain of the list, such as gnu.org,
nongnu.org, and the like.
Then, I don't really know:
- there is some Exim code to take those files into account
- currently, there is a replication script that copies all the list+domains information to mp.gnu.org - to it's probably checked there. jag said "it runs on the 42 of every hour". We can also run it through
~/mailman-export.
Archives
Archives are updated every 30 minutes (?) as of May 2011.
They are located at 2 places:
- private archives are managed by Mailman: /var/lib/mailman/archives/private/list_name.mbox/list_name.mbox (use the
archcommand to manage them; look at the --wipe command) - public archives are managed by mharc: ~mharc/mboxes and ~mharc/html (check ImportMailingListArchive)
Note: archives are currently not indexed by search engines, see robots.txt:
User-agent: * Disallow: /
This is an effort from sysadmin@gnu.org to reduce the disk I/O on this already loaded machine. Spiders tend to put lists.gnu.org to its knees, unfortunately.
It is suggested to use mail archives mirroring services meanwhile. Once there is a more powerful machine, maybe web crawlers will be allowed again.
Work-arounds
The mailing list setup contains a decent set of work-arounds. This is mainly due to the fact we do not have root access to the list server, and also because of inconsistent security paranoia.
Mailing list creation
I basically installed sv_mailman, modified it to support mailman virtual hosts (and use the proper admin mail instead of username@sv.gnu.org). Then I wrote a fake /usr/sbin/newlist that connects to list@lists.gnu.org via SSH and call an helper script there (savannah_wrapper.pl). list@lists.gnu.org has a Savannah public key in its authorized_keys with a command= restriction. There is also am empty /usr/sbin/config_list that does nothing - but we don't really want what Savane currently does there.
The cron job runs on the vcs-noshell host, file /etc/cron.d/sv. The script being run is named sv_mailman.
Valid sender
lists.gnu.org makes a series of checks that will reject mail from, say, kickino@savannah.gnu.org because this is apparently not a valid e-mail. E-mail validation eventually falls-back against fencepost (Unix users and the shares /com/mailer/aliases).
To bypass those checks, we added aliases at fencepost for Savannah users that need to send mail (gatekpr, libcrsync, Savane's INVALID.NOREPLY, etc.). See also ListServer.
Antispam
Mail can be forwarded to listhelper@gnu.org which, using the Mailman mail interface, can pipeline your list with a conservatively-configured spamassassin, cf. ListHelperAntiSpam