From: jik@athena.mit.edu (Jonathan I. Kamens)
Newsgroups: comp.mail.misc,comp.sources.wanted,news.answers
Subject: Mail Archive Server (MAS) software list
Supersedes: <archive_servers_722671223@athena.mit.edu>
Followup-To: comp.mail.misc
Date: 25 Dec 1992 06:01:15 GMT
Organization: Massachusetts Institute of Technology
Distribution: world
Expires: 7 Feb 1993 06:01:11 GMT
NNTP-Posting-Host: pit-manager.mit.edu

Archive-name: mas-software
Version: $Id: archive_servers,v 1.37 1992/12/08 14:47:20 jik Exp $

	 A Summary of Available Mail Archive Server Software
	 ---------------------------------------------------

  For each server listed below, I provide the following information,
if known:

	Name
	Author
	Maintainer
	Latest known version
	How to get it
	Implementation language
	Supported platforms
	Comments

  If you can fill any of the blanks or have comments about anything
written below, or if you have new servers to add to the list, please
let me know.  If you would like to ask me to change this posting in
some way, the method I appreciate most is for you to actually make the
desired modifications to a copy of the posting, and then to send me
the modified posting, or a context diff between my posted version and
your modified version (if you do the latter, make sure to include in
your mail the "Version:" line from my posted version).  Submitting
changes in this way makes dealing with them easier for me and helps to
avoid misunderstandings about what you are suggesting.


  There are two sections below.  The first describes the various
archive servers, and the second lists known sites from which the
archive servers can be obtained, and how to access them.  The "How to
get it" fields of the archive server descriptions refer to the site
listings.

  John Bazik <jsb@cs.brown.edu>, Stephen R. van den Berg
<gerg@physik.tu-muenchen.de>, Warren Burstein <warren@itex.jct.ac.il>,
Nigel Metheringham <nigelm@ohm.york.ac.uk>, Mike Northam
<mbn@fpssun.fps.com>, Chip Salzenberg <chip@tct.com>, and Serge
Vakulenko <vak@kiae.su> provided comments about and corrections to
this posting.

------------------------------------------------------------------


			Archive Server Summary
			----------------------


Name: Almanac
Authors: Erik Bennett and Chris Hansen
Maintainer: almanac-admin@oes.orst.edu
Implementation language: C (configured with Bourne shell)
How to get it: ftp from /pub/almanac-x.x.tar.Z at oes.orst.edu
               (where x.x is the current version)
Latest know version: 1.4
Supported platforms: SunOS, HP/UX, UTek, AIX (RS 6000), most BSD 4.3
Comments: (Chris Hansen <hansenc@oes.orst.edu>)
	Requires sendmail and gdbm
	Can split files on user-defined size limit
	Good user & admin documentation
	Has blacklist
	Logging (through syslog) and usage utilities
	Comes with supplement for automatic mailing list management
	Load checking or queuing left to sendmail
	Main advantage is configuration table:
	   Maps user commands to shell commands
	   Can have any number of user commands
	   Encoding, Filtering, Compression all configurable
	   Most other things configurable
	   (Possible disadvantages:
		Table can get complicated.
		Good knowledge of shell advised).


Name: B-Server
Author: Budi Rahardjo <rahardj@ccu.umanitoba.ca>
Implementation language: bourne shell
How to get it: Get "b-server.shar" from pit-manager.
Comments: (Dave Shaver <shaver@convex.com>)
	- Don't need to create system-wide alias (uses sendmail
		.forward file)
	- One shell script
	- Can refuse to provide service to certain people
	- Has file and request limits
	- 4 user commands: help, index, send, get
Comments: (john.Latala@Waterloo.NCR.COM)
	- Only does text files


