BeroList v1.0.1
===============
(c) 1996 by Bernhard Rosenkraenzer, root@startrek.in-trier.de

 
====================
1. WHAT IS BEROLIST?
====================

BeroList is an easy-to-use, easy-to-install mailing list server. Unlike many
other mailing list servers, BeroList does not require perl to be installed
on your system.

===============
2. INSTALLATION
===============

IF YOU ARE UPDATING FROM A PREVIOUS VERSION OF BEROLIST, YOU *MUST* EDIT
YOUR LIST CONFIG FILES! PLEASE READ ON !

To install BeroList, edit the list.h file according to your computer and
operating system (The options are commented in the file).
Though BeroList can determine the hostname itself, I strongly recommend to
set the hostname in the list.h. The hostname determination is probably not
protable to all unix systems, and will not work correctly with some Linux
beta kernels.
Run 'make 386' if you will be running the program on a 80386 processor,
'make 486' if you will be using a 80486/Pentium processor, 'make' without
parameters for all other processors.
If you are using a compiler other than gcc, you will probably have to edit
the makefile.
The program has been tested on a Pentium/133 running Linux 1.3.95 and a 386
running Linux 1.3.84 (both using gcc 2.7.0), but it should work on other
systems, as well. Minor changes may be necessary.

It is recommended to add the line 'Tbin' to your sendmail.cf file, which
makes 'bin' (which is used as the sender of mails) a 'trusted' user, who may
send messages with other user names in the From: field.

==========================
3. CREATING A MAILING LIST
==========================

3.1. ENTRY IN /etc/aliases
--------------------------

To create a mailing list, add the list to your /etc/aliases file. Create a
pipe to BeroList's 'list' program.
An entry for the mailing list test-list with BeroList installed in
/usr/inet/lists should, for example, look like this:

test-list:"|/usr/inet/lists/list"

Run newaliases after making the change.

Since BeroList determines by the message header's To: field which list is
addressed, you can run several mailing lists using the same copy of
BeroList. An alias entry like

test-list:"|/usr/inet/lists/list"
startrek:"|/usr/inet/lists/list"
linux:"|/usr/inet/lists/list"

would be exactly what the program is ment for. (If the lists are configured
accordingly, of course. :) )


3.2. CONFIG FILE
----------------

Next, create a file in your mailing list directory, called listname.config
(in our example: test-list.config).
You can define the following options in the config file:

newusers=yes/no	If set to yes, new users can subscribe to the list by
		sending a message with subject 'subscribe' to the list
		address (default). If no, new users must be subscribed
		by a list operator. (see 3.4)
closed=yes/no	If yes, only members of the list may send messages to the
		list. If no, everyone may send messages. (default)
contact=address	Address of a list operator (for newusers=no lists only).
		Users trying to subscribe will get a message like
		"You may not subscribe to the list by yourself. Contact
		the list operator, (address specified here)."
		(defaults to root@(Host specified in list.h))
sender=address/original/list
		Specifies the sender of messages generated by the list.
		If set to original (default), the sender will be copied
		from the incoming message's header.
		If an address is specified, all list messages have
		From: (specified address)
		in the header.
		If set to list, BeroList will determine the list address
		and use it. (Enables replies to the entire list.)
errors-to=address
		If a message from mailer-daemon@somewhere arrives to the
		list (normally an error message; caused mail loops if
		sender was = listname@listhost in early versions),
		it is sent to this address instead.
		If not specified, the error message is sent to the
		address specified as contact.

Example:
Our test-list.config might look like this:

newusers=no
closed=no
contact=roomcleaner@whitehouse.gov
sender=test-list@windows-sucks.linux.org
errors-to=too-high-fees@dtag.de

It would result in a list that does not accept new users. Users trying to
subscribe would be told to contact roomcleaner@whitehouse.gov.
It would accept messages from people not in the list. All outgoing messages
would be sent from test-list@windows-sucks.linux.org
Errors would be sent to too-high-fees@dtag.de.

The config file must be readable by 'bin'. I recommend running
'chown bin.bin *' in your lists directory.


3.3. MEMBERS FILE (optional)
----------------------------
Next, create a file called listname.members.
Its format is:

User1@Host1
User2@Host2
...

or

Realname 1 <User1@Host1>
Realname 2 <User2@Host2>
...

or any other valid format of e-mail addresses.

All people listed in the listname.members file are subscribed to the list.
If you do not create the listname.members file, it will be automatically
created when a user sends a 'subscribe' message to the list.

The file must be read-writeable by user 'bin'. (Do 'chown bin.bin
listname.members')


3.4. OPERATORS FILE (optional)
------------------------------
Next, create a file called listname.operators. (And again, replace
'listname' by the name of your mailing list. ;) )

Its format is exactly like the MEMBERS FILE (see 3.3.)

All people listed here are list operators, meaning they can subscribe and
unsubscribe users by sending messages with subjects like 'subscribe
root@startrek.in-trier.de' or 'unsubscribe billg@microsoft.com' to the list.

The file must be readable by 'bin'.


3.5. FOOTER FILE (optional)
---------------------------
Next, create a file called listname.footer. (optional)
If the file exists, it will be appended to every message that passes the
list.

The file must be readable by 'bin'.


3.6. WELCOME FILE (optional)
----------------------------
Last, create a file called listname.welcome. (optional)
If the file exists, it will be sent to new subscribers.
If the first line starts with 'Subject: ', it will be used as subject of the
message.

The file must be readable by 'bin'.

==========
4. UPDATES
==========
Whenever I make changes to the program, a new version can be found in the
ftp://ftp.startrek.in-trier.de/pub/progs/unix/net/mail-list
directory.
If you wish to be notified of updates, subscribe to the list
berolist@startrek.in-trier.de.


====================
5. CHANGING THE CODE
====================
You are permitted to change the program code. If you make any improvements,
please help improving the product, and send me a copy of your version.
You can contact my by e-mail at root@startrek.in-trier.de, or upload the
file to ftp://ftp.startrek.in-trier.de/incoming/progs/unix
Or, drop a message to the BeroList mailing list,
berolist@startrek.in-trier.de

Ok, ok... The code is mostly uncommented...
I want it to be a challenge for hackers... (err...) ;)


============================
6. THE BEROLIST MAILING LIST
============================
I have created a mailing list for discussion of BeroList which is running on
berolist@startrek.in-trier.de (guess which program I used... ;) ). If you're
interested in improving the program, subscribe.


==========
7. COPYING
==========
The program may be freely copied as long as the copyright notice is not
removed. Programs based on this program MUST have a reference to BeroList in
the documentation and (if possible) the program itself.


BBBBB   EEEEE  RRRRR     OOO       Bernhard Rosenkraenzer
B    B E       R    R   O   O      Auf der Hard 3
B    B E       R    R  O     O     54456 Tawern
BBBBB  EEEEEE  RRRRR   O     O     Germany
B    B E       R  R    O     O
B    B E       R   R    O   O      e-mail:  root@startrek.in-trier.de
BBBBB   EEEEE  R    R    OOO       FidoNet: 2:2452/307.46
