2009-07-13 10:09:11

by Matti Aarnio

[permalink] [raw]
Subject: New List Manager experiment at vger.kernel.org

I am doing some experimenting of a new list manager concept for vger.

If things go well, it will replace Majordomo, and the command interface
will be similar to Majordomo -- including eventual address where it
responds: majordomo@vger ...

Right now the thing is available for the curious at:

[email protected]


The main difference in here against the Majordomo, and even Mailman is
that this system uses SQL database to keep track of lists, subscribers,
and subscriptions. Not individual text (or horrors - object serialization
binary streams!) files.


Supported commands:

lists
which
subscribe listname
unsubscribe listname
unsubscribe *
auth ...

They are similar, and yet slightly different from Majordomo's commands.
For example the authentication token is unique random blob, which has
meaning only for given user trying to subscribe OR UNSUBSCRIBE, and one
can not predict its value, thus malicious removal on somebodys subscriptions
is at least difficult.

The "help" command will be replaced with a web-page describing the commands.


At present the system is in development mode, and no email traffic goes
thru it. However it has utility to import all existing VGER's Majordomo
list configurations, and subscribers, which utility I do run quite often
to prime databases - especially after altering database schemas.

The 'lists' command shows all public list email addresses, and how many
'direct delivery' subscribers there are.

The 'subscribe' command adds email address, and subscription data in state
'unconfirmed', and calls for confirmation.

Doing then 'auth' commands in shown way will change state to
value 'direct'. Somewhere in deep plans is to add also 'digest',
but we shall see...

The 'unsubscribe *' will send a list of "please send these
'auth ... unsubscribe NNN' commands back to me, if you approve."

The 'which' is best explained by an example:

# << which
# List of subscriptions for this address:
# [email protected] (direct)
# [email protected] (unconfirmed)
# [email protected] (unconfirmed)

Doing a set of 'subscribe' commands followed by 'which' command will
show you something like this above example has. The 'linux-kernel'
subscription has been confirmed with 'auth' command, thus its state
is 'direct', others are still pending.


Somebody will want to know if the sources will be available.
Yes, but it is only my 3rd day of hacking at it yet...

/Matti Aarnio -- one of <[email protected]>