Name: Bart (Brode's Archive Retrieval Thang)
Author: Jon Brode <brode@icpsr.umich.edu>
Latest known version: beta release
How to get it: Send E-mail to <brode@icpsr.umich.edu> and ask for it.
Implementation Language: C
Support platforms: Expects BSD, sendmail and ndbm, but might work with
                    some tweaking in other environments.
Comments: (from author)
        Beta release can be obtained from the author but should not be
            redistributed; the final release will have more lenient
            distribution conditions.
        Runs from alias or .forward file
        Very careful about not overloading server. (does load checking on BSD
            machines, in addition to the other things)
        5 commands: help, index, path, send, sendb ("sendb" automatically
            encodes the file, "send" determines whether the file needs to
            be encoded first)
        Can request files by parts. Useful for requesting files larger
            than quota and retrieving pieces that get lost in the mail
        Can do per-user quota checking.
        It has a man page!
        Has uuencode encoding built into C code, does not support other
            encoding types yet.
        No user error notification on bad requests.

	
Name: Clarkson
Author: Michael DeCorte
How to get it: Get "archive-server" from CLARKSON.
Implementation language: bourne shell, awk
Comments: (Tom Fitzgerald <fitz@wang.com>)
   Advantages:
	Most flexible options for archiving, compressing, encoding and
	  slicing result.
	Very nice load-limiting.
   Disadvantages:
	Many BSDism's (I tried porting it to SysV without much luck).
	Can't return several requested items, one item per mail message.
	  It insists on packaging up all requests into a single archive,
	  splitting the archive at random points and mailing the result.
	Can't store items compressed and have them mailed back to the
	  requestor decompressed.


Name: DECWRL
Author: Brian Reid.
Implementation language: bourne shell, awk, a little bit of C
How to get it: (1) Get "decwrl.shar" from pit-manager.  (2) Get
	"/pub/unix/archive.tar.Z" via anonymous ftp from
	ftp.cs.widener.edu (slightly modified).
Comments: (Dave Shaver <shaver@convex.com>)
	- Written with many shell scripts and a few AWK scripts
	- Very careful about not overloading server machine
		(Remember, this used to run on an over-worked VAX.)
	- Very easy to install; best of the group?
	- Code is all quite generic
	- Good at letting person making request know what happened
		(No black holes for mail.)
	- Good user-level docs (especially the "help" file)
	- Very fair queuing system; people can't make "pigs" of
		themselves
	- 4 user commands: help, index, send, path
Comments: (Tom Fitzgerald <fitz@wang.com>)
   Advantages:
	Simplest.
	Very nice load-limiting, can be set up to run only at night.
	Easily configurable, and portable to Sys V with a little work.
   Disadvantages:
	All items in archive must be text, and are sent out as-is.  No
	  packaging options at all.
	Written in sh, may be a heavy system load (when running).
Comments: (Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>)
	 We use the DECWRL server for the CA*NET info server; I picked
	it over the other ones (primarily the Clarkson one) because it
	was sufficiently small and clear that I could read all the
	shell scripts and be pretty confidant that it had no surprises
	and I understood what was going on. One could probably run it
	out of a .forward file with some work writing at-based
	frontends, but it prefers to be installed and run with cron
	and an alias.


Name: deliver
Author: Chip Salzenberg <chip@tct.com>
Latest known version: 2.1, patchlevel 10
How to get it: From the comp.sources.reviewed archives.
Implementation language: C
Comments: This isn't a full-fledged archive server, it's just a
	program to reroute incoming mail.  Which isn't to say that it
	can't be used to write an archive server....
Comments: (Brian.Onn@Canada.Sun.COM)
	I've written our mail based archive server entirely in Deliver
	shell scripts.  It's not as full featured as the other ones,
	but it can easily be expanded to become that.  The beauty of
	deliver is that it is entirely shell script based.


Name: KISS
Author: T. William Wells <bill@twwells.com>
Latest known version: 1.0
How to get it: (1) Get "kiss.shar" from pit-manager.  (2) Get
	"misc/kiss.shar" from JASON-ARCHIVE (slightly modified).  (3)
	Get "/pub/archives/alt.sources/kiss-server_bill" via anonymous
	ftp from hydra.helsinki.fi.
Implementation language: bourne shell
Comments: (Dave Shaver <shaver@convex.com>)
	- Simple.  8-)
	- One shell script, plus a user-supplied program
	- No batching, quotas, or scheduling.
	- 5 user commands: help, index, send, path, quit
	- Good install docs


Name: listserv
Author: Anastasios C. Kotsikonas (tasos@cs.bu.edu)
Latest known version: 5.41
How to get it: From /pub/listserv on cs.bu.edu via anonymous ftp.
	Also in alt.sources archives with subject "unix-listserv" in
	three parts.
Implementation language: C, plus some UNIX-style shell scripts.
Supported platforms: UNIX, presumably.
Comments: This is a mailing list server rather than a mail archive
	server.  It is meant to automatically run mailing lists,
	dealing with subscriptions, unsubscriptions, message
	distribution, etc.  Like the BITNET listserv system, but for
	UNIX.  The newest version does appear to have some support for
	archives as well.


Name: Logix
Author: Jan-Piet Mens
Latest known version: 1.01
How to get it: Get the posting entitled "Mail-Server Part 01/01" from
	the alt.sources archives.  An improved version (Bill Silvert's
	-- see his comments below) is available via anonymous ftp from
	/pub/unix/mail-server.tar.Z on biome.bio.ns.ca.
Implementation language: C
Comments: (Bill Silvert <silvert@biome.bio.ns.ca>)
	Changes I have made include support for optional (as opposed
	to compulsary) uuencoding using the Dumas uuencode, which
	makes it possible to run uudecode (the Dumas version) on a
	complete multi-part mail file without editing it first, and
	improved messages.


