Each BBS in the FORWARD.BBS file has certain attributes
associated with it. Almost ALL of them have defaults which as
assigned to a BBS as the parsing of its entry begins. Any defined
attributes will override the default attributes for that BBS.
All BBS Attributes are of the format 'KEYWORD = parameters'.
There can be any amount of whitespace before the KEYWORD, and
surrounding the '='. The parameters do not start till the first
non-whitespace character after the '='. If more than one of an
certain Attribute is processed, then only the last is used.
Most of the available attributes are simple attributes. Simple
attributes are attributes which either set a boolean value (yes
or no), a numeric value, or a string. Only one value is set for
each simple attribute.
Currently supported simple attributes include:
- ALTTIME = xxx
- sets the default delay time (in minutes) to be used for
any Alternate BBS routings that do not specify a time.
The default for this attribute is '720' minutes (12 hours).
- ALWAYSUPDATE = [YES | NO]
- determines whether or not the 'laston' time will always
be updated on connection. If this is set to 'NO' then the
'laston' value is only updated when a value SID has been
exchanged between the two PBBSs (or TNCs). This should
normally be set to 'NO', and should only be needed if you
are communicating with an extremely dumb TNC's messaging
system, which does NOT use SID's on startup. The default
for this attribute is 'NO'. The ALWAYSUPDATE attribute
was added in TNOS 2.22, and can be found in any
release after that release.
- BULLETINS = [YES | NO]
- sets whether or not bulletin messages are are to be
forwarded. This can be used to restrict bulletins being
forwarded only during certain hours or only by certain
connect methods, or only in certain forwarding modes, etc.
Bulletins are messages in areas defined in the 'etc/areas'
file. The default for this attribute is 'YES'. The
BULLETINS attribute was added in TNOS 2.02pl2, and
can be found in any release after that release.
- CLOCKOFFSET = xx
- determines how to adjust your local time before sending
it, when setting a remote TNC's clock. This is only used
in connection with the CLOCKSET Attribute. If the remote
station does NOT have a 'C' in their SID, then this
attribute is ignored. Use a '1' to add one hour to
localtime, a '-1' to subtract one hour, etc. The default
for this attribute is '0'.
- CLOCKSET = [YES | NO]
- determines whether or not you will send a command to the
remote TNC to set their clock, if they request it. Many
TNC's (like PacComm's) Mailboxes send out a 'C' in their
SID, which says, 'set my clock'. TNOS will do this on
forwarding sessions, if this Attribute is 'YES'. If the
remote station does NOT have a 'C' in their SID, then
this attribute is ignored. The default for this attribute
is 'YES'.
- CONNECT = constr
- sets the connection string 'constr' to be used in setting
up the connection for forwarding. This can be one of the
follow:
- ax25 <ifc> callsign [optional digis]
for an ax25 connection (with optional digis).
- connect <ifc> callsign [optional digis]
for an alternate way of specifying an ax25
connection (with optional digis).
- netrom <nodename>
for a netrom connection
- telnet <hostname>
for a telnet connection
- export
for an export file based on the BBS name
- incoming
for BBSs that only have incoming connects.
This should NOT be used with conditionals for
'TRY'
*IF* a valid connect is NOT found (either due to
omission or conditional processing), the BBS will not be
processed. There is NO default for this attribute.
- DUMBPMS = [YES | NO]
- indicates that this 'PBBS' is actually a TNC with a dumb
PMS (dumb meaning that it does NOT send a 'SID' upon
connection). This should ONLY be used if (indeed) this is
a dumb PMS, since it disables some code which prevents
the possibility of duplicate messages entering your TNOS.
Before using this attribute, use the 'forward trace'
command, to ensure that the SID is not being sent by the
TNC. If it IS being sent, but TNOS is not seeing it, then
you have a flawed SCRIPT section, which is eating the
needed SID. This should normally be set to 'NO', and
should only be needed if you are communicating with an
extremely dumb TNC's messaging system, which does NOT use
SID's on startup. The default for this attribute is 'NO'.
The ALWAYSUPDATE attribute was added in TNOS 2.22pl2,
and can be found in any release after that release.
- FBBSIZE = xx
- sets the maximum size for the FBB data proposal to queue
for sending. Normally, with the default for this
attribute being '0', there will be up to 5 messages sent
during the negotiation (assuming you have at least 5 to
send). If this attribute is non-zero, then after added a
message to the negotiation, a check is made to see if the
total size of the negotiation is now larger than the
'FBBSIZE', and if so, no more messages will be added to
the negotiation block. This means that the 'actual
maximum' size of your block *could* be:
('FBBSIZE' - 1) + ('SIZE' - 1)
This is *IF* the negotiation packet was at least one
byte less than the 'FBBSIZE' attribute, and the next
message was one byte less than the 'SIZE' attribute.
For example, if the 'SIZE' attribute is 6K, and the
'FBBSIZE' attribute is 6K, and message 1 is 2K, message 2
is 2K, and message 3 is 5K, then it will not attempt to
add a 4th message to the negotiation, as it already has a
negotiation size of 9K.
- LIMITTIME = xxx
- sets the maximum forwarding session time (in minutes) to
be used on forwarding sessions. The default for this
attribute is the value set by the 'forward limittime'
command. The LIMITTIME attribute was added in TNOS
2.11al, and can be found in any release after that
release.
- LIMITTYPE = type
- This allows you to limit the forwarding protocol type
used with this BBS. Values for 'type' are:
- FBB for FBB compressed forwarding
- FBB-NONCOMPRESSED for FBB non-compressed
forwarding
- X-FWD for W0RLI X-compressed forwarding
- MBL or RLI for non-FBB forwarding.
This only sets the BEST protocol available, (in
the order listed above from best to worst), and any
lesser protocol CAN be used. The default for this
attribute is 'FBB', or any available protocol, with no
limitation. The LIMITTYPE attribute was added in TNOS
2.02pl2, and can be found in any release after that
release.
- MINIDLE = xxx
- sets the minimum idle time (in seconds) to be used
between outbound forwarding sessions. The default for
this attribute is the value set by the 'forward minidle'
command. The MINIDLE attribute was added in TNOS 2.11al,
and can be found in any release after that release.
- PERSONALS = [YES | NO]
- sets whether or not personal messages are are to be
forwarded. This can be used to restrict personal messages
being forwarded to only during certain hours or only by
certain connect methods, or only in certain forwarding
modes, etc. Personal messages are messages in areas NOT
defined in the 'etc/areas' file. The default for this
attribute is 'YES'. The PERSONALS attribute was added in TNOS
2.02pl2, and can be found in any release after that
release.
- POLL = [YES | NO]
- determines whether to poll the BBS, even if no outbound
data is waiting. The default for this attribute is 'NO'.
- REVINCOMING = [YES | NO]
- determines whether or not reverse forwarding will be
asked for to the remote BBS, after sending any outbound
data. This MUST be set to 'YES' if POLL is 'YES'. Also,
this Attribute has NO EFFECT, if you are using
FBB-style forwarding with this BBS. The default for this
attribute is 'YES'.
- SIZE = xxx
- sets the maximum message size allowed, in bytes. The
default for this attribute is '0', which means any size
message will be allowed.
- SUBCHANNEL = xx
- sets the BBS to use subchannel number 'xx'. The default
for this attribute is no subchannel (-1). Valid
subchannel numbers start with 0.
- TRIES = xx
- sets the maximum number of different connection methods
defined for this BBS, with conditional processing. This
is read and used to re-process the BBS for as many times
as needed. The default for this attribute is '1'.
There are two attributes that do not define simple variables,
but instead define attribute lists. There are currently only two
compound attributes.
The SCRIPT Attribute
The SCRIPT attribute has several script commands available to
help make a successful forwarding connection. A SCRIPT attribute
is optional. There is NO default for this attribute.
This is not needed for most people, but can be quite useful for
traversing NODES, logging into telnets, etc. The SCRIPT attribute
CANNOT have conditional processing WITHIN the
attribute, but it is acceptable to have several SCRIPT attributes
that are totally contained WITHIN conditional processing.
Multiple SCRIPT attributes (if defined) are appended in the order
found.
The format of the SCRIPT Attribute is:
SCRIPT = {
command
command
}
Supported SCRIPT Commands
Each SCRIPT atribute can have many commands in its definition,
enabling you to set up as detailed of a connection script as you
require.
Current available commands that can be used within a SCRIPT
attribute are:
- SEND string
- sends the specified 'string' to the BBS
- WAIT nnn string
- waits up to 'nnn' seconds for the remote BBS to send the
string 'string'.
- SID [sidstr]
- this 'fools' TNOS into believing it just received the SID
'sidstr', and gets it to process that SID. TNOS will
reply with IT'S SID, *to* the remote BBS. This is not
needed, usually.
The AREAS Attribute
The AREAS attribute is used to define which areas are to be
sent to the BBS being defined. Only messages within these areas
will be sent. While this is an OPTIONAL attribute, a BBS defined
without an AREAS attribute does not serve much of a purpose.
The AREAS attribute has several options available for each
area defined. The AREAS Attribute CANNOT have conditional
processing WITHIN the Attribute, it is acceptable to
have several AREAS attributes that are totally contained WITHIN
conditional processing. Multiple AREAS attributes (if defined)
are appended in the order found.
Format of the AREAS Attribute
The format of the AREAS Attribute is:
AREAS = {
areaname [rewrite] [ALT[=bbsname[,time]]]
areaname [rewrite] [ALT[=bbsname[,time]]]
}
The areaname is required on each line. There can be any amount
of whitespace preceeding the areaname, and surrounding the
optional rewrite address. The 'rewrite' address is an address
that all mail send from this area can have 'forced' upon it,
changing the original 'To:' address to this rewrite address.
The AREAS Attribute's 'ALT' Parameter
The ALT parameter of an AREAS line can have one of three forms:
- ALT
- marks this BBS to be an Alternate BBS for this area. New
mail does not automatically get added to this BBSs
forwarding queue until it has reached it's alternate time
from the original BBS. At that time, it is removed from
the original BBS, and placed into the Alternate BBSs
queue.
- ALT=bbsname
- marks this area to have 'bbsname' as an Alternate BBS,
and have it's alternate time be this BBSs 'ALTTIME'
Attribute's value. When the alternate time has passed and
a message still remains on the BBS, it will be added to
'bbsname's forwarding queue.
- ALT=bbsname,time
- same as above, except the alternate time is overridden
with 'time'
There can be any number of 'ALT=' parameters on an area line,
but the 'ALT' and 'ALT=' parameters are mutually exclusive.