Synchronet BBS - Multinode Bulletin Board Software

Synchronet's FidoNet Packet Tosser Documentation

Table of Contents

Introduction
Terminology
Installation
AREAS.BBS Format
Configuration
Running SBBSecho
Command Line Switches
Area Manager Remote Commands


Introduction

SBBSecho is a full-blown FTN echomail program (tosser/scanner) for Synchronet
BBS version 2.0 and higher. SBBSecho is level III implementation of the SMB
v2.00 specification including support for HyperAllocated and LZH compressed
message bases.
It is intended to replace FTSC-1 (*.MSG) compatible echomail programs (GEcho,
Squish, FastEcho, Alexi/Mail, etc.) and SBBSFIDO with a single program
incorporating the standard features of echomail programs without the .MSG
phase (consuming disk space and time).
You will not need to use SBBSFIDO (*.MSG import/export utility for Synchronet)
or any echomail programs after you have installed SBBSecho.

Back to Table of Contents

Terminology

FTN

FidoNet Technology Network: Any network using FidoNet standards for addressing,
mail packets, mail sessions, node lists, etc.
Zones, Nets, Nodes, and Points?

FTN node addresses are like phone numbers, they are made up of multiple
components (four to be exact). The components are: zone, net, node, and point.
Each component is specified by a decimal (base-10) number, separated by symbols
(no spaces):
	Zone:Net/Node.Point
The zone represents the continent (if FidoNet) or the network number (if other
FTN network). All FidoNet nodes in North America have a zone 1 address. When
the zone is specified in an address, it is the first component and must be
followed by a colon. If the zone is not present in an address, the local
system's zone is assumed.
The net represents the network number of the FTN node. Duplicate net numbers
may exist between zones. If the net number is not present, the local system's
net is assumed.
The node number specifies an exact FTN node within a network. The node number
is the only required element of an FTN node address.
The point is an optional component which specifies a sub-node that does not
directly receive mail and is also not listed in the main FTN node list, but
instead gets all its mail from its boss-node (zone:net/node.0). When the point
is not specified, 0 (zero) is assumed (i.e. 1:2/3 and 1:2/3.0 are identical)
which indicates the system is not a point node address.
A 2D (2 dimensional) address refers to an FTN address containing just the
net and node numbers (i.e. 103/705).
A 3D (3 dimensional) address refers to an FTN address containing the zone,
net, and node numbers (i.e. 1:103/705), specifically excluding the point number
if it exists.
A 4D (4 dimensional) address refers to an FTN address containing the zone,
net, node, and optional point numbers (i.e. 1:103/705.1).
A 5D (5 dimensional) address refers to an FTN address consisting of a standard
3D or 4D address with an appended "@domain" (i.e. 1:103/705@fidonet.org).

Attach or FLO Mailer?

If you are using FrontDoor, InterMail, D'bridge, SEAdog, Dutchie, or any other
ArcMail *.MSG attach-style mailer, you are using what we will refer to as an
"Attach Mailer".
If you are using BinkleyTerm, Portal of Power, or any other FLO/CLO/HLO/DLO
style mailer, you are using what we will refer to as a "FLO Mailer".
Both types are supported equally by SBBSecho.
NetMail

Point-to-point (usually person-to-person) direct or routed messages.
EchoMail

Group or conference messages of a particular subject matter. Usually
distributed on a regional or continental (e.g. FidoNet Zone 1 backbone) scale.
FTN style echomail areas have a unique area tag (name) associated with them to
distinguish each area from the others.
Packet

An FTN packet is a group of one or more messages contained in a single
uncompressed file. Packets may contain echomail and/or netmail messages.
Packets usually have a .PKT extension, although outbound NetMail packets for
FLO Mailers will have .?UT extensions (where ? is either O, C, D, or H). The
first eight characters of the filename may be anything, but are usually decimal
digits representing the date and time the packet was created. SBBSecho creates
temporary outbound packet files with a .PK_ extension and then renames them to
.PKT when they're completed. If you find any .PK_ files in your outbound
directory, don't worry. SBBSecho will find them the next time it is run and
continue packing them and sending them on their way.
Bundle