Name: NETLIB
Author: Jack J. Dongarra, Eric Grosse
How to get it: Get "netlib from misc" from NETLIB.
Implementation language: C
Comments: (Dave Shaver <shaver@convex.com>)
	- User-level docs a bit rough.	Assumes user is quite mail savvy.
		(Not a fair assumption in my case.)
	- Catches "pigs" effectively, but no queuing system for requests.
	- Notices attempted security violations using magic shell characters
	- Install docs adequate, but not outstanding
	- Hard to install since site-specific stuff not centralized
		in a config file.
	- Has almost no interal documentation (i.e. comments)
	- Eclectic mix of shell scripts and C programs
	- Some sections of code very specific to serving libs.	Does
		not generalize well to ASCII files.
Comments: Tom Fitzgerald <fitz@wang.com>
   Advantages:
	Arbitrary directories can be made part of archives, archives don't
	  have to all be under a single directory tree.
	Written in C, probably imposes the least system load.
	Reasonably portable and configurable.
   Disadvantages
	Really complicated, with inadequate documentation
	No queuing or load-balancing.  All requested items are sent out
	  immediately regardless of system load.
	Poorest at figuring out return addresses.
	All items in archive are sent out as-is.  No packaging options.
	  (They can be binary, they will be sent out uuencoded).


Name: procmail
Author: Stephen R. van den Berg <berg@pool.informatik.rwth-aachen.de>
Latest known version: 2.71
How to get it: (1) Get "procmail" from volume 31 of comp.sources.misc
	archives.  (2) "/pub/unix/procmail.tar.Z" via anonymous ftp from
	ftp.informatik.rwth-aachen.de (possibly more up-to-date).
Implementation language: C
Supported platforms: generic UNIX (or any posix compliant OS)
Comments: This isn't a full-fledged archive server, it's a program to
	parse incoming mail and sort/invoke other programs based on the
	results, but it can be used as a very reliable front end to some
	of the archive servers mentioned here.
	- It includes a utility program called formail, which is
	  particularly intelligent in figuring out return addresses and
	  generating auto-reply headers.


Name: qdms
Author: Lars Magnusson <lmn@z.amu.se>
Latest known version: 1.0
How to get it: (1) Get "qdms - a simple mailserver for cramped disks."
	from the alt.sources archives.  (2) Get a (possibly more
	up-to-date) version from mailserver@z.amu.se.
Implementation language: Bourne shell, requires shell functions
Comments: Looks like it has some sort of access control and
	blacklisting.  Don't know what else.


Name: Relcom
Author: vak@kiae.su (Serge Vakulenko)
Maintainer: vak@kiae.su (Serge Vakulenko)
Latest known version: 1.0
How to get it: Send a message to mailserv@kiae.su with "get
	mailserv.tar.Z" in the body.
Implementation language: C


Name: RNALIB
Author: Paulo Ventafridda <venta@otello.sublink.org>, Marco Lorenzini
	<marlor@gear.sublink.org>
Latest known version: 2.2 beta-3
Implementation language: bourne shell
How to get it: (1) Get "rnalib2" from volume 15 of comp.sources.misc
	archives.  (2) Get "RNALIB 2.2 beta" and "upgrade to beta-3"
	from alt.sources archive on valhalla.ee.rochester.edu.
Comments:
	- Completely implemented in one bourne shell script plus
	  several data files.
	- Allows libraries to be all over the filesystem hiearchy
	  (i.e. not in fixed data directory).
	- Understands a variety of packing formats, and detects binary
	  file automatically (and uuencodes them).
	- Requires bourne shell with support for functions.
	- Very poor address parsing.
	- No queueing.
	- Has "blacklists" to prevent people from transferring and
	  "whitelists" to allow specific people to tell the server to
	  deliver to third parties.
	- Detects "hogs" and imposes maximum credit limits.


Name: Squirrel Mail Server
Version: 3.1
Author: Johan Vromans <jv@mh.nl>
How to get it:  Send a mail message to <mail-server@nluug.nl> with 
	contents

		begin
		send mail-server
		end

