Synchronet v3.16c-Win32 (install) has been released (Aug-2015).

You can donate to the Synchronet project using PayPal.

SBBSecho

Synchronet's FidoNet EchoMail Program

Introduction

SBBSecho is an FTN echomail program (tosser/scanner) for Synchronet BBS version 2.0 and higher. SBBSecho is not a FidoNet mailer (you'll still need one of those).

As of SBBSecho v2.30 (Nov-2015), SBBSecho will also export FTN NetMail from the Synchronet mail base (data/mail message base) to FTS-1 (*.msg) files.

  • This feature allows the gating of SMTP (Internet e-mail) to FTN netmail by sending email to “name@p<point>.f<node>.n<net>.z<zone>.fidonet” or “name@.f<node>.n<net>.z<zone>.fidonet”. The Synchronet Mail Server rev 1.588 (Nov-24-2015) or later will accept email addressed in this manner and save the messages in the mail base as FidoNet netmail.
  • This feature allows FidoNet netmail to be sent using JavaScript methods (e.g. via the Synchronet Web Server)

In 2016, SBBSecho was overhauled and christened version 3. The documentation here is in the process of being updated to reflect all the changes in SBBSecho version 3.

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 usually, but sometimes three and sometimes five).

The main four 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 with that address is not a point node.

Zones can be grouped into named domains (e.g. @fidonet), but FTN domains are pretty rarely used in the twenty-first century.

A 2D (2 dimensional) address refers to an FTN address containing just the net and node numbers (e.g. 103/705).