An FTN bundle is a single file archive of one or more (usually compressed)
packets. Bundles will have file extensions where the first two characters
represent the day of the week the bundle was created (MO, TU, WE, TH, FR, SA,
and SU) and the third character of the extension is a number or letter. The
first eight characters of the filename may be anything, but are usually
hexadecimal digits representing the FTN node address (or relative address) of
the system that created the bundle. SBBSecho changes the file extension of bad
inbound bundles to .MO_, .MO-, or .MO.
Areafix/Area Manager

Areafix is a synonym for area manager (the very first FTN area manager
program was called AreaFix). Area manager capabilities (remote adding/removing
of areas, changing compression type, etc) are built into SBBSecho, so therefore
no external area manager program is required. If you are not an FTN hub, then
the area manager portion of SBBSecho will probably not get any use on your
system.
Back to Table of Contents

Installation

To begin, copy the SBBSECHO.EXE, ECHOCFG.EXE, and AREAMGR.HLP files into your
Synchronet EXEC directory (usually C:\SBBS\EXEC), copy the SBBSECHO.CFG file
into your Synchronet CTRL directory (usually C:\SBBS\CTRL), and copy the
SBBSECHO.DOC file into your Synchronet DOCS directory (usually C:\SBBS\DOCS).
If you plan on using the 32-bit DOS, OS/2, or Windows 95/NT version of
SBBSecho, you will need to put the appropriate SBBSECHO.EXE file into your
Synchronet EXEC directory (unzip OS2.ZIP for the OS/2 version, DOS4G.ZIP for
the 32-bit DOS version, or WIN32.ZIP for the Windows 95/NT version). If
you get memory allocation errors running the 16-bit DOS version or desire
improved performance, you will want to run one of the 32-bit versions.
Add the SBBSCTRL and SBBSNODE environment variables to your AUTOEXEC.BAT.
Example:
SET SBBSCTRL=C:\SBBS\CTRL
SET SBBSNODE=C:\SBBS\NODE1
Note: The node number used for the SBBSNODE environment variable is not
      important, use your NODE1 directory.
These environment variables must be present for SBBSECHO and ECHOCFG to
function correctly. Type "SET" at the DOS prompt to be sure they are listed
correctly.
You will also need to modify your existing MAILER.BAT (or FDRUN.BAT, IMRUN.BAT,
etc) file to accomodate the use of SBBSecho, or replace it with the MAILER.BAT
included with SBBSecho. If this is your first time setting up FidoNet, you will
not currently have a MAILER.BAT file set up, so use the one that is included
and modify it so that it reflects the proper drive letters and directories.
Next, SBBSecho expects to find the file AREAS.BBS in your Synchronet DATA
directory (usually C:\SBBS\DATA) unless you have overridden the default name
and/or location using the ECHOCFG program.  The format of this file is very
similar to the standard AREAS.BBS (which many echomail programs use, or can
at least export their native area file to this format - i.e. GEcho's GSETUP).
SCFG can also export your sub-boards to AREAS.BBS, but you're probably better
off modifying the AREAS.BBS file you're already using (if you are) or
converting your current echomail program's area file to AREAS.BBS. This is
because SCFG assumes the sub-board short name will be the same as the area's
tag (as shown in your echo list), but this may not always be the case - unless
you imported an AREAS.BBS or FIDONET.NA file into SCFG to begin with).

Back to Table of Contents

AREAS.BBS Format

Lines beginning with a semicolon (;) are considered comments, and are ignored.
Each line is in the following format:
CODE	TAG	UPLINKS
Where:
	CODE 	is the internal code of the sub-board. Any unrecognized internal
		codes are considered "Passthru" (not imported to your BBS).
	TAG 	is the FidoNet tag as shown in your echo list (i.e. FIDONET.NA).
		If this is '*', then it will be considered a "badecho" area
		and will receive all messages for areas not otherwise specified
		in this file.
	UPLINKS is a list of FidoNet addresses which you wish to export mail
		to. At the very least, your hub's address should be listed
		here. Your address should NOT be listed here. If multiple
		addresses are specified, you should specify the full 3D address
		for each.