Implementation language: perl
Description (from the author):

	The Squirrel Mail Server is a mail response program. You can
	send email to it, and it will try to react sensible to your
	message. 

	Main purpose of the mail server is to obtain files from a
	local archive or FTP server, but other functions can be added
	easily.

	The Squirrel Mail Server Software is distributed under the
	terms of the GNU Public Licence.

	New and improved features in version 3.1:

	  - Transparent (anonymous) FTP interface. You can fetch files
	    from remote FTP servers. Files retrieved are cached
	    locally, so subsequent requests can be honoured from the
	    cache.

	  - Delivery can take place via email or uucp or both.
	    Delivery via UUCP can be made preferred.

	  - FTP requests can be restricted to UUCP delivery.

	  - Multiple servers can be installed using the same software.

	A brief survey of old and new features:

	  - All written in perl, hence portable and easily
	    maintainable.  Code is readable; useful, plentiful
	    comments. Very extentable and easily modified.
	  - Easy to install.
	  - Good at letting person making request know what happened.
	    Good "help" reply.
	  - Archives can be split over a number of directories or file
	    systems.
	  - Requests are queued and processed by a separate daemon
	    process (e.g. from cron). This cuts down on the system
	    load. Moreover, you can control when the queue is being
	    run.
	  - Requests can be honoured `as is' (name the file and you'll
	    get it), but the server can also perform directory
	    searches and index file lookup.  You need GNU find and
	    locate for the index lookup feature.
	  - While looking for files, the server knows about commonly
	    handled filenames (e.g. ".tar.Z" in "foo.tar.Z") and
	    pseudo-standard version numbering (e.g. "gcc-2.1.tar.Z").
	    It is quite well possible that a simple request for
	    "emacs" will actually transmit the file
	    "gnu/emacs-18.58/dist/emacs-18.58.tar.Z".
	  - Requests can be encoded using a number of encoding
	    schemes, e.g.  uuencode, xxencode, Dumas' uue and btoa.
	  - Requests that are too large to send in one piece are
	    automatically split and transferred in parts. The server
	    provides a smart unpacking program on request,
	  - Parts of requests can be re-transmitted in case of
	    failure.
	  - Requests can designate a directory. In this case the whole
	    directory tree is packed using some popular packing
	    programs (compressed tar, zoo or zip).
	  - Requests can be sent by email, or via uucp.
	  - The server can be asked to return a list of archive
	    entries that match a given request, thus obsoleting the
	    need to transfer huge "ls-lR" type index files to find out
	    whatsitcalled.
	  - All transfers can be logged. Maintenance procedures
	    include a reporting tool.
	  - Transparent anonymous FTP interface.  Files retrieved via
	    FTP can be stored locally, so subsequent requests can be
	    granted without new transfers.

	Probable future directions:

	  - Automatic (and transparent) downloading of unknown archive
	    entries from other archive servers.
	  - Archive lookup by keyword.
	  - Notifier services (you'll be notified if archive entries
	    are added).
	  - Remote maintenance of the archives.

	Requirements:

	  - Perl 4.0 patchlevel 35 or later.
	    NOTE that perl 4.0 pl35 contains a bug that can be fixed
	    by a patch obtainable from the NLUUG mail server -- see
	    below.
	  - GNU find 3.5 or later (only if you want to exploit the
	    index features).
	  - A decent mail system that can deliver mail to a process
	    (sendmail, smail3, or smail2.5 w/ mods).

	===================== 
	Some unofficial Patches to perl 4.0 patchlevel 35 can be
	obtained from the NLUUG mail server by sending a mail to
	<mail-server@nluug.nl> with contents:
		begin
		send XPatch-4.035.tar.Z
		end


------------------------------------------------------------------


		      Archive Site Instructions
		      -------------------------

CLARKSON: Send mail to "archive-server@sun.soe.clarkson.edu" with
	"send <what you want>" as the text of the message, e.g. "send
	archive-server".  If you want it to be archived as a shar
	file, then add a line saying "archiver shar" before the "send"
	line.  You can also use "archiver tar".  If you don't specify
	an archiver, then the files in the request will be separated
	by "--- cut here ---" lines and you'll have to extract them by
	hand or write some sort of script to do it.

JASON-ARCHIVE: Send mail to "penneyj@slc.com" with a subject line
	containing the string "jason-archive-request" and a body
	containing "send <what you want>", e.g. "send misc/kiss.shar".
	If you want multiple files, you can specify multiple requests
	on separate lines of the file.

NETLIB: Send mail to "netlib@research.att.com" with "send
	<what you want>", e.g. "send netlib from misc", as the text of
	the message.

pit-manager: Ftp to pit-manager.mit.edu [18.172.1.27] and look in
	/pub/mail-servers, or send mail to
	"mail-server@pit-manager.mit.edu" with "send
	mail-servers/file", e.g. "send mail-servers/b-server.shar", in
	the subject or body of the message.

UTRECHT: Anonymous ftp to ftp.cs.ruu.nl and look in the directory
	/pub, or send mail to "mail-server@cs.ruu.nl" with the lines:

	begin
	send <filename>
	end

	You replace "<filename>" with the file you want to retrieve,
	e.g. "send UNIX/mailserver.tar.Z".

-- 
Jonathan Kamens                                         jik@MIT.Edu
Aktis, Inc.                                 Moderator, news.answers
Newsgroups: comp.mail.misc,comp.mail.uucp