A 3D (3 dimensional) address refers to an FTN address containing the zone, net, and node numbers (e.g. 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 (e.g. 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” (e.g. 1:103/705@fidonet).

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 “ArcMail/Attach-style Mailer”. Support for ArcMail/Attach-style mailers has been deprecated in SBBSecho v3 and unless there is anyone coming forward to test what support does remain, it will be removed in the future.

If you are using BinkD (Binkley daemon), Argus/Radius/Taurus, BinkleyTerm, Portal of Power, or any other mailer that uses Binkley-Style-Outbound (BSO) directories and FLO/CLO/HLO/DLO files (a.k.a. FLO-files), you are using what we will refer to as a “Binkley/FLO-Style Mailer”.

It is important that you select the correct “Mailer Type” in the echocfg utility (or sbbsecho.ini file).

NetMail

Point-to-point (usually person-to-person) directly-delivered or routed messages (now more commonly referred to as “e-mail” or just “mail”).

EchoMail

Group or conference messages of a particular subject matter (a.k.a Message Area). Usually distributed on a regional or continental (e.g. FidoNet Zone 1 backbone) scale. FTN style echomail areas have a unique name associated with them to distinguish each area from the others. These agreed upon area names are called Area Tags or Echo Tags.

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 files usually have a .pkt extension, although outbound NetMail packets for Binkley/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.

You can use the digital man's pktdump utility to view packet headers and help identify and fix problems with inbound and outbound packets.

Bad Packet

If SBBSecho cannot process an inbound packet file, it will rename the file, giving it a .bad extension. Checking the sbbsecho.log file for the reason for the Bad packet detected, if you can then remedy the problem and rename the *.bad files to *.pkt, SBBSecho will rediscover attempt to re-process the packet files. Alternatively, you can just delete .bad packets and perform a hub re-scan if you expect the packets contain only EchoMail (no NetMail) and you want the missing EchoMail messages from the packets.

Identifying Bad Packets
  1. File length is shorter than a packet header (58 bytes)
  2. Packet terminator (0x0000, 2 NUL bytes) missing from end of the file
  3. File read failure (e.g. permissions or file locking issue)
  4. Source address does not match expected address (e.g. for packets found in inboxes)
  5. Packet header cannot be parsed (e.g. is not a type 2 packet header)
  6. Packet header contains incorrect packet password
  7. Packet contains one or more “grunged messages” (e.g. packed message type is not 2)

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 .?_? or .?-? (e.g. *.mo0 would be renamed to *.m_0).

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.

Installation

SBBSecho expects to find an area file (e.g. areas.bbs) in your Synchronet data directory. The format of this file is very similar to the standard areas.bbs file (which many echomail programs use or support).

SCFG can also export a group of message areas (sub-boards) to an areas.bbs file. You may want to import a network's echolist (e.g. FidoNet's BACKBONE.NA) into a message group (using SCFG) first and then export from SCFG to the SBBSecho Area File once you're linked successfully with a network hub.

Area File Format

Each line of the SBBSecho Area File (e.g. areas.bbs) represents an EchoMail message area in the following format:

CODE TAG LINK [LINK] [...]

Where each field is separated by white-space (space or tab characters) and the fields are:

  • CODE is the internal code of the sub-board. Any unrecognized internal codes are considered pass-through (not imported into your BBS's message areas). Using “P” for the internal code of pass-through areas will prevent warnings from being logged about the internal code not being found in your BBS's message base configuration (e.g. in SCFG).
  • TAG is the FidoNet tag as shown in your echo list (e.g. BACKBONE.NA file). If the TAG field value is * (asterisk), then this area will be considered a “bad echo” area and will receive all messages for areas not otherwise specified in this file (sort of a 'catch-all' bin). You can only have one “bad echo” area configured in your Area File file and there are currently no provisions for re-scanning this area to move messages into subsequently configured sub-boards.
  • Each LINK field is a FidoNet address which you wish to import mail from export mail to. At the very least, your hub's address should be listed here. Your address should NOT be listed here. If multiple link fields are specified, you should specify the full 3D or 4D address for each.

Lines beginning with a semicolon (;) are considered comments, and are ignored.

Area File Example

FIDO_SBBS	SYNCHRONET	1:3615/50
FIDO_SYNCDATA	SYNCDATA	1:3615/50
FIDO_SYNC_SYS	SYNC_SYSOPS	1:3615/50

The amount of spacing (white-space characters including horizontal tabs and spaces) between each element in the line is not important. Each line may be up to 1000 characters in length.

Configuration

In order to set up SBBSecho for your system you must run the included echocfg utility or edit your ctrl/sbbsecho.ini configuration (text) file by hand.

Using echocfg

Command-line Syntax

Multiple configuration files can be used (but isn't usually required) for multi-mailer systems. The default SBBSecho configuration filename is sbbsecho.ini and 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.

If you do not specify a configuration file, echocfg and sbbsecho will use ctrl/sbbsecho.ini by default.

usage: echocfg [path/to/sbbsecho.ini] [options]

options:

-c  =  force color mode
-m  =  force monochrome mode
-e# =  set escape delay to #msec
-iX =  set interface mode to X (default=auto) where X is one of:
       W = Win32 native mode
       A = ANSI mode
       D = standard input/output/door mode
-v# =  set video mode to # (default=auto)
-l# =  set screen lines to # (default=auto-detect)

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. Using the Help option of the program (e.g. hitting the F1 key) can provide helpful context-sensitive text to the user (you).

╔═══════════════════════════════════════════╗
║             Configure SBBSecho            ║
╠═══════════════════════════════════════════╣
║ │Mailer Type               Binkley/FLO    ║
║ │Log Level                 Informational  ║
║ │Linked Nodes...                          ║
║ │Archive Types...                         ║
║ │NetMail Settings...                      ║
║ │EchoMail Settings...                     ║
║ │Paths and Filenames...                   ║
║ │Additional EchoLists...                  ║
╚═══════════════════════════════════════════╝

Mailer Type

Selecting this menu item will toggle between the mailer types supported by SBBSecho, either ArcMail/Attach-style mailers or (the preferred) Binkley/FLO-style mailers. Choose the one that matches your FTN mailer type.

Log Level

The Log Level menu option will allow you to determine the minimum severity of log entries that will be written to your SBBSecho log file (e.g. data/sbbsecho.log):

╔════════════════╗
║    Log Level   ║
╠════════════════╣
║ │Emergency     ║
║ │Alert         ║
║ │Critical      ║
║ │Error         ║
║ │Warning       ║
║ │Notice        ║
║ │Informational ║
║ │Debugging     ║
╚════════════════╝

Linked Nodes...

This menu item allows you to add, remove, and configure nodes that you will be sending mail to and accepting mail from. Selecting this option will bring you to a sub-menu which will look similar to the following:

╔═══════╗
║ Nodes ║
╠═══════╣
║ │     ║
╚═══════╝

At the Linked 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. A Node here does not necessarily identify a single FidoNet node, but can also be used to identify a group of nodes by using the ALL wildcard (indicating that a node configuration will be used for *all* nodes with a specific zone or zone:net).

╔════════════╗
║    Nodes   ║
╠════════════╣
║ │1:103/ALL ║
║ │2:ALL     ║
║ │1:10/1    ║
║ │ALL       ║
║ │          ║
╚════════════╝

Pressing ENTER on the currently highlighted node will allow you to edit the settings 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):

╔══════════════════════════════════════╗
║                1:10/1                ║
╠══════════════════════════════════════╣
║ │Address              1:10/1         ║
║ │Archive Type         ZIP            ║
║ │Packet Type          2+             ║
║ │Packet Password                     ║
║ │Areafix Password                    ║
║ │Areafix Flags                       ║
║ │Status               None           ║
║ │Direct               No             ║
║ │Passive              No             ║
║ │Send Notify List     No             ║
║ │Route To             Disabled       ║
╚══════════════════════════════════════╝

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:

╔══════════════╗
║ Archive Type ║
╠══════════════╣
║ │ZIP         ║
║ │ARC         ║
║ │LZH         ║
║ │ARJ         ║
║ │PAK         ║
║ │SQZ         ║
║ │ZOO         ║
║ │None        ║
╚══════════════╝

Selecting “None” will specify that this node is to receive uncompressed packets (no bundles).

Archive Software

Commandline versions of common archive programs can be found at Digital Distortions along with setup instructions here. One thing to note is that the latest release of ARJ is v3.20 and it complains about being outdated. An open source version is available here. It's been tested at Split Infinity and appears to be a seamless fit.

NetMail Settings

EchoMail Settings

Area Manager

This is the name or alias of the BBS user where notification of AreaFix failures should be sent (default: SYSOP). AreaFix failures include nodes sending AreaFix requests which are not configured for AreaFix operation, nodes using incorrect AreaFix passwords, and the like. Setting this option to a blank string will disable the notification feature.

Maximum Packet Size

This menu item 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 menu item allows you to specify the maximum size of each outgoing mail bundle.

Secure Operation

When set to 'Yes', SBBSecho will compare the origin of any incoming mail packets to the nodes in the Area 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.

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 Type ║
╠═════════════╣
║ │2+         ║
║ │2.2        ║
║ │2          ║
╚═════════════╝

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.

Route To

When configured for Binkley/FLO-style mailers, this option allows any mail sent to nodes matching this node entry's address (including the ALL wildcard matches), to be routed to a different address (e.g. your uplink/hub's address). This option is particularly useful for routed NetMail.

Attach-style mailers have their own routing configuration and that is why this option is not available in echocfg when configured for FrontDoor/Attach-style mailers.

Paths...

This menu item allows you to configure the paths and filenames which are used by SBBSecho. Selecting this option will bring you to the following sub-menu:

╔══════════════════════════════════════════════════════════╗
║                    Paths and Filenames                   ║
╠══════════════════════════════════════════════════════════╣
║ │Inbound Directory              <Specified in SCFG>      ║
║ │Secure Inbound (optional)      None Specified           ║
║ │Outbound Directory             /binkd/outbound/         ║
║ │Area File                      SCFG->data/areas.bbs     ║
║ │Log File                       SCFG->data/sbbsecho.log  ║
╚══════════════════════════════════════════════════════════╝

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.

Toggle Options...

These options allow you to toggle various features in SBBSecho. Selecting this option will bring you to the following sub-menu:

╔═══════════════════════════════════════════════════════════════╗
║                         Toggle Options                        ║
╠═══════════════════════════════════════════════════════════════╣
║ │Secure Operation                                  No         ║
║ │Convert Existing Tear Lines                       Yes        ║
║ │Fuzzy Zone Operation                              No         ║
║ │Store PATH Lines in Message Base                  No         ║
║ │Store SEEN-BY Lines in Message Base               No         ║
║ │Store Unknown Kludge Lines in Message Base        No         ║
║ │Allow Nodes to Add Areas in the AREAS.BBS List    Yes        ║
║ │Strip Line Feeds From Outgoing Messages           No         ║
║ │Kill/Ignore Empty NetMail Messages                No         ║
║ │Circular Path Detection                           Enabled    ║
║ │Bundle Attachments                                Kill       ║
╚═══════════════════════════════════════════════════════════════╝

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:

╔══════════════════╗
║ Archive Programs ║
╠══════════════════╣
║ │ZIP             ║
║ │ARC             ║
║ │LZH             ║
║ │ARJ             ║
║ │PAK             ║
║ │SQZ             ║
║ │ZOO             ║
║ │                ║
╚══════════════════╝

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):

