(no commit message)
authoriannucci <iannucci@web>
Sun, 11 Jan 2009 02:29:28 +0000 (21:29 -0500)
committersipb-www <sipb-www@better-mousetrap.mit.edu>
Sun, 11 Jan 2009 02:29:28 +0000 (21:29 -0500)
projects.mdwn
projects/mailman-acl.mdwn

index 9fe1ebca7a59fc710e614074bfd0ac2e76812150..8488e1905c10c64c885d2746bd5bfdc9a7daef25 100644 (file)
@@ -1,53 +1 @@
-# Projects and Services
-
-Consider [[getting involved|join]] in one of these projects.
-
-## scripts.mit.edu
-
-[scripts.mit.edu](http://scripts.mit.edu/) is a Linux/Apache web hosting platform for the MIT
-community.  Any Athena user can run dynamic web applications written
-in PHP, Perl, Rails, or any favorite language, or automatically
-install popular blog, wiki, and other software prepared by the scripts
-developers. See [the scripts home page](http://scripts.mit.edu) for more information.
-
-## linux.mit.edu
-
-[Linerva](http://linux.mit.edu) aka [linux.mit.edu](http://linux.mit.edu)
-is SIPB's Linux shell server for all MIT users. Linerva is
-fast, runs popular Linux software, and allows long-lasting login
-sessions. See [linux.mit.edu](http://linux.mit.edu) to learn more.
-
-## Debathena
-
-[Debathena](http://debathena.mit.edu) brings the full functionality of Athena to your Debian or
-Ubuntu system.  Install Athena wholesale or in small pieces&mdash;a few
-client utilities, or a full system with Athena-account logins and AFS
-home directories.  Debathena is also the basis for the official
-[Athena 10](http://athena10.mit.edu) due to replace Athena 9 in 2009.
-
-## Library Access to Music Project (LAMP)
-
-[LAMP](http://lamp.mit.edu) is an electronic music library for the MIT community.  Request
-songs from a selection of 1840 CDs at [lamp.mit.edu](http://lamp.mit.edu/) and tune in
-on MIT cable to hear your music play.
-
-## The SIPB AFS Cell and Locker Software
-
-SIPB maintains hundreds of useful programs in AFS lockers for use on
-Athena.  Many popular programs are in the <tt>sipb</tt> and <tt>outland</tt>
-lockers, and even more have their own lockers in SIPB AFS.  SIPB's
-<tt>whichlocker</tt> program, located in <tt>outland</tt>, makes locker
-software easy to find.  (<tt>add outland; whichlocker whichlocker</tt>)
-
-## IAP Classes and Cluedumps
-
-SIPB organizes dozens of intensive [classes](http://sipb.mit.edu/iap) on computing topics during
-IAP.  During the fall term SIPB also offers a series of [Cluedump](http://cluedumps.mit.edu)
-talks, with a different topic each week.  Add yourself to
-<tt>cluedump-announce@mit.edu</tt> if you're interested.
-
-## Your Project Here
-
-SIPB has the resources and the expert advice to make your project to
-improve computing at MIT (better, the world) happen!  Come by W20-557
-and say hello.
+# Mailman-Moira Integration Project
index 8488e1905c10c64c885d2746bd5bfdc9a7daef25..ba7ce1ae85c7e11d584d821b19ecc5c53ece7a01 100644 (file)
@@ -1 +1,21 @@
 # Mailman-Moira Integration Project
+
+We identified two main goals for Mailman/Moira integration: using Mailman lists in AFS ACLs, and using Moira or Mailman lists as the administrator of a Mailman list.
+
+
+1. Mailman->Moira ACLs
+
+Currently, every Mailman list has a corresponding Moira list that contains listname@mailman.mit.edu and can contain other entries.  Our proposal is for this setup to be modified slightly.  First, the AFS group bit ('blanche -G') on such lists will be set.  Secondly, there will be a synchronization script that runs on the Mailman server (using the list_members command).  The synchronization script would run as a cron job.  When the synchronization script runs, it looks at the members of the Mailman list.  For each that ends in @mit.edu or another ending where we have cross-cell authentication (@csail.mit.edu, etc.), it adds the corresponding Kerberos principal as a KERBEROS: member to the Mailman list's Moira counterpart.  This allows the relevant users to have rights in ACLs without receiving the mail that would otherwise be sent to them by Moira.  @mit.edu addresses that are Moira lists will be expanded as 'blanche -r'.  USER: and KERBEROS: members will be added as KERBEROS: members; STRING: members will be ignored.  Any KERBEROS: members previously on the Moira list other than the @mailman.mit.edu entry that are not generated by this process will be removed.
+
+Note that the current practice of putting KERBEROS: principals on Moira lists can be maintained by creating an auxiliary Moira list containing only Kerberos principals and adding this list to the Mailman list.
+
+If the overhead of this syncing process is nontrivial, the syncing could be enabled or disabled via a checkbox in the Mailman admin options.
+
+
+2. Allowing Moira Lists to admin Mailman lists
+
+We assume that the current certificate-based authentication for MIT's version of Mailman basically compares the email address in the user's certificate to the list of administrators, seeing if it matches any of them.  We would modify this by checking if any of the administers is an @mit.edu address that is a Moira list, and for each such list expanding it with 'blanche -r' and adding the resulting USER: and KERBEROS: members to the end of the list of valid admin users.  Note that this would allow a Mailman list synced to Moira as in (1) to administer another Mailman list, or even to administer itself.
+
+3. Administrating Mailman lists from the command line
+
+We recognize that the current mmblanche implementation is not a permanent solution to command- line administration of Mailman lists.  There are two reasons for this.  Firstly, mmblanche uses the administrator password of the list for authentication.  It should instead use tickets to authenticate via the same mechanism as the current web certs interface.  Secondly, the existing mmblanche scrapes the web server to execute commands and query lists, resulting in unnecessary load and inefficiency.  Both issues could be overcome relatively easily by configuring the Mailman web server to allow SPNEGO authentication, and adding to the Mailman sources an additional web interface which accepts blanche-style commands and executes them using the same backend as the existing web interface.