		README for G0LGS's XFBB MULTI server

COPYRIGHT

This software is Copyright (c) 2000 - 2005 by Stewart Wilkinson G0LGS.

Distribution and use of this software is permitted provided that all
copies retain the above copyright notice and the Warranty disclaimer below

WARRANTY

THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


INTRODUCTION

G0LGS MULTI is a server for XFBB.  It allows the sending of a single
messages to multiple addresses (ie: can be used for a club mailing list)

INSTALLATION

To compile multi check the Makefile, as it determines which variant of
XFBB the program is to be built for, then do:

	make

	make install

This will install the files multi and multi.help to your FBB base
directory. multi.help is the help file sent to users when they use the
HELP command (see below for info on commands).

The format of the helpfile is free-form; it can contain anything you wish
it to contain, since it's simply sent to the user requesting it (see the
COMMANDS section below).  Comment lines begin with # and are ignored (they
are not sent to the user requesting the help).

----------------------------------------------------------------------------
FBB 7.00:

Edit your init.srv to include a line similar to this under 
the "List of servers":

MULTI	multi	Multiple message sending

The first parameter on the line is the name of the mailing list, so You 
should replace the first MULTI above with the name of the list you are
creating, such as:

CLUB	multi	Send message to all club members

----------------------------------------------------------------------------
FBB 7.01 and newer:

Edit your fbb.conf and include a line (along with the list of other
servers) like:

server = MULTI	multi	Multiple message sending

The first parameter on the line is the name of the mailing list, so You 
should replace the first MULTI above with the name of the list you are
creating, such as:

server = CLUB	multi	Send message to all club members

Note: That the server requries that the following lines be present in your
/etc/ax25/fbb.conf (or whatever any FBBCONF variable you have defined
points to):

	# Callsign of BBS with hierarchical information
	callsign = GB7xxx.#nn.GBR.EU

	# First name of SYSOP
	name = YourName

	# Callsign of SYSOP
	sysop = YourCall

	# Directory of config files
	config = /etc/ax25/fbb

	# Path and filename for import file
	import = /var/ax25/fbb/mail/mail.in

If any of these is missing from your fbb.conf the server WILL NOT RUN and
XFBB will generate error messages each time a message arrives for the
server. (Whilst XFBB has defaults for some of these settings MULTI does
not so check your config carefully).

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

Now, create a data file for the list.  The data file name must be the name
of the list, followed by .dat:

   club.dat

Remember that Linux is case sensitive, and the filename must be in all 
lower case letters.

This file consists of only callsigns, optional BBS Hroute information and
comments.  Comment lines begining with a '#' and blank lines are ignored
by the server.

Every callsign (or callsign plus @ BBS Hroute) must be on a line by
itself.

An example of a data file for the club mailing list might be:

	#
	# Club Mailing List
	#
	G0LGS
	G6AWT @ GB7GLO.#46.GBR.EU
	M1CUK @ GB7FCR
	#

As you can see, the data file is very straightforward.


You MUST also have a configuration file for the list. The filename for the
configuration file is:

	<listname>.cfg

For example:

	club.cfg

This file MUST contain 5 (non-comment/non-blank) lines like:

	#
	# List Status
	# Closed : The List owner & Sysop can add members, Only List Members can send messages.
	# Owner  : Only the List Owner & Sysop can add members or send messages (from V0.43)
	# Open   : Anyone can join the list & Send Messages via the server (Even if not on the list).
	#          (WARNING: anything else will be treated as if 'Open' was specified)
	Closed
	#
	# List Owner's Callsign
	#
	G0LGS
	#
	# Description
	# Used in all messages generated by the server.
	#
	Club mailing list
	#
	# Allow /ACK in messages sent by server
	# ( off/default = NOACK, on = ACK )
	NOACK
	#
	# Distribution List at Top of Message
	# ( on/default = DIST, off = NODIST )
	DIST
	#
	#

You also may also use additional per list help file:

	<listname>.hlp

For example:

	club.hlp

Like other files this file may contain comment lines. This file may
contain any further information you wish the users to see when they send a
/HELP message to the server.

Optional .head and .foot files can also be used to add per list header / footer:

	<listname>.head
	<listname>.foot

For FBB 7.00 the .dat .cfg .hlp .head & .foot files MUST be in your FBB base directory,
ie: the same directory as multi, multi.help and init.srv


For FBB 7.01 and newer the .dat .cfg .hlp .head & .foot files MUST be in the config
directory (ie: /etc/ax25/fbb/ or whatever config is set to in your fbb.conf file).


After installing MULTI and the appropriate files, you MUST Restart XFBB
for the changes to take effect. You can then log on and send a message to
the list to test the server:

SP <listname>

It is suggested that you intially Enter /LIST as the subject, and check
that the server sends you a reply.

MULTI will deliver a copy of any message that does NOT contain a VALID
command in the first part of the subject to each callsign listed in the
data file for that list, and deliver a confirmation message to the sender.


MULTI can handle messages that have already passed thru a MULTI server, so
you can allow the output from one MULTI server to feed into another. (even
one on aother BBS).

Note: The originator of the message will get confirmation messages from
each MULTI server that processes the message.

WARNING: The program does NOT (currently) include any form of duplicate
checking / loop detection, so be careful how you use this feature (or you
could flood the network with self replicating messages).

COMMANDS:

Commands to the server must be in the first part of subject of the message
addressed to a mailing list.

Current commands are:

/ADD	Add yourself to the mailing list.
	This adds the sender to the mailing list if it's an OPEN list.

	Can also be used by the list owner to add someone else to the
	list, but requires use of additional parameters:

	ie: /ADD [Callsign] <@ BBS_Hroute>

/LIST	List members of the mailing list
	EXAMPLE:  To find out who's on the club mailing list, send /LIST
	as the subject of your message to club:
		SP CLUB     <---- Send a message to the list
		/LIST       <---- Must be the only thing on subject line
		/EX         <---- No message body is required

/HELP	Retrieve a help file for the server
	EXAMPLE:  To receive a help file for the server, send /HELP
	as the subject of your message to club:
		SP CLUB     <---- Send a message to the list
		/HELP       <---- Must be the only thing on subject line
		/EX         <---- No message body is required

/REMOVE Remove yourself from the mailing list.

	Can also be used by list owner to remove someone else from
	the list, requires additional parameter:

	ie: /REMOVE [Callsign]

	will remove all entries for the given Callsign .

Note: 	For Closed Lists, even when not in the list of members the List
	Owner is still permitted to add / remove members from the list,
	and to query the server for the list of members as well as send
	messages via the list.

DISCLAIMER:

The author will not be responsible for any damages that may be caused by
the use of this program.

In other words, you're on your own!