╔══════════════════════════════════════════════════════════╗
║                            ZIP                           ║
╠══════════════════════════════════════════════════════════╣
║ │Packer Name          ZIP                                ║
║ │Hexadecimal ID       504B                               ║
║ │Offset to Hex ID     0                                  ║
║ │Pack Command Line    %@zip -jD %f %s                    ║
║ │Unpack Command Line  %@unzip -ojC %f -d %s              ║
╚══════════════════════════════════════════════════════════╝

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 menu item 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 item will bring you to a sub-menu listing any additional echo lists you currently have defined:

╔═══════════════════════╗
║ Additional Echo Lists ║
╠═══════════════════════╣
║ │/fidonet.na          ║
║ │                     ║
╚═══════════════════════╝

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                        ║
╠══════════════════════════════════════════════════════════╣
║ │Echo List Path/Name  /fidonet.na                        ║
║ │Hub Address          None                               ║
║ │Forward Password     None                               ║
║ │Forward Requests     Yes                                ║
║ │Echo List Flags                                         ║
╚══════════════════════════════════════════════════════════╝

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.

Running SBBSecho

We suggest you use the following command lines (e.g. configured in SCFG→External Programs→Timed Events: For importing netmail and echomail (e.g. FIDOIN timed event):

sbbsecho -ce

For exporting netmail and echomail (e.g. FIDOOUT timed event):

sbbsecho -ni

Command Line

usage: sbbsecho [cfg_file] [-options] [sub_code] [address]

where: cfg_file is the filename of config file (default is ctrl/sbbsecho.ini)
       sub_code is the internal code for a sub-board (default is ALL subs)
       address is the FTN node/link to export for (default is ALL links)

sbbsecho, by default, will:

 * Process packets (*.pkt) from all inbound directories (-p to disable)
 * Process netmail (*.msg) files and import netmail messages (-n to disable)
 * Delete netmail messages/files after importing them (-d to disable)
 * Import and forward packetized echomail messages (-i to disable)
 * Export local netmail messages from SMB to *.msg (-c to disable)
 * Export echomail messages from selected and linked sub(s) (-e to disable)
 * Load echomail export pointers before exporting (-m to disable)
 * Store echomail export pointers after exporting (-t to disable)
 * Packetize outbound netmail as req'd for BSO/FLO operation (-q to disable)

sbbsecho, by default, will NOT:

 * Export echomail previously imported from FTN (-h to enable)
 * Update echomail export pointers without exporting messages (-u to enable)
 * Generate AreaFix netmail reports/notifications for links (-g to enable)
 * Display the parsed area file (e.g. AREAS.BBS) for debugging (-a to enable)
 * Prompt for key-press upon normal exit (-@ to enable)
 * Prompt for key-press upon abnormal exit (-w to enable)

NOTE: The command-line options changed considerably between SBBSecho version 2 and version 3. Some of the removed options became settings in the sbbsecho.ini file while others were just removed for lack of need. To be sure to not break compatibility with existing Synchronet/SBBSecho configurations (e.g. FIDOIN and FIDOOUT timed event command-lines), the removed legacy command-line options are just silently ignored by SBBSecho v3.

Area Manager Commands

Remote area manager, or AreaFix, commands are used by linked nodes in order to turn echo areas off and on, list currently connected areas, and more. The following text is from the file areangr.hlp which, after installation of SBBSecho, should be located in your Synchronet exec directory. This file lists the area manager commands available to the linked 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 (e.g. ARC/ARJ/LZH/PAK/SQZ/ZIP/ZOO)
%PASSWORD <password>  Change your AreaMgr password
%RESCAN               Request a rescan of all connected areas
%RESCAN <areaname>    Request a rescan of a single connected area
%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.

Version 3

SBBSecho version 3 development began in 2016 using SBBSecho version 2 (originally written by King Drafus and maintained/updated by Digital Man) as a starting point. Although not a complete rewrite, it contains enough substantial/fundamental changes and backward-incompatibilities and enhancements that a new major version number (3) was justified.

Changes in Version 3

For a detailed list of changes and code differences introduced in v3.0, see This page in CVS.

The most major changes introduced in v3.0 are:

  1. New configuration file format (sbbsecho.cfg replaced with sbbsecho.ini)
  2. Support for FileBoxes (BinkD-style inbox and outbox, configured per linked-node)
  3. Much better organized and user-friendly echocfg (e.g. lots of context-sensitive help available)
  4. Attach/ArcMail style mailer support has been deprecated (untested, unlikely to work) in favor of Binkley/FLO type mailers
  5. “Additional EchoList” 4-char “flags” are now 25-char “keys” and much easier to deal with
  6. Far fewer command-line options, more settings in EchoCfg
  7. Multiple sysop aliases supported (for receiving netmail)
  8. Mutual-exclusion-lock file (ctrl/sbbsecho.bsy) to prevent accidental concurrent invocations of SBBSecho
  9. Maximum msg age configurable for NetMail and EchoMail (separately)
  10. Better security for inbound packets (strict packet password enforcement, enabled by default)
  11. All temporary files (e.g. packets in process) are created in an SBBSecho-specific temporary file directory
  12. More comprehensive log output; the log file output is more of a priority than the console output now
  13. Packet Type-2e (FSC-39.4) support
  14. Bad message area file (e.g. data/badareas.lst) creation and maintenance

Upgrading to Version 3

To upgrade a Synchronet system that was using SBBSecho v2 to now use SBBSecho v3, all you should need to do is run jsexec sbbsecho_upgrade.js in your Synchronet exec directory. This will handle the conversion of your existing sbbsecho.cfg file to the new sbbsecho.ini file. If for some reason you want to revert to using SBBSecho v2 again, you should be able to just rename sbbsecho.cfg.old to sbbsecho.cfg and run v2 of sbbsecho and echocfg again.

Version 2 sbbsecho.cfg options which are not automatically migrated for v3 sbbsecho.ini:

  • NOTIFY
  • LOG
  • NOCIRCULARFWD

If you have multiple SBBSecho v2 configuration file(s) (e.g. othernet.cfg), you can upgrade them to the new v3 .ini format by passing the old and new filesnames on the sbbsecho_upgrade.js command-line, e.g. jsexec sbbsecho_upgrade.js othernet.cfg othernet.ini.

Migrating Command-lines to Version 3

Although the old import and export SBBSecho command-lines (e.g. pre-configured for the FIDOIN and FIDOOUT timed events in SCFG→External Programs→Timed Events) will continue to work, some of the old command-line options are now ignored or serve a different purpose in version 3:

Option Version 2 Version 3
-l enable logging to disk logging is now always enabled
-f packetize netmail default behavior; use the new -q option to disable
-j ignore received bit on netmail enabled via sbbsecho.iniIgnoreNetmailRecvAttr
-a export ASCII characters only use the sub-board toggle option in SCFG
-y import netmail for unknown users to sysop configured via sbbsecho.iniDefaultRecipient
-o import netmail regardless of destination address configured via sbbsecho.iniIgnoreNetmailDestAddr
-s import private echomail (strip private status) deprecated
-! notify users of received echomail configured via sbbsecho.iniEchomailNotify
-x do not delete packets after import configured via sbbsecho.iniDeletePackets
-r create report of import totals deprecated
-b import locally created netmail too configured via sbbsecho.iniIgnoreNetmailLocalAttr
-= change existing tear lines to === configured via sbbsecho.iniConvertTearLines

The only command-line option that actually changed meaning in version 3 was -a which is now used to log the parsed Area File (e.g. AREAS.BBS) for debugging purposes.

Run sbbsecho -? to get a list of the current set of supported command-line options and their meaning.

Log Output Changes in Version 3

The log file (default: data/sbbsecho.log) is now created/updated always whereas in version 2, the log file was only written if the -l option (now deprecated) was passed to SBBSecho. As in version 2, the log filename can be configured (now in sbbsecho.ini→LogFile).

In version 2, the logging of specific SBBSecho operations could be enabled/disabled via sbbsecho.cfgLOG or echofg→Log Options. In version 3, the sysop only has control over the logging verbosity/severity (via sbbsecho.iniLogLevel). For example, to log only errors, set the LogLevel to “Errors”.

Version 3 Time-stamp Format

The log file time-stamp format changed in Version 3 to YYYY-MM-DD HH:MM:SS. If you wish to use the version 2 time-stamp format, set sbbsecho.iniLogTimeFormat to “%m/%d/%y %H:%M:%S”.

See Also


In Other Languages
Translations of this page:
QR Code
QR Code SBBSecho (generated for current page)