AREAS.BBS Example:
SBBS		SYNCHRONET	1:3615/50
SYNCDATA	SYNCDATA	1:3615/50
SYNC_SYS	SYNC_SYSOPS	1:3615/50
The amount of spacing between each element in the line is not important. Each
line can be up to 1000 characters in length.
So if your OLD AREAS.BBS file is in .MSG format (for example):
C:\FD\ECHO\SBBS 	SYNCHRONET	1:3615/50
It must be changed to match the example given above!

Back to Table of Contents

Configuration

In order to set up SBBSecho for your system you must run the included ECHOCFG
program. It should already be located in your EXEC directory. You may want to
put your EXEC directory in your DOS search path so you can execute SBBSECHO and
ECHOCFG from any drive and directory on your system.
Multiple configuration files can be used (but isn't usually required) for
multi-mailer systems. The default configuration filename is SBBSECHO.CFG
located in your Synchronet CTRL directory. You can override this by specifying
the name and location of the configuration file on the SBBSECHO and ECHOCFG
command lines. Example:
ECHOCFG D:\ECHO1.CFG
SBBSECHO D:\ECHO1.CFG
If you do not specify a configuration file, ECHOCFG and SBBSECHO will use
SBBSECHO.CFG located in your Synchronet CTRL directory.
Upon running ECHOCFG you will be brought to the main menu of the configuration
program. The path and filename of the configuration file being modified will
appear at the top of the menu. Following are screen captures of available menus
within the configuration program and an explanation of the options contained on
each of them.
Mailer Type:
	Selecting this option will toggle between the mailer types supported
	by SBBSecho, either FrontDoor (message attach) type mailers or Binkley
	(FLO file) type mailers.  Choose the one that matches your front-end
	mailer type.
Maximum Packet Size:
	This option allows you to set the maximum size of each outgoing
	echomail packet.

Maximum Bundle Size:
	Mail packets are normally packed into what are called "bundles" (unless
	a node is set up to receive uncompressed mail packets).  This option
	allows you to specify the maximum size of each outgoing mail bundle.
Areafix Failure Notification:
	This is the user number of the person where notification of Areafix
	failures should be sent.  Such failures include nodes which are not
	configured for areafix, nodes using incorrect areafix passwords, and
	the like.  Setting this to 0 will disable this option.
Nodes...
	This option allows you to add, remove, and configure nodes that you
	will be sending mail to.  Selecting this option will bring you to
	a sub-menu which will look similar to the following:
	At the Nodes... sub-menu, pressing the INSert key will allow you to
	add a new node, pressing the DELete key will remove the currently
	highlighted node number, and pressing ENTER on the currently
	highlighted node will allow you to edit the options for that particular
	node from a menu like the following (note that the node number you are
	editing appears at the top of the window):
Address:
	This is the address of the node you are editing, selecting it
	will allow you to change this to a different address. Using
	the "ALL" wildcard in place of one of the address components
	will allow you to configure settings for all nodes that meet
	that specification (e.g. all nodes in zone 1 can be specified
	as 1:ALL or all nodes in zone 1, net 103 can be specified
	as 1:103/ALL).
	Archive Type:
		This is the compression type to be used when packing mail
		bundles for this node.	Selecting this option will allow you
		to choose from a menu of currently configured archive types,
		like the following:
		Selecting "None" will specify that this node is to receive
		uncompressed packets (no bundles).
	Packet Type:
		This is the packet type that will be used when creating mail
		packets for this node. The default packet type used by SBBSecho
		is 2+.	If you are a "point" address (e.g. 1:100/100.1) you
		should use either a type 2+ or 2.2 packet since type 2 packets
		do not support point numbers. Selecting this option will allow
		you to choose from a menu of currently supported packet types:
	Packet Password:
		This is a password that will be placed into each outgoing mail
		packet for this node.  Passwords are normally used for extra
		security when sending and receiving mail packets.  This node
		must also have the same packet password defined for your
		address and SBBSecho must be set up for secure operation (set
		in the 'Toggle Options' sub-menu) in order for this feature to
		function properly.
	Areafix Password:
		This is the password that will be required by this node (in
		the subject field) when it sends messages to the area manager
		(AreaFix).
	Areafix Flags:
		When additional echo lists have been defined (from the
		'Additional Echo Lists...' sub-menu) these flags determine
		which echo lists can be used by this node when processing area
		manager add requests.
	Status:
		This option determines the netmail status that will be set
		when SBBSecho sends out an areafix message or a file attach.
		Selecting this option toggles between None, Crash, and Hold
		status.
	Direct:
		When set to 'Yes' this option will add a Direct kludge line
		to messages that SBBSecho sends out (or create DLO/DUT files
		for FLO mailers).
	Passive:
		Setting this option to 'Yes' will prevent messages from being
		sent to this node without the need for altering the AREAS.BBS
		file.  This is useful for temporarily shutting off the messages
		to this node.  This option can be toggled on and off remotely
		via an area manager request.
	Send Notify List:
                This determines whether or not this node is sent a Notify List
                when using that command line option in SBBSecho.
                A Notify List is a netmail sent to the system operator of the
                node showing options set for the node as well as connected
                areas.

Paths...
	This option allows you to configure the paths and filenames which are
	used by SBBSecho.  Selecting this option will bring you to the
	following sub-menu:
	Inbound Directory:
		This is the directory where SBBSecho should look for inbound
		mail packets.  This is normally taken from whatever has been
		set in the SCFG program.
	Secure Inbound (optional):
		This is an optional directory where SBBSecho should look for
		secure inbound mail packets.
	Outbound Directory:
		This is the directory where SBBSecho will place outgoing mail
		packets and bundles.
	Area File:
		This is the path and filename of the file that SBBSecho will
		use as it's AREAS.BBS file.  By default SBBSecho looks for
		the file AREAS.BBS in the data directory defined in SCFG.
	Log File:
		This is the path and filename of the file that SBBSecho will
		use when logging events.  By default SBBSecho uses the file
		SBBSECHO.LOG in the data directory defined in SCFG.

Log Options...
	This list allows you to toggle what events SBBSecho should place into
	the logfile.  Selecting this option will bring you to the following
	sub-menu:
	Selecting ALL, NONE, or DEFAULT will toggle all of the options to
	'Yes', 'No', or to their default states, respectively.

Toggle Options...
	These options allow you to toggle various features in SBBSecho.
	Selecting this option will bring you to the following sub-menu:
	Secure Operation:
		When set to 'Yes', SBBSecho will compare the origin of any
		incoming mail packets to the nodes in the AREAS.BBS file
		as messages are imported.  If a packet password has been
		defined for that node, it will also be compared to the
		password contained in the mail packet.	Packets and messages
		failing this security will not be imported.
	Swap for Executables:
		SBBSecho relies on external executable programs for extracting
		and compressing mail bundles.  This option tells SBBSecho to
		swap out of memory when running any of these executables,
		giving the executable programs more free memory to run in.
		This option is only used in the 16-bit DOS flavor of SBBSecho.
	Fuzzy Zone Operation:
		Some mail programs do not create netmail messages with zone
		information (INTL kludge line) or may only do so when sending
		between zones. This is a problem for systems that receive
		netmail for multiple addresses with different zones (AKAs with
		different zone numbers). Setting this option to "Yes" allows
		SBBSecho to guess what the correct originating and destination
		zone is based on the net and node portions of the destination
		address in netmail message.
	Store PATH Lines in Message Base:
		When set to 'Yes', SBBSecho will store the PATH lines from
		incoming echomail in the Synchronet message base headers (not
		the body text). This option is useful for troubleshooting
		routing/duplicate message problems.
	Store SEEN-BY Lines in Message Base:
		When set to 'Yes', SBBSecho will store the SEEN-BY lines from
		incoming echomail in the Synchronet message base headers (not
		the body text).  This option is useful for troubleshooting
		routing/duplicate message problems.

	Store Unknown Kludge Lines in Message Base:
		When set to 'Yes', SBBSecho will store any unknown kludge lines
		from incoming echomail in the Synchronet message base headers.
		This option is useful for troubleshooting problems.
	Allow Nodes to Add Areas in the AREAS.BBS List:
		When set to 'Yes', SBBSecho will allow nodes to add areas
		(via area manager) which are listed in the AREAS.BBS list.
		When set to 'No', SBBSecho will only allow nodes to add areas
		from any additionally configured echo lists which they have
		access to.

Archive Programs...
	This option allows you to add or remove archive programs from SBBSecho.
	Selecting this option will bring you to the following menu:
	At the Archive Programs... sub-menu, pressing the INSert key will allow
	you to add a new archive program. Pressing the DELete key will remove
	the currently highlighted archive program. And pressing ENTER on the
	currently highlighted archive program will allow you to edit the
	options for that particular program from a menu like the following (note
	that the name of the archive program you are editing appears at the top
	of the window):
	Packer Name:
		This is the name that will be used to reference this particular
		archiving program.  This is also the name that should be used
		by nodes using areamanger to change their compression type
		remotely.
	Hexadecimal ID:
		This is a hexadecimal identifier that SBBSecho should look for
		when determining the compression type used on incoming bundles.
		In this example we are looking for the ID 'PK', '50' is the
		hexadecimal value for the letter 'P' and '4B' is the
		hexadecimal value for the letter 'K'.
	Offset to Hex ID:
		This is the byte offset (from the beginning of the file) where
		the hexadecimal ID for this archive program can be located.
		In this example we are looking at an offset of 0 bytes from the
		beginning of the file.

	Pack Command Line:
		This is the command line used by this archiving program for
		compressing files.  The '%f' command line specifier will expand
		to the name of the compressed file, the '%s' command line
		specifier will expand to the name of the file being compressed.
	Unpack Command Line:
		This is the command line used by the archiving program for
		Uncompressing files.  The '%f' command line specifier will
		expand to the name of the compressed file, the '%s' command
		line specifier will expand to the path where the file is
		being extracted to.

Additional Echo Lists...
	This option allows you to add and remove additional echo lists which
	can be used by SBBSecho for area manager add requests.	Normally these
	will be used in addition to your AREAS.BBS file.  If you have the
	toggle option 'Allow Nodes to Add Areas in the AREAS.BBS List' set to
	'No', you MUST create at least one additional echo list if you wish
	to allow other nodes to add areas via area manager requests.
	Selecting this option will bring you to a sub-menu listing any
	additional echo lists you currently have defined:
	Pressing the INSert key will allow you to add a new echo list, pressing
	the DELete key will remove the currently highlighted echo list, and
	pressing ENTER on the currently highlighted echo list will allow you to
	edit information about that list:
	Echo List Path/Name:
		This is the full path and filename of the echo list you are
		defining.  This list should contain the areatag names of areas,
		one per line, with any comments separated from the areatag by
		at least one space.
	Hub Address:
		This is the address of the hub of the conferences contained
		in this list.  If an area is remotely added from this list
		(using Areafix) this address is automatically added to the
                AREAS.BBS file.
	Forward Password:
		This is the area manager password to use when forwarding
		requests.

	Forward Requests:
		Setting this option to 'Yes' will cause SBBSecho to send a
		request to the Hub Address specified to turn on an area from
		this list.  This happens when users remotely add areas using
		Areafix and is not necessary if you are already receiving the
		conferences in this list (i.e.: from Planet Connect).
	Echo List Flags:
		These are the flags required for a node to be able to gain
		access to this particular echo list.  These flags are defined
		for each node from the 'Nodes...' sub-menu.
		Selecting this option will bring you to a sub-menu where you
		may add and remove flags for this echo list.
Back to Table of Contents

Running SBBSecho

The command line for executing SBBSECHO is very similar to SBBSFIDO, although
some command line switches have been eliminated.
We suggest you use the following command lines:
For importing:
	C:\SBBS\EXEC\SBBSECHO /LES!
For exporting (Attach Mailer):
	C:\SBBS\EXEC\SBBSECHO /LIN
For exporting (FLO Mailer):
	C:\SBBS\EXEC\SBBSECHO /LINF
Remove all references to SBBSFIDO from your batch files (if you have any).
See the included MAILER.BAT as an example.
Back to Table of Contents

Command Line Switches

usage: sbbsecho [cfg_file] [/switches] [sub_code]
where: cfg_file is the filename of config file (default is ctrl\sbbsecho.cfg)
       sub_code is the internal code for a sub-board (default is ALL subs)
SBBSecho will execute normally (for Attach Mailer operation) with NO command
line switches required. Command lines switches are used to cause SBBSecho to
_do_ or _not_ do specific operations. When used, command line switches
are prepended by a slash (/) character. Multiple switches can be specified
in one grouping (multiple /switch sets are supported, but not required).
Switch letters are not case sensitive. The available switch letters and their
descriptions are:
P: Do not import inbound packets or extract inbound bundles
X: Do not delete inbound packets (*.PKT) after they're imported
N: Do not import inbound netmail (packetized netmail and *.MSG)
D: Do not delete inbound netmail (*.MSG) after they're imported
I: Do not import inbound echomail
E: Do not export outbound echomail
M: Ignore echomail pointers (export all locally created echomail messages)
U: Update echomail pointers only (export no echomail messages)
T: Do not update echomail pointers (test export)
H: Export all echomail messages (including messages imported from FidoNet)
J: Ignore received bit on netmail (import even though flagged as received)
L: Create log file (data\sbbsecho.log)
R: Create report of import totals (text\sbbsecho.msg)
B: Import locally created netmail too (ignore the local flag)
A: Export ASCII characters only (override individual sub-board ex-ASCII strip)
F: Create packets for outbound netmail (necessary for FLO Mailer operation)
G: Generate notify lists
Y: Import netmail for unknown users to sysop (user #1)
O: Import all netmail regardless of destination address (unless flagged local)
S: Import private echomail override (strip private flag)
=: Change existing tear lines to === when exporting
!: Notify users via telegram of received echomail messages
Back to Table of Contents

AREAFIX Commands

Remote area manager, or areafix, commands are used by uplinks to be able to
turn echo areas off and on, list currently connected areas, and more.
The following text is from the file AREAMGR.HLP which, after installation of
SBBSecho, should be located in your Synchronet EXEC directory.	It lists the
area manager commands available to the nodes which have been configured using
the ECHOCFG program:
Address all requests to 'SBBSecho' or 'AreaFix' (without quotes).
Your Area Manager password goes on the subject line.
In the body of the message to Area Manager:
[+]<areaname>         Connect an area
-<areaname>           Disconnect an area
%HELP                 Request this message
%LIST                 Request a list of areas available to you
%QUERY                Request a list of areas to which you are connected
%UNLINKED             Request a list of areas to which you are not connected
%COMPRESSION <type>   Change the compression type (ARC/ARJ/LZH/PAK/SQZ/ZIP/ZOO)
%PASSWORD <password>  Change your AreaMgr password
%RESCAN 	      Request a rescan of newly added areas
%ACTIVE 	      Reconnect all temporarily disconnected areas
%PASSIVE	      Temporarily disconnect all connected areas
%FROM <address>       Remote maintenance, must be the first command
%+ALL		      Connect all available areas
%-ALL		      Disconnect all areas
[---]                 Everything below the tear line is ignored
NOTE: A compression type of NONE is also supported for uncompressed packets.
Back to Table of Contents

Copyright 2000 by Rob Swindell

Synchronet BBS Software
(Synchronet) Version 3 is comprised of several documentation,
library, executable, and source code files, all of which are covered by the
GNU General Public License
with the exception of the following portions covered by
the GNU Lesser General Public License: SMBLIB and XSDK.

Synchronet Version 2 (for DOS and OS/2) and its source code was released to the
Public Domain
by Digital Dynamics in 1997 and remains Public Domain software today.
Synchronet Version 3 is not Public Domain software.

Rob Swindell
PO Box 501
Yorba Linda, CA 92885
http://www.synchro.net

For the complete Copyright Information please read the Copyright Documentation .