home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hacker Chronicles 2
/
HACKER2.BIN
/
212.MANUAL.BBS
< prev
next >
Wrap
File List
|
1988-06-22
|
94KB
|
2,770 lines
***************************
*** THE C-BBS MAILBOX ***
***************************
1. Getting Started
2. The Configuration File
3. The Forward File
4. Commands (user and sysop)
5. Prtlog, Printer, and Files used
6. Log, List, and Distributation Files
7. Protocols (bid's, zip's, sid's, sending)
8. DoubleDos operation
9. Desqview operation
Appendix A. Changes.mb
Appendix B. Config.mb
INTRODUCTION AND PURPOSE
This is the documentation for the C-BBS Mailbox system. It was
originally written by Hank Oredson. It is being continued by a
small group of packet programmers so that sysops will have the
source code available. The purpose is simply to allow sysops to
use, learn, and understand the "C" programming lauguage and it's
use in running the C-BBS Mailbox system. This way the code can be
customized to suite sysop needs. Also, as bugs are found, it
allows the sysop to search the source code for the necessary
corrections.
Be forewarned that only the RELEASE versions of this software will
be supported. Bug reports and enhancements are appreciated. This
is a group effort and as such, more time is available for
comments.
Chapter 1 ------------------ GETTING STARTED ------------------------- Page 1
***********************************************************
*** C-BBS MailBox and GateWay Version 4.6 - 6/10/88 ***
***********************************************************
Initially created for packet community by:
Hank Oredson, W0RLI
134 Ponderosa Drive
Santa Cruz, CA 95060
You may obtain versions of the code in several ways.
1) The MS-DOS version is available on Compuserve HamNet.
Version 4.6 is available from:
Edward T. Picchetti, K3RLI Joseph P. Lagermasini, AG3F
355 Ridge Road 206 Wilmot Drive
Wilkes-Barre, Pa. 18702 Towanda, Pa. 18848
Version 4.6 for Turbo C is available from:
John S. Robinson, WA3TSW
312 Evergreen Road
Horsham, Pa. 19044
A special thanks to those who send little chunks of code with bug
fixes or new features. W1GOH, AG3F, KC8TW, KA2BQE, KD7XG, VE3GYQ,
K1BC, WA3TSW, JA1KSO and many others have contributed to this
effort.
Thanks also to VE3GYQ for the GateWay code, AA4RE and WA7MBL for
the IBM port drivers.
See the section CHANGES.MB for details on new features included
and bugs fixed in this release.
***************
*** Warning ***
***************
If you are now running a version prior to 4.0 you must convert
your existing message and user files to version 4 format.
First, backup all files in the directory used by the MailBox. In
case something goes wrong, you will be able to restore everything
to where it was without loss of messages.
The conversion from earlier versions to version 4 is done by
MBCONV. Set the default directory to the directory containing the
MAIL.DAT and USER.DAT files. Then run MBCONV.
If you are running a version prior to 3.0 you must first make
certain that the message text has been moved to individual files.
Do this by executing the GF command.
*** Note ***
COMXBIOS has been replaced by PIPE. The old COMXBIOS device
driver will not work with versions of the MailBox beyond 4.0.
Chapter 1 ------------------ GETTING STARTED ------------------------- Page 2
Please read the configuration section very carefully with regard
to configuring your system to make use of the PIPES. It has been
tested with DoubleDOS and works, and with 4 PIPE Ports definable,
you should be able to run 4 separate copies with DESQVIEW.
Check that any sub-directory you use in config.mb exists, the
existance of most directory / device paths is NOT checked.
***********************
*** Getting started ***
***********************
The code will run under DoubleDOS or DESQView. It requires about
100k to 150k partition size.
The code will run under Micrsoft Windows, but there will probably
be difficulties with the serial ports. These difficulties will
appear as lost characters from the tncs. If it works for you,
please let me know - what machine, how many ports, which ports,
how did you set it up, etc. etc. I do not have Microsoft
Windows, so cannot check this myself.
All developement work has been done with the Microsoft C compiler
version 4.10. Some Microsoft specific library functions are used,
these functions should exist with any C compiler. The names,
arguments, and required header files for these functions might be
different with other compilers. All of these differences should
appear in the module MBIBM.C
Hank no longer is writing version 4.x of the code. He is allowing
it to be developed by others interested in developing this
version. Dave, VE3GYQ has released version 4.4 of this code and
K3RLI and AG3F have released version 4.6. This is the latest
version.
BRINGING THINGS UP FOR THE FIRST TIME.
1) If you receive ARC files extract the MailBox files:
ARC51 E RUNxx.ARC
ARC51 E IOxx.ARC
You will have a lot of files, but do not panic.
2) The cable between the tnc and computer should have pins 2,3,4,5,
6,7,8, and 20 connected. Hardware flow control is used in both
directions.
Configure the TNC's using the appropriate .SET file, TNC1.SET for
a tnc1, TNC2.SET for a tnc2, PK232.SET for a pk232. The parameters
differ depending on the type of tnc you are using.
3) Make a config.sys file in your root directory of the boot drive.
CONFIG.SYS
FILES=20
BUFFERS=20
4) Prepare an AUTOEXEC.BAT file to set up the serial ports at boot up.
Chapter 1 ------------------- GETTING STARTED ------------------------ Page 3
Example:
TIMER --> Your clock program to set the time and date.
BRBIOS --> The bios program that you are using. It can be any of
bios programs that suite your needs. From MBBIOS to
BRBIOS for two ports, to BR1BIOS for the comm1 port.
MBMODE COM1:4800,N,8,1 --> Sets the comm1 port for 4800 baud. You
could use 2400, or even 1200 baud if
necessary.
MBMODE COM2:4800,N,8,1 --> Sets the comm2 port.
CD MB --> Changes you to the MB subdirectory.
MB --> Starts the mailbox program.
4) The proper BIOS should be used depending on the number of ports
used. MBBIOS may be used and configured, or you can use BRBIOS
if you have two ports, BR1BIOS if using comm1, BR2BIOS if using
comm2. A MBMODE line must be used for every comm port used.
6) Edit CONFIG.MB for your configuration. Set up various subdirect-
ories for user files and for Mailbox working files.
7) Plug in the tncs.
Make sure they are set for hardware handshake,
see the *.SET files for examples of correct tnc parameter settings.
8) Put it on the air!
Chapter 2 ------------------------------------------------------------ Page 1
********************************
*** The Configuration File. ***
********************************
The file CONFIG.MB is a text file that contains all site-specific
parameters. Edit it to have the proper parameters for your site.
The form $x is a variable text field. The "$x" is replaced by the
current value for that text.
$A - @ BBS of the current message.
$B - Type of current message.
$C - Next available message number.
$D - The current date.
$E - The message title (used for RFC822 headers)
$F - Name of "other port", as used in the M, U, and C commands.
$G - TO of the current message.
$H - Hang at end of line (suppress carriage return).
Use at end of line only. DO NOT USE on lines that go to tnc.
$I - Users name, from user file.
$J - Date from current msg header
$K - Time from current msg header.
$L - Number of the last message.
$M - Message number from current msg header.
$N - Number of active messages.
$O - Sysops callsign.
$P - FROM from current msg header.
$Q - Sysops QTH
$R - Call in a "connect request:" from either TNC.
$S - Call of the end node station connected via the slave TNC.
Seen initially in "*** CONNECTED to:" when the adjacent node
connects, may be seen in "*** LINKED to:" from the adjacent node.
$T - The current time.
$U - User callsign.
$V - Display the software version.
$W - Name of the "other user" in GateWay mode. (See $F and $S).
$X - Date user last logged in.
$Y - Time user last logged in.
$Z - Last message number when user last logged in.
$a - BBS of origination of message.
$j - Date message was entered at originating BBS.
$k - Time message was entered at originating BBS.
$m - Message number at originating BBS.
*************************
*** CONFIG.MB LINES ***
*************************
The first section (to the first *** EOF) is the port configuration info.
Two lines per port.
The first line contains the port definition, the second line the port name.
The port definition line is made of several fields, seperated by blanks:
Field 1:
The first character is the Port ID,
the second and following characters give information about the port:
Chapter 2 ------------------ CONFIGURATION FILE ---------------------- Page 2
(Continued)
B - BBS only may connect.
C - This port is the local console.
D - File download allowed from this port.
E - This port requires echo. (True only for the console.)
G - GateWay use is allowed to this port.
I - Kick off user that connects using illegal call.
L - This port requires LF after CR.
M - Monitoring is allowed to this port.
P - This port has a printer attached.
R - Remote sysop allowed on this port (if user marked as sysop).
S - This is a raw serial port (another system or a terminal).
T - This port has a TNC with TAPR commands connected.
U - File upload allowed from this port.
X - TNC can use transparent mode for connects.
Z - This port is one of the in memory "pipe" ports (COM23 - COM26).
1 - Echo monitored packets to the console.
2 - Echo user data and forwarding to the console.
3 - Echo TNC commands to the console.
Field 2: Connect timeout, in seconds.
Field 3: Disconnect timeout, in seconds.
Field 4: Monitor timeout, in seconds.
Field 5: Max lines allowed in monitor.
Field 6: Number of entries retained in J list.
Field 7: Number of digipeaters allowed on connect.
Field 8: Minute of the hour to attempt forwarding.
Field 9: Number of command errors allowed before user kicked off.
Field10: Seconds to wait in forward when a timeout occurs before continuing.
The second section (to the second *** EOF) is directory path definitions.
Three lines per path.
The first line is a single character path ID,
followed by "D" if downloading is allowed, and "U" if uploading is allowed.
The second line is the path, with trailing '\'.
The third line is the name of the path, as shown to the user.
The third section (to the third *** EOF) is the "@ BBS" translation list.
Each line has two fields, the first is the @ BBS as received,
the second is what to translate it to.
For example; to remove your own call from the @ BBS field of all messages,
simply include one line with just your call on it.
The fourth section (to the fourth *** EOF) is the "hold calls" list.
Any message entered TO, FROM, or AT one of these calls will
be held (not forwarded) until the status is changed to N by the sysop.
The fifth section (to the fifth *** EOF) is the login message.
Keep it short. Maximum is 255 characters.
The next line is the "bbs and expert user" prompt. Keep it SHORT!
The next line is the remote sysop prompt. Keep it SHORT!
The next line is the normal MailBox prompt.
The next line is your call.
The next line is your QTH.
The next line is the call of your local WP server.
(Place a blank line here if you do not wish to generate updates to WP.)
Chapter 2 ------------------ CONFIGURATION FILE ---------------------- Page 3
(Continued)
The next line is the file name to use for the help (H) text.
The next line is the file name to use for the info (I) text.
The next line is the file name to use for the auto-forwarding file.
The next line is the file name to use for the log file.
The next line is the file name to use for the "J" list save file.
The next line is the file name to use for the mail file.
The next line is the file name to use for the mail backup file.
The next line is the file name to use for the user file.
The next line is the file name to use for the user backup file.
The next line is the directory to put the message files in.
The next line is the file name to use for the BID file.
The next line is the file to put monitored calls into.
The next line is the maximum number of monitored calls to save.
YES x Where x is D=DoubleDOS, V=DesqView. NO to NOT give idle time.
YES x if PIPE is present, x is local port (W, X, Y, Z), NO if not present.
The next 3 lines control prompting for user information.
YES to prompt user to enter his name.
YES to prompt user to enter his home MailBox.
YES to prompt user to enter his ZIP or postal code.
The next five lines control logging. (what goes into LOG.MB).
YES to turn on logging. Only connects/disconnects are logged.
YES to turn on GateWay event logging.
YES to turn on file transfer logging.
YES to turn on message event logging.
YES to turn on logging of local commands.
The control character to use to kick user off system.
The control character to use to return from talk.
The control character to use to interrupt and go to talk.
The control character to use to take the MailBox off-line.
Prompt before continue at end of page of output.
The next line is sent to the console each time a prompt is sent to the user.
The next line is sent to the user when a connect request occurs.
The next line is the message to send when
you break into a MailBox session to talk to the user.
The next line is the response to the user when he wants to talk to you.
The next line is the message to send when
you are not available to talk to the user.
The next line is the message to the console when the user wants
to talk to you.
The next section, one line per message, is the GateWay messages:
Message when GateWay not available.
Message going into unproto mode.
Message when attempting a connect.
Message when connect fails.
Message to master tnc when connect succeeds.
Message when connect attempt aborted by user.
Message to send to master when entering monitor mode.
Chapter 2 ------------------ CONFIGURATION FILE ---------------------- Page 4
(Continued)
The next section, one line per message, is the message and file prompts.
Prompt for title of message.
Prompt for message text.
Message to send at login if user has new mail.
Message list header. Observe columns if you change.
Line to pre-pend to a forwarded message.
Message to send to console when untangle and file empty.
Message to send to console when starting an untangle.
Message to send as each msg deleted with KM.
Prompt to edit TO.
Prompt to edit AT BBS.
Prompt to edit TITLE.
Prompt to edit TYPE.
"This message is not NTS traffic".
Max # of calls in BT "unread mail" list.
Max # of calls in forwarding "unread mail" list.
YES to enable auto-kill of normal messages after auto-forward.
(NO leaves the message with status set to 'F').
YES to enable auto-kill of "F" & "B" type messages after auto-forward.
YES to generate a service message on KT.
YES to enable the ET command.
Number of days old a bulletin is when it is called old.
Number of days old an NTS message is when it is called old.
Number of days old a user message is when it is called old.
Prompt for file text.
Default user name.
Message when compress user file.
Header for list of user records.
Prompt to delete user record.
The next section, one line per message, is the error/status messages:
Reminder to user that he has not entered his name.
Reminder to user that he has not entered his home MailBox.
Reminder to user that he has not entered his ZIP or postal code.
Message for I/O error.
Message for "can't find it".
Message for protection violation (tried to read private msg etc.).
Message for "file exists, and you can't erase it".
Message for timout.
Message for "I didn't understand the command you gave".
Message for done (command completed).
Message for "There ain't no such port".
Message for "There ain't no such directory".
Message for "No such file."
Message for "No such message."
Message for "Port is in use."
Password ( 64 characters for remote sysop use )
*****************************************
*** ALTERNATE DISPLAY OF TNC COMMANDS ***
*****************************************
If you leave out the 3 in the port configuration in config.mb, you
will not see the tnc commands on the bbs. What you will see is
the PORT Configuration LETTER (a,b,c) of where the tnc command is
going. If the tnc accepts the command it will be in upper case;
if not it will be in lower case. This is useful when running
multiple copies of the bbs under doubledos, or desqview, as it
speeds up the screen display, and makes things work faster.
Chapter 3 ------------------ FORWARD FILE ---------------------------- Page 1
Automatic forwarding of messages to other MailBox systems.
The file FWD.MB contains information that drives the automatic
forwarding of messages. If the file does not exist, no forwarding
is done.
The file contains several kinds of information:
1) Command scripts.
Command scripts are supported through C, S, and R items.
The command script precedes the F or G list that uses it.
A C item gives the connect string to send to the local TNC:
CC W6AMT
An S item is a line to send:
SC W6AMT-3
An R item is a match for a partial expected response:
RW6AMT} Connected to W6AMT-3 ---> It can be whole line or
RConn ---> a partial response.
In the case that ANY response is valid use:
R!
There can only be one C item in a script, but may be as many R and
S items as are required. As an example, the script for W0RLI in
Santa Cruz using NET/ROM to connect with KA6IQA in San Diego is:
CC W6AMT (This connects me to the local PAD)
SC W6AMT-3 (Connects to the PAD closest to KA6IQA)
RW6AMT} Connected to W6AMT-3 (Expected PAD response)
SC W6AMT-4 (Connects to next PAD)
RConn (Expected partial PAD response)
SC KA6IQA (This connects me to KA6IQA)
RConn (Expected partial PAD response)
GF0023C KA6IQA (The usual forwarding list)
KA6IQA (Forward messages TO or AT KA6IQA)
K6AMT
W6ICU
*** EOF (End of list marker)
2) Routing lists.
E, F, G, and H lists are lists of stations for whom you should
forward mail. They are grouped by the call of the MailBox to
which the messages will be forwarded. Each list has a header
line, any number of callsigns or sublists, and the list terminator
("*** EOF").
A "G" list is used to do conventional forwarding. All BBS systems
will respond correctly if you use a "G" list. An "F" list is used
when the system you will connect to supports reverse forwarding.
If you do not wish to use reverse forwarding (and I suggest you do
not), simply always use "G" lists. An "H" list acts the same as
an "F" list, except that the connect and probe for reverse
forwaring will occur even if you do not have any messages to
forward. A "E" list acts like a "G" list, except the forwarding
is not done, the list is only used when someone requests reverse
forwarding.
Chapter 3 ------------------ FORWARD FILE ---------------------------- Page 2
(Continued)
The header of each list looks like:
Columns Data
1 "E", "F", "G", or "H"
2 Port identifier. "A" = COM1, "B" = COM2, etc.
3-4 Hour to activate forwarding to this station.
5-6 Hour to de-activate forwading to this station.
7-end Callsign of the MailBox to forward to.
Forwarding will occur at the minute given for the port in
CONFIG.MB, on those hours given in FWD.MB.
3) TNC paramter changes.
"P" lists are commands to be sent to the TNC. The character after
the P is which port ("A" for COM1, etc.). The list is terminated
with "*** EOF". One of these lists might preceed each "G" list to
set the TNC parameters to be used for the forward attempt. There
should be a "P" list at the end of the FWD.MB file to reset TNC
parameters back to default.
Example:
PA0004
retry 3
frack 7
*** EOF
PA0523
retry 5
frack 9
*** EOF
4) DOS commands.
A "!" list is a list of DOS commands. It acts very much like a
.BAT file. The second character of the list header must be a port
that exists or the commands are not executed. This is done so
that a single FWD.MB may be used by several copies of the MailBox
running under DoubleDOS. The commands will only be executed by
the copy that owns the port. The time window is honored. All
files used by the MailBox are "cleaned" before the DOS commands
are executed. Be very careful what commands you use here;
anything that might CHANGE one of the files used by the MailBox
will cause TROUBLE! You must also run the MailBox in a partition
large enough to allow for COMMAND.COM (23k) plus whatever commands
you run. This feature is useful, for example, to backup the
MailBox files from RAM disk to hard disk or floppy once each hour.
EXAMPLE: !A0023 -----------------> Do dos shell command 00-23
COPY \MB\BBS\FWD.MB A: --> Dos Command Line
*** EOF -----------------> EOF line
Copies FWD.MB to the A drive every forward.
5) Bulletin distribution lists.
If a message has a destination MailBox specified, then that
designator may also be used as the name of a distribution list.
When the message is entered, the messages directory path (normally
\mb\msgs\) is checked for a file with the same name as the
designator and an extension of .DIS. If the file is found, then
the messge will be forwarded too ALL the destinations found in the
file. One destination per line. 35 destinations maximum.
As an example, for my local sub-net distribution I have a
designator NCNET (Northern California Net), and a file NCNET.DIS
containing:
Chapter 3 ------------------ FORWARD FILE ---------------------------- Page 3
NCNET.DIS (Continued)
KB6IRS
N6IYA
N6IIU
A message sent as: SB ALL @ NCNET
Will be forwarded to all three of the stations in the NCNET.DIS file.
The message is not forwarded in any special order, if a station is
busy then the MailBox will try again the next hour.
An "L ;" listing of a message with a distribution list shows the
status of forwarding to each station on a second "cc:" line. The
calls to which the message have been sent have an asterisk before
them.
6) Wildcards.
When the designator in FWD.MB is compared to the TO or @ BBS call,
the characters "?" and "*" appearing in the designator act as
wildcards. "?" will match any character. "*" causes the
remaining characters to match.
FOR EXAMPLE: Using ZIP code routing, to route all South Carolina
NTS traffic to wa4szk, you would put "NTS4*" or "4*". Any message
sent to a destination starting with "NTS4" or "4" would route to
wa4szk. wa4szk could then continue the routing breakdown by
forwarding "NTS41*" or "41*" to one station, "NTS42*" or "42*" to
another, etc.
7) Sublists.
At any place in the FWD.MB file you can refer to another file. In
effect what happens is that the contents of the sublist are
treated exactly as if they were in the FWD.MB file. This feature
is very useful when you have several alternate paths to a given
location. FWD.MB need only contain the connect information for
the different paths. You can refer to a single file that contains
the list of calls for forward. A sublist is given by a line
starting with "@". The rest of the line is the device, path, and
file name of the sublist.
Example:
GC0023C N4CHV
N4CHV
N7FSP
@C:\MB\BBS\HF111.FWD
@C:\MB\BBS\SILICON.FWD
*** EOF
GD0023C W6AMT
@C:\MB\BBS\SILICON.FWD
*** EOF
The following is an example of FWD.MB for W0RLI:
(Forward to K1BC every hour)
GA0023C K1BC VIA KD2S-1 <Function, port ID, Time, MailBox, path>
W1XR <Call of station whose mail should be forwarded>
N1AWX
K1BC
*** EOF <Marks the end of list>
PB1023 <Set TNC params for K7PYK connection>
FRACK 6
MAXFRAME 2
*** EOF
Chapter 3 ------------------ FORWARD FILE ---------------------------- Page 4
FWD.MB (Continued)
(Forward to K7PYK only from 1200 to 0259 GMT)
GB1202C K7PYK <The next MailBox to forward to>
K7PYK
W7KB
*** EOF
PB1023 <Set TNC params back to normal>
FRACK 4
MAXFRAME 4
*** EOF
There is no limit to the number of lists or the number of calls in
each list. Your MailBox will do the connect and send the messge
onward. It will either delete it or mark it with 'F' status
depending on the setting of the YES/NO (Kill on forward) flags in
CONFIG.MB. Auto forwarding is attempted each hour at the minute
specified in CONFIG.MB, or when you use the "X" menu item.
The special call "*" (a single *) can be used to force the
forwarding of all mail not addressed to the system owner. This
could be used by someone who would like to run this software, but
would not like to maintain an active MailBox. They would get all
their own mail locally, but any mail deposited onto their system
would be automatically forwarded.
The forwarding of messages counts on the remote MailBox behaving
correctly. It must have a menu with '>' at the end of the last
line. The command for sending messages must have the form "Sx
call". It must prompt for message title, and then prompt for
message text. Message text is terminated by ^Z.
*** TRANSPARENT MODE ***
You can now use transparent mode for all connects and for reverse
forwarding. This will do two things. First it will stop the inbeded
*** CONNECT REQUESTS from appearing in messages on your bbs. Second
you will now be able to setup your tnc parameters so that users can
get information off the bbs faster. Like setting MAXFRAME = 4, and
PACLEN = 128, will allow the tnc to send out 512 bytes at a time
when a user is using the bbs.
Regular forwarding will still take place in converse mode. If you
want to block forward, then you can setup 'P' type commands in the
forward file.
PA0024 Out to the A tnc.
MAX 2 Maxframe of 2.
FRAC 6 Frack of 6.
CP ON { }
CR OFF { block forward }
SE $10 { }
Then restore things back to normal at the end of the forward file.
PA0024 Out the A tnc.
MAX 4 Maxframe back to 4
FRAC 4 Frack back to 4
CP OFF
CR ON
SE $0D
Chapter 3 ------------------- FORWARD FILE -------------------------- Page 5
Transparent mode (Continued)
It is important that you use the BRBIOS with transparent mode. It
incorporates the send break command for the tnc. Also important is
that you have the DCD line (pin 8 ) connected between the tnc and
the comm port. The TNC must change this line when it gets connected.
Otherwise, you will lock up the bbs. Note: TNC1's must be modified
for the DCD line. MBBIOS should also work.
Chapter 4 ------------------ COMMANDS -------------------------------- Page 1
*******************************
*** @ REMOTE SYSOP Password ***
*******************************
SYSOP only Command:
The last line of the config.mb must contain a line of 64
characters. This can be a sentence or just 64 ascii characters.
Upper or lower case can be used and is considered as different
characters.
EXAMPLE:
NowisthetimeFORallgoodpacketeerstocometotheaidoftheirparty.T
When a remote sysop sends a "@" to the bbs the bbs will prompt the
remote sysop with 4 numbers.. The four numbers will correspond to
the positions of the characters in the key. The remote sysop will
then reply with the 4 characters that correspond to the relative
positions in the key.
EXAMPLE:
BBS --- 4 16 23 64
Remote Sysop enters: iapT and hits <cr>.
He will then be allowed entry as a remote sysop..
*********************
*** ! DOS Command ***
*********************
SYSOP only Command:
This ! command allows the use of the dos shell. You can do almost
any dos command, as long as you don't disturb any of the mailbox
dat files.
SYNTAX - ! COPY A:TEXT.TXT C:\MB\PACKET
Copies the file text.txt from the A drive to the C drive in
the subdirectory packet.
This command can also be used in the FWD file to do Batch files
during a forward.
*****************
*** B Command ***
*****************
B <cr> - Logs off the mailbox.
For a user, disconnecting does the same thing.
*****************
*** C Command ***
*****************
C CALL - Connects to user from path and port in the user file.
Cp CALL - Connects to call using port p. Digipeater routing may
also be given.
Chapter 4 ------------------ COMMANDS -------------------------------- Page 2
C COMMAND (Continued)
EXAMPLES: CA K3QFW V AK3P-5
C AG3F
SYSOP only Commands:
CM CALL #### [@ BBS] [< CALL] - Copies message #### and makes
new message addressed to CALL.
C YYMMDD HHMM - Sets the clock.
*****************
*** D Command ***
*****************
USER only Command:
Dd Filename - Download a file from the mailbox.
'd' is the directory identifier.
SYSOP only Commands:
D C:\path\Filename - Downloads filename in drive C, with
path to the console with pageing.
DA C:\path\Filename - Downloads filename out the A port to
the tnc. Continues till eof of file.
DU - Lists all users.
DM - Lists all users marked as bbs's.
DS - Lists all sysops.
DL - Lists all local users.
DX - Lists all excluded users.
For the above commands if a filename is added as an
argument the list will be put into a ascii text file.
DW Command - creates a WP message if any new users use the bbs.
Used by sysop when the bbs does not make up a message.
For this command to work, you must have a WP server
call in your config.
SYNTAX - DW
DW A - creats a WP message with all users.
*** White Pages ***
As users check into your bbs, they will be automatically asked for
their name and home bbs. When the user file was updated to the
latest version on first starting the bbs, A new field was created
to note when a user puts in his name and home bbs. It is this
field that will creat a white paper message to whatever bbs is
keeping track of calls and homebbs's. Here is how it works.
First in the config.mb there is a line for the WHITE PAGES SERVER
CALL. If you leave this line blank, no white paper message will
be generated. This line is located under your QTH in the
config.mb.
If you put a bbs on this line, he will receive a message every so
often addressed to WP, from your bbs, @ WP Server Call, TITLE: "WP
Update". In the message text will be a list of the latest users
using the bbs for the first time, or updateing their name and
homebbs. So a central bbs or user can now keep track of all the
users with their home bbs's for a given area. Sort of like
keeping a white pages telephone book with calls of packeteers and
their home bbs. Zip codes are now added.
Chapter 4 ------------------- COMMANDS ------------------------------- Page 3
*****************
*** E Command ***
*****************
SYNTAX - ET <message number> - USED by ALL
The ET command allows users to edit Traffic messages on the bbs.
A Traf- fic message is defined as having a TYPE of "T" or the
letters "NTSxxx" in the TO field of a message. Any user can use
the ET command. Probably it would be a good idea to let your NTS
users know of this feature, so that they could track your NTS type
messages.
EXAMPLE: Message 8873 is a Traffic message.
ET 8873 <- Entered by user or sysop.
BBS response:New TO or (cr) to retain:
User responds with a new call or <cr>
BBS response:New @ BBS or (cr) to retain:
User responds with a new @ BBS or <cr>
BBS response:New TITLE or (cr) to retain:
User responds with new title or <cr>
BBS response:New TYPE or (cr) to retain:
User responds with new type or (cr) to retain
BBS will now respond with the edited message header.
If you enter a message number that wasn't a traffic message the
bbs will respond with a message: *** Sorry, this is not an NTS
traffic message. If you change the type of message from a "T" to
something else, The message header will be changed, and since it
will not fit the qualifiers of an NTS message, you won't be able
to change it back!
SYSOP only Commands:
E #### - Edit message ####. This command looks for the message, and then
displays the header from that message. Next comes the input
prompt: t(Y)pe, (S)tatus, (T)o, (F)rom, (B)bs, t(I)tle, bi(D)
To change: The TYPE field ---- Y <type> <cr>
The STATUS field -- S <status> <cr>
The TO field ------ T <new to call> <cr>
The FROM field ---- F <new from call> <cr>
The @BBS field ---- B <new bbs call> <cr>
The TITLE field --- I <new title> <cr>
The BID field ----- D <new bid> <cr>
To exit edit message, just hit a <cr> from the prompt.
EP p - Edit port parameters. <p> is the port to edit.
ES - Edit system parameters.
EU - Sweep thru all users asking for Delete or Quit,
EU CALL - Edit a user's record or create a new user record. This command
will find a user's record or creat a null user's recoder, and
then display a prompt line:
PRIVLEDGE: (D)elete, (E)xpert, (B)bbs, (S)ysop, e(X)clude
DATA: (C)all, s(I)d, (N)ame, por(T), (H)ome, (Z)ip
To delete a user: Type D <cr>
Chapter 4 ------------------- COMMANDS ------------------------------- Page 4
E COMMAND (Continued)
To change: Is an EXPERT ---- Type E <cr>
Is a BBS? ------- Tyoe B <cr>
Can be SYSOP ---- Type S <cr>
To EXCLUDE ------ Type X <cr>
New CALL -------- Type C <new call> <cr>
New SSID -------- Type I <new ssid> <cr>
New NAME -------- Type N <new name> <cr>
New PORT -------- Type T <new port> <cr>
New HOME BBS ---- Type H <home bbs> <cr>
New ZIP --------- Type Z <new zip> <cr>
To exit edit user, just hit a <cr> from the prompt.
*****************
*** F Command ***
*****************
SYSOP only Command:
Fd ##### Filename [AN] - Make a file from a message. The 'd' determines
what subdirectory Filename go to. The A at the
end will append this message to the file. The
N at the end will NOT put the message header
into the file.
EXAMPLES: F 12340 A:text.txt - Makes file TEXT.TXT on the A drive
from message 12340; Includes header.
FD 1200 amsat.010 - Makes file AMSAT.010 in subdirectory
D from message 1200.
FD 1300 amsat.010 A - Appends message 1300 to file
AMSAT.010 in subdirectory D.
F 12300 c:Save.txt N - Makes file SAVE.TXT on C drive
with no header.
*****************
*** G Command ***
*****************
SYSOP only Commands:
GM - Untangles the mail file.
GR <number> - Untangles the mail file, and renumbers
starting at number.
GU - Untangles the user file, deleteing marked users.
********************
*** HELP Command ***
********************
H - Gives a summary of the help subsystem.
H x - Gives a detailed explaination of command x.
H ? - Gives a detailed explaination of all commands.
? - Gaves a list of mailbox commands
? x - Gives a summary of command x.
? ? - Gives a summary of all mailbox commands.
Chapter 4 ------------------- COMMANDS ------------------------------- Page 5
********************
*** INFO Command ***
********************
I - Reads out the INFO.MB file.
*****************
*** J Command ***
*****************
Jp - Gives a list of stations heard on port 'p'.
The special port 'L' shows calls of stations
recently connected to the mailbox.
*****************
*** K Command ***
*****************
K ##### - Kill message number #####.
KM - Kill messages addressed to you that have been read.
KT #### - Kill traffic message and generate a service message.
SYSOP only Commands:
KF ------ Kill all forwarded messages.
KO ------ Kill all stale messages.
KY ------ Kills all messages that have been read.
KF CALL - Kills all forwarded messages addressed to CALL.
KY CALL - Kills all messages addressed to CALL that have
been read.
********************
*** LIST COMMAND ***
********************
L ------- List all new messages since your last login.
LA ------ List all type 'A' messages
LM ------ List all messages TO or FROM you.
L #### -- List messages back to ####.
LL ## -- List last ## messages.
L> CALL - List all mail TO Call.
L< CALL - List all mail FROM Call.
L@ CALL - List all mail @BBS Call.
LF ------ Lists all forwarded messages.
LY ------ Lists all messages that have been read.
LO ------ Lists all stale messages.
LH ------ Lists all messages that are marked HOLD.
If you add a ';' after your normal list command, you will be able
to see any cc: lines and any bid line attached to a message
header. This will work with any command. Example follows:
LL 4 Will list the last 4 line.
9989 PN 1247 KA3DWA WA3DQI 0109/1212 ARC NETWORK
9986 AN 978 ALL W1AW PAWEST 0109/1034 ARRL 54: News
9985 BN 2367 ALL KC3BQ 0109/0956 Hamfest news
9984 PN 1545 K3RLI AG3F 0109/0945 TNC WORKS
Chapter 4 ------------------- COMMANDS ------------------------------- Page 6
LL COMMAND (Continued)
LL 4 ; Will list the last 4 lines and include cc: and bid lines
9989 PN 1247 KA3DWA WA3DQI 0109/1212 ARC NETWORK
9986 AN 978 ALL W1AW PAWEST 0109/1034 ARRL 54: News
cc: *WA3DQI AG3F HOLD
BID: ARLP010
9985 BN 2367 ALL KC3BQ 0109/0956 Hamfest news
BID: KC3BQ_7789
9984 PN 1545 K3RLI AG3F 0109/0945 TNC WORKS
This will work for all list commands. Like LL 10 ; or L ; or LM ;
or LA ;.. This command is only available for sysops and allows
you to see the messages without the clutter of extra lines.
*****************
*** M Command ***
*****************
Mp - Monitor the packets on port 'p'. You must have the
gateway enabled for the port.
SYSOP only Command:
MM <listfile> <textfile>
The MM command does the same thing as the SM command but it uses a
text file for the message content.
EXAMPLE: MM LIST1 \mb\oscar\amsatnws.140
BBS response: Enter Title for Message:
Sysop enters TITLE
The bbs will now make messages for each call in the list, but
the message content will be from the file AMSATNWS.140. Since the
mail file in now in files and not in a database, you could also
use a message file instead of a text file for the message content.
If your messages are stored in \mb\msgs\, you could enter
\mb\msgs\10491 to use message number 10491 for your textfile.
This would take message number 10491 and use it's contents for all
four message texts. ( See also Chapter 6 - List file )
*****************
*** N Command ***
*****************
USER only Commands:
N NAME -- Enter your name into the user file.
NE ------ Makes you an expert user.
NH CALL - Enter home bbs into user file.
NZ ZIP -- Enter zip code into the user file.
SYSOP only Commands:
N C:\path\FILENAME.OLD FILENAME.NEW
Renames filename from old to new. Drive type need not be used
unless using other than current drive. Path information is
only necessary when going outside current directory.
Chapter 4 ------------------- COMMANDS ------------------------------- Page 7
*****************
*** P Command ***
*****************
P Call - Lists information about user. Port connected,
name, path, last message number, home bbs.
********************
*** QUIT Command ***
********************
Q - Quits the mailbox. Asks "Are you sure (Y/N)?
*****************
*** R Command ***
*****************
R #### - Read message number ####.
RH ### - Read message number ###, showing routing headers.
RM ----- Read all unread messages addressed to you.
*****************
*** S Command ***
*****************
Sx CALL @ BBS - Send type 'x' to call @ bbscall.
The mailbox will prompt you for title
and to enter subject. End message text
entry with a <ctrl z>, /ex, or /EX.
If type 'x' is not entered, and the TO field is to a valid
callsign, the type will become private.
If type 'x' is 'A', 'B', 'F' and the TO field is not a valid
callsign, (ALL, ect) a BID will be created for the message.
SB ALL @ BBS $ARLB010 - Creats a bulletin message to all at
bbscall with BID of ARLB010.
SM <listfile> - Used by SYSOP
For Example lets say that all these stations shared the same
interests. a message could be made to send to all of them.
SM LIST1 <- Entered by sysop
BBS response: Enter Title for Message:
Sysop enters TITLE
BBS response: Enter message, ect...
Sysop enters message, ending with a control Z...
The bbs now will make the headers for each call in the list. In
this Example you would end up with many message headers. Each as
defined in the LIST1 file. So many duplicate messages would now
be on the bbs. Each will forward out as if they were put on the
bbs individually. ( See Chapter 6 - List file )
Chapter 4 ------------------- COMMANDS ------------------------------- Page 8
*****************
*** T Command ***
*****************
USER only Commands:
T - Chat to the sysop. And command or returm before the
request times out will return you to the mailbox.
SYSOP only Commands:
Tp ---------- Go to terminal mode on port 'p'.
Tp Filename - Go to terminal mode on port 'p', and open
filename save file.
*****************
*** U Command ***
*****************
USER only Commands:
Ud Filename - Upload filename to subdirectory 'd'.
EXAMPLE: UA AMSAT.011 You will be prompted to enter the file
<ctrl z> to end.
*****************
*** V Command ***
*****************
V - Used by ALL
Using the "V" command will cause the bbs to print out the
current version of the mailbox code.
SYSOP only Command:
V A:text.txt C:\AMSAT\TEXT.TXT - Copies text.txt from drive
A to subdirectory AMSAT on drive C. You can rename
file on copy.
*****************
*** W Command ***
*****************
W -------- Gives a list of subdirectory area's available
Wd ------- Gives a list of the files in subdirectory 'd'.
Wd *.DOC - Gives a list of *.DOC files in subdorectory 'd'.
For sysop use, drive, path, and filespec can be used.
*****************
*** X Command ***
*****************
SYSOP only Commands:
Chapter 4 ------------------- COMMANDS ------------------------------- Page 9
X COMMAND (Continued)
X ------- Trigger an auto-forward.
XI ------ Auto-forward, ignore time window.
X CALL -- Forward only for call.
XI CALL - Forward only for call, ignore time window.
*****************
*** Y Command ***
*****************
SYSOP only Command:
YF Filename - Change name of forward file to use.
*****************
*** Z Command ***
*****************
SYSOP only Commands:
Z Filename - Delete the file.
Zd Filename - Delete filename in subdirectory 'd'.
Z \mb\bbs\FORWARD.MB - Deletes FORWARD.MB with path \mb\bbs.
Chapter 5 ------------------ PRTLOG ---------------------------------- Page 1
************************
*** PRINTER FUNCTION ***
************************
A print function is now in the software. All you have to do is
Hit control P from the bbs menu and everything listed and read
will be printed out the parallel port. Use control P to shut the
print off when done. Putting the bbs back on-line will also shut
the print off.
******************
***** PRTLOG *****
******************
PRTLOG -L LOG.MB Will display LOG.MB at the console.
PRTLOG -L LOG.MB > LST: Will put it on the printer.
PRTLOG -L LOG.MB > LOG.PRT Will output to file LOG.PRT.
If you leave out the -L field, only the summary is printed.
Note that the BBS will now create a file to hold the BIDs. Each
line includes the date that your system received the message with
that BID.
The proper setup parameters for the tnc are in .SET files,
TNC1.SET is for tnc1 or clones - converse mode only,
TNC2.SET is for tnc2 or clones,
PK232.SET is for the PK-232 and PK-87.
The file CONFIG.MB is a text file that contains all site-specific
parameters. Edit it to have the proper parameters for your site.
The default directory must contain MB.EXE and CONFIG.MB
The file CONFIG.MB has sections that specify what ports to use,
and where to find various files. Ports are identified by the
first letter of the first line of the port information. "A" means
COM1, "B" means COM2 etc. "L" means the system console (keyboard
and display).
Files used by the MailBox. - The Mailbox and Gateway
MB.EXE - The program.
HELP.MB - The help file. Documents command all commands.
NOTES.MB - Release notes, tech notes, installation notes, etc.
CONFIG.MB - Configuration data, log-on, error text, ect.
INFO.MB - The info file about your system setup.
FWD.MB - The routing tables for forwarding messages.
The following files are created and used by the MailBox:
MAIL.DAT - The message database.
USER.DAT - The user database.
MON.MB - The saved "J" lists.
LOG.MB - The log file. A text file that contains the user log.
Which events are to be logged is specified in CONFIG.MB.
CALLS.MB - All calls heard by the MailBox.
BID.MB - The file to store the received BIDs in.
Chapter 6 -------------- Log, List, & Dis Files ---------------------- Page 1
*** LOG FILE CONTENTS ***
Each line in the log file contains an event code, the date and time,
followed by further information about the event.
'C' - User connected to system.
'A' -> 'H' - A user connected on that port.
'I' - Program startup.
'L' - User was linked via the station that just connected.
'S' - "connect" from local console (sysop).
'G' - GateWay event.
'A' - Connection attempted and failed. Path shown.
'C' - Connection attempted and obtained. Path shown.
'E' - End of GateWay event, or use.
'M' - Start of monitoring.
'S' - Start of GateWay use.
'U' - Entry to unprotocol mode.
'X' - Exit.
'A' - Owner put MailBox on line.
'B' - User said good bye.
'D' - User disconnected.
'E' - Excluded user attempted connect.
'F' - User forced off by system owner.
'Q' - Owner exited from program.
'T' - Timeout, forced disconnect.
'F' - File event. Command line shown as user entered it.
'M' - Message event. Message number always shown.
'C' - Message copied.
'E' - Message header edited.
'F' - Message forwarded. Connect path shown.
'FE' - End of forwarding session.
'FR' - Start of reverse forwarding within forwarding session.
'FS' - Start of forwarding session.
'K' - Message killed.
'L' - Message headers listed.
'M' - Message created from file.
'R' - Message read.
'S' - Message sent, includes TO and BBS fields
*** Distribution File ***
The distribution file is a regular ascii file created with a simple
editor. It consists of a list of calls, one per line. These calls are
the broadcast list of what bbs's you want to get specific messages
to. These messages will key the distribution file based on the @ BBB
in the message.
The name of the distribution file is the same as the @ BBS field used
for distribution. All distribution files must end in .DIS and be in
the message file directory. EXAMPLE - \mb\msgs\pawest.dis
EXAMPLE of a .DIS file: PAWEST.DIS <- Name of file
KB3UD
W3AVK
WA3DQI
AG3F
Chapter 6 -------------- Log, List, & Dis Files ---------------------- Page 2
Dis File (Continued)
When a message is created with a @ BBS of PAWEST, the bbs will create
a special second header line. EXAMPLE:
Msg# TR Size To From @ BBS Date Title
10651 PN 1949 SYSOP W1AW PAWEST 870511 New News on BBS's
cc: KB3UD W3AVK *WA3DQI AG3F
Notice that WA3DQI has a "*" before his call. This means that
this message has allready been forwarded to WA3DQI. As the bbs
forwards to the other stations a "*" will appear before each call
as the message is forwarded to them. When all the calls have a
"*" before them, the message will be killed. All stations in the
list will have received the message. If you want to stop the
message from being killed on your bbs, you can include a phoney
call in the list; Like the word HOLD. Now the list contains
something like this:
KB3UD
W3AVK
WA3DQI
AG3F
HOLD
Since HOLD would not be in your forwarding file, the message would
hold on your bbs, until you killed it manually.
*** List file ***
A list file is a regular ascii file created with a simple editor. It
is used with the MM - Make Multiple Messages from a File, and the SM
- Send a message to a distribution list. There are no requirements
for the names of these files. They must be in the directory that the
mail bbs runs in. EXAMPLE - \mb\list1.
EXAMPLE of a list file: LIST1 <- Name of file
SP KB3UD @ KB3UD
SP AG3F
SP AK3P @ AK3P
SP N3DQC @ W3AVK
Chapter 7 ------------------- PROTOCOLS ------------------------------ Page 1
"BBS" FORWARDING PROTOCOL NOTES
The following is an attempt to put down in detail what the "CBBS"
MailBox expects as user input, and the variations that will be
accepted by the MailBox code.
Forwarding works by the simple means of the forwarding MailBox
acting as if it were a user of the target MailBox.
Thus, it will use the "S" command to enter the message, in exactly
the same way that a user does.
The "S" command takes the form:
"S"["x"] TO ["@" BBS] ["<" FROM] [$#####_K3KKK]
The "x" is an optional message type character. The fields are
delimited by any number of spaces or tabs. Upper case or lower
case may be used. TO, BBS, and FROM may be up to six characters.
If a trailing "-" and ssid are given, it is thrown away. The "@
BBS" and "< FROM" fields are optional, and may occur in any of the
4 possible combinations. The '$' is not part of the BID, but
identifies the field. There is no space between the $ and the BID.
After receiving the "S" command, the MailBox prompts for message
title. The prompt is on one line, ending with CR. The message
title is one line, ending with CR. The title is truncated to 80
characters by the MailBox. After receiving the message title, the
MailBox prompts for the message text. The prompt is on one line,
ending with CR. Message text is a string of ASCII characters,
ending in control-z. The station doing the forwarding simply
disconnects once it has passed all of its messages.
Note that the MailBox prompt is identified by it's terminating ">".
Starting with Version 4.4, the C BBS also supports the use of BIDs
(Bulletin Identifiers) and to use them, it will, when it
recognizes a similarly programmed BBS, enter into an exchange with
said BBS. This is according to the protocol developed by WA7MBL.
A BID capable BBS is recognized by its sending a field beginning
with a '[' and ending with a ']'. In addition, in the field is at
least one '-'. Anything following the LAST '-' is taken to
identify features available on that BBS. The exchange from this
BBS is:
[CBBS-$]
When the BBS is connected to, it sends [CBBS-$],and if it receives
[anything-$], it goes into its MBL-like mode. It then gives you a
prompt and waits for your next Send command. If you receive
something like S ALL $BID001, it checks to see whether it has
received this BID before. If not, it sends
OK - Snd # 1234: (will be message #1234)
To which the sender then sends the title followed immediately by
the message text. If it has that BID, it will send:
NO- Already have it: And then give a new '>'
And the distant BBS will then proceed to the next message.
Chapter 7 ------------------- PROTOCOLS ------------------------------ Page 2
BID Protocol (Continued)
Whether the connecting station is a BBS or not, if a message comes
in addressed to something other than a real callsign, and is of
TYPE A, B, or F, it is assigned a BID by a parsing routine. It
finds the BBS of origin, and the message number on that BBS, and
gives it a BID based on MSG#_BBSCALL ... It will then check the
BID file and if the message is present, it will mark it hold
pending operator intervention (presumably you already forwarded
the message. This works with any system that has the terminal -$
in its [-$] field.
The BID.MB file is an ascii text file, with one BID per line. It
can be edited to add or delete BID's as the sysop sees fit. It is
this BID that determine if a message with a bid is accepted or
not.
System IDentifiers (SIDs) - W0RLI
The initial exchange between "smart" BBS systems uses what is
called an "SID", short for System IDentifier. All future work on
BBS systems should adopt this standard. It will help to remove a
GREAT deal of confusion as to which systems have what features,
and how one should interface to them. In the longer future,
perhaps all this junk can be done away with, and the computers can
talk to each other in a more natural way.
The system identifier is structured:
"[f1-f2-f3]"
The dashes delimit the end of the first field and the start of the
last. There might be only one dash, if f2 is void. f2 may
contain dashes.
f1, f2, and f3 may not contain "[" or "]".
f1 is the author identification. It may not contain a dash.
Normally it will contain a few characters from the authors
callsign.
f2 is author specific data.
It may contain anything the author wishes, for example software
version. It may contain dashes.
f3 is the supported feature set. It may not contain a dash. It
contains a string of non-numeric characters, one for each
negotiable feature supported. Each character may also have
trailing digits, giving the revision of that feature. If there is
no trailing digit, the feature revision is revision zero.
Coding hint: if the first line seen at connect to the bbs starts
with [ and ends with ], then it probably is an SID. For example:
f1_start = fld + 1;
f1_end = strchr(fld, '-') - 1;
f2_start = f1end + 2;
f2_end = strrchr(fld, '-') + 1;
f3_start = f2_end + 2;
f3_end = strrchr(fld, ']') - 1;
Chapter 7 ------------------- PROTOCOLS ----------------------------- Page 3
Sid's (Continued)
Defined features are:
C - Supports "forwarding" of date and time.
M - Supports Message Identifiers.
W - Is a white pages server. (We were thinking about you, Eric!)
Y - Supports YAPP binary protocol.
$ - Supports BID. MUST BE LAST CHARACTER IN f3 (downward compatibility).
The existance of the system ID also implies that the system
supports reverse forwarding and OK/NO message rejection.
Some examples of existing standard system identifiers:
[RLI-5.12-$] - w0rli version 5.12, supports BID
[RLI-6.08-CM$] - w0rli version 6.08, supports Clock, MID, BID
[RLI-$] - CBBS flavor, supports BID.
[CBBS-$] - CBBS source versions, supports BID.
[CBBS-4.5-$] - ve3gyq release of the rli/gyq cbbs.
[MBL-$] - wa7mbl version unknown, supports BID
[MBL-RLI3.2J2.5-$] - jr1ede unix port of rli/gyq cbbs version 3.2
[PRMBS-.98X-345-$] - ka2bqe rip-off of w0rli cbbs V0.4
[CMU-1-W] - wd6cmu BBS
[4RE-01-M$] - aa4re V1, supports MID and BID.
There is some older code still running that requires special case
handling. In these cases there is no f3 or feature letters.
Rule: OK/NO message rejection is required, and BID is supported.
[MBL320] - "old" wa7mbl systems.
[MBL=RLI] - ja0isk port of rli/gyq cbbs for NEC 9800
The connect rules:
Send the SID as first line at connect.
Answer the SID (when seen as a command) with a short command prompt.
The fowarding rules:
If you do not see an SID at connect, use the old style fowarding.
This handles the case of Xerox 820 systems, for example.
If you do see an SID at connect, answer with your SID.
Use whatever features are appropriate.
Special case: MBL3 or MBL= seen at connect.
Reply with [MBL-xxx], where xxx is anything you like.
Continue with reverse forwarding and OK/NO message rejection.
Zip Code Routing Note 1 - W0RLI - 7 Sept 87
Several people have suggested using zip codes for routing
identifiers. There are many possible ways to do this. In this
note I outline two suggestions. These two routing schemes are
compatible, and can co-exist on the network at the same time. Two
features are required in the BBS code to support these routing
schemes properly: wildcard capability in the route table
destinations and "@ BBS" replacement. Either of these schemes
will help users: they no longer need to know the callsigns of all
the BBS in the world. Users need only know the state, province,
region, or zip code of the message destination.
Chapter 7 ------------------- PROTOCOLS ----------------------------- Page 4
Zip Routing (Continued)
1) Zip code routing for NTS traffic.
Use the form "ST nnnnn @ NTSxx" where nnnnn is the destination zip
code and xx is the state, province, or region identifier. In
route tables far from "xx" only the path toward "xx" need be
known. Once the message reaches "xx" the receiving BBS should
remove the "@ BBS" designator. Routing will then continue using
the zip code.
2) Zip code routing to humans.
Use the form "SP call @ zip" or "SP call @ xx". These forms are
not ideal. What should be used is a form with 3 address fields.
None of the BBS codes support this yet. The ideal form for
routing of personal messages is "SP call @ zip @ xx". This
routing scheme then would follow the NTS routing scheme in 1).
Since we do not have a three adress scheme, the first and second
forms in 2) would be the best available.
Some examples of routings that could work now:
ST 95060 @ NTSCA
This message would end up at kb6irs or n6iya for delivery by NTS.
SP W0RLI @ NTSCA
This message would go to any of the eight California HF BBS. At
the California HF BBS the "@ NTSCA" would be removed and routing
would continue in the normal manner to W0RLI.
SP VE3FXB @ NTSON
The same idea as the previous message.
SP VK2AHX @ VK
Again, the same idea. Note that stations that do not have a path
to VK need only keep the single identifier "VK" in their route
tables.
SP W0RLI @ 95060
With schemes like this, and the use of wildcards in the route
tables and "@ BBS" replacement tables, only a very few identifiers
are required to cover the entire U.S. If this message had
originated, for example, in New England, the BBS in New England
need only have "9*" in it's route table. Once the message
reached, for example, KD6SQ, he would have to have several
identifiers. "95*" would send the message from So. Cal. to No.
Cal., where the "@ BBS" would be removed. It would then be
forwarded directly to W0RLI, since W0RLI is known to all BBS in
No. Cal.
Messages
There are three types of messages:
1) Personal. If sent with SP, or with S and to a callsign.
2) NTS Traffic If sent with ST.
3) Bulletins If sent with SB, or with S and NOT to a callsign.
Chapter 7 ------------------- PROTOCOLS ----------------------------- Page 5
Each type of message gets somewhat different handling:
For NTS traffic, the LT, KT, and ET commands are active.
For Bulletins, a BID is sent when forwarding to accepted bbs's.
For Personal, The message can only be read by the sender, addressee,
and sysop.
There are several "flags" associated with each message. These are
shown in the "message status" position in the "list message"
display. Note that each Flag has an associated "L" command and
some have associated "K" commands.
F - The "Forwarded" flag:
This indicates the message has been forwarded to it's
destinations, but has not been killed.
H - The "Hold" flag:
This indicates the message has been held. It will not
forward, and can be only killed by the sysop.
O - The "Stale" flag:
This indicates a message has been around for too long.
Time length is determined in the config.mb
Y - The "Read" flag:
This indicates that the message has been read by the addressee,
but has not yet been killed.
Message header formats in use at this time include:
R:date/time @:call qth #:nnn O:call S:date/time Z:zzz
R:date/time @:call qth #:nnn O:call S:date/time
R:date/time @:call qth #:nnn O:call Z:zzz
R:date/time @:call qth #:nnn Z:zzz
R:date/time @:call qth #:nnn O:call
R:date/time @:call qth #nnn O:call
R:date/time nnn@call qth
1) calls may have ssid
2) time may have timezone.
If so, may be single char or 3 char.
May be upper or lower case, or mixed.
3) qth may be enclosed in []
4) Space between @ call and qth may be missing
5) ":" between field ID and contents may be missing.
6) May be space between ":" and field contents.
There are many other forms seen. They may leave out required
information. They may have the required information in unexpected
format. There is little chance of parsing them all, and no reason
to do so.
Chapter 8 ------------------- DOUBLEDOS ------------------------------ Page 1
Running 2 copies of C-BBS Version 4.6 under DoubleDOS
(This section provided by VE4AFO.)
You must set up a second directory similar in structure to that of
your primary MB directory. You must have 2 sub-directories: MSGS
and BBS. Each directory (MB & HF) must contain MB.EXE and their
own copies of CONFIG.MB.
Sample AUTOEXEC.BAT file:
=========================
PATH \
PROMPT $P$G
CLOCK
BRBIOS
MBMODE COM1:4800,N,8,1
MBMODE COM2:4800,N,8,1
PIPE
DDOS
Edit these lines in DDCONFIG.SYS
top program = MB.BAT
bottom program = HF.BAT
Top Size = 128
Sample BATCH files to invoke copies from DDOS:
==============================================
\MB.BAT \HF.BAT
======= =======
CD \MB CD \HF
MB MB
CD \ CD \
^Z ^Z
Sample lines from CONFIG.MB file in HF Directory:
=================================================
BBIMGUDTX 240 20 500 100 20 0 42 5 30
14.109 Mhz.
YZBGUID 60 20 500 100 10 5 35 5 0
Link to 145.01 Mhz.
LCEGIUD 180 20 500 100 10 0 42 5 0
Connected
*** EOF
\MB\BBS\HELP.MB
\MB\BBS\INFO.MB
\MB\BBS\FWD.MB
\HF\BBS\LOG.MB
\HF\BBS\MON.MB
\HF\BBS\MAIL.DAT
\HF\BBS\MAIL.BAK
\HF\BBS\USER.DAT
\HF\BBS\USER.BAK
\HF\MSGS\
\HF\BBS\BID.MB
\HF\FILES\CALLS.HF
YES D (DoubleDOS present)
YES Z (Pipe used)
YES (@ BBS removed if is @ THIS BBS)
Chapter 8 ------------------- DOUBLEDOS ----------------------------- Page 2
Sample lines from CONFIG.MB file in MB (VHF) Directory:
=======================================================
ADGIMRTUX 300 20 500 100 15 5 42 5 15
145.01 Mhz.
ZZBIUD 60 20 500 100 10 0 36 5 0
Link to 14.109 Mhz.
LCEMGIUD 120 20 500 100 10 0 42 5 0
Connected
*** EOF
\MB\BBS\HELP.MB
\MB\BBS\INFO.MB
\MB\BBS\FWD.MB
\MB\BBS\LOG.MB
\MB\BBS\MON.MB
\MB\BBS\MAIL.DAT
\MB\BBS\MAIL.BAK
\MB\BBS\USER.DAT
\MB\BBS\USER.BAK
\MB\MSGS\
\MB\BIDFILE.MB
\MB\FILES\CALLS.VHF
YES D (DoubleDOS present)
Yes Y (Pipe used)
YES (@ BBS removed if is @ THIS BBS)
Add these two sections to your FWD.MB file:
===========================================
GY0023C VE4AFO
VE4AFO
.
*** EOF
GZ0023C VE4AFO
K0KBY
VE3GYQ
VE7TOM
W0RLI
W3IWI
W5XO
W9ZRX
.
*** EOF
To explain (or confuse you) further:
the port definition in the first BBS says that Port Y is the link
to VHF. therefore your fwd file should have everything going to
VHF going to Y, like: GY0023C VE4AFO
VE4AFO
VE4BBS
*** EOF
The VHF BBS, on the other hand, has a " YES Y (Pipe used) " line
in config.mb to show that it receives data along Pipe Y.
Conversely, the HF BBS has a " YES Z (Pipe used) " line and the
VHF BBS defines a port Z. The VHF BBS fwd file is:
GZ0023C VE4AFO
VE3GYQ
W0RLI
*** EOF
Chapter 8 ------------------- DOUBLEDOS ----------------------------- Page 3
So mailbox A defines a port that coincides with the Pipe
the target mailbox B.
And Mailbox B defines a port that coincides with the Pipe used in
target
mailbox A. _
YZGIUDR etc. |--- Mailbox A
YES Z (Pipe used) _|
mailbox B. _
ZZGIUDR etc. |--- Mailbox B
YES Y (Pipe used) _|
Similarly, W and X may also be used (with Desqview for example).
Chapter 9 ------------------- DESQVIEW ------------------------------- Page 1
SETTING UP MULTIPLE BBS'S WITH DESQVIEW - AG3F
1. CONFIG.SYS
Create file config.sys in the root (\) directory with an editor.
As a minimum it it must contain the files and buffers statements.
Other possible additions are a ram disk and the driver for any
installed EEMS boards. DESQview will run with the normal 640K
system memory but you will be very limited as to the size and
number of programs you will be able to use in addition to the BBS
copies. The following is the config.sys in use at AG3F where an
AST SixPakPremium EEMS multifunction with 1 meg of memory is
installed in addition to 256k of motherboard memory.
files=24
buffers=20
device=remm.sys /x=A000-BFFF
device=fastdisk.sys /m=64 /dextm
2. INSTALLING DESQVIEW
Install DESQview V2.01 or later on the hard drive by using
Quarterdeck's instructions. In general this will involve placing
the distribution diskette in floppy drive "A" and typing install.
You will be prompted for the desired destination drive and for
your system configuration. This process will create a \DV
directory on the hard drive that will include all of the necessary
DESQviev files. Any commercial programs that are known to
DESQview and were residing on your hard drive will also be
installed for access from DESQview. At this point install any
other programs you desire by using the DESQview instructions. It
is suggested that you run these programs from DESQview and become
familiar with DESQview operation.
3. DESQVIEW PARAMETERS
From the > prompt in subdirectory DV type SETUP. This will bring
up the DESQview setup screen. Select the advanced setup and when
in that window select performance option. Change the number of
clock ticks to 7 for foreground and background programs.
Experimentation has shown for a 4mhz xt 7 is suitable. If you
utilize other clock speeds you may have to experiment to find the
best value but in any case both foreground and background
operations must be the same since running multiple copies of the
bbs really does not have a background program. The other
parameters available for modification were left at their default
values.
4. SUBDIRECTORIES
Setup the directory/subdirectory system for the mailboxes. You
will need a directory and subdirectories for each copy of the mail
box you intend to run. For an example to run a VHF and a HF bbs
you will need the following directories and subdirectories shown
with the files that reside in them. Note that the second
group(HF) does not include all of the files. This is because the
missing files can be shared by all copies of the bbs. The user,
mail, calls and monitor files will be created when the bbs program
is started so they need not be included in the initial set up.
Config.mb is not the same file in both trees but is the one
specifically generated for the VHF or HF bbs.
Chapter 9 ------------------- DESQVIEW ------------------------------- Page 2
Subdirectories Continued)
VHF HF
\mb \hf
mb.exe mb.exe
br3bios.com
mbmode.exe
pipe.com
config.mb config.mb
\mb\bbs \hf\bbs
help.mb
info.mb
user.dat user.dat
user.bak user.bak
foward.mb
mail.dat mail.dat
mail.bak mail.bak
mon.mb mon.mb
calls.mb calls.mb
\mb\msgs \hf\msgs
6. ADDING THE BBS PROGRAM TO DESQVIEW
Add the bbs programs to DESQview by selecting add program from
second menu. Following the prompts add the following information:
program name bbs1 memory size 150
program mb
parameters
directory c:\mb
options:
writes to screen [n]
displays graphics [n]
can be swapped [n]
requires floppy [n]
SELECT ADVANCED OPTIONS (F1)
close on exit [y] own colors [n]
close window cmb [y] only foregnd [n]
math coprocessor [n] kbd conflict [1]
All other parameters are as default.
Add the second and subsequent copies of the bbs as above using
the proper program names and directorys.
7. PORT INITIALIZATION
Construct a batch file to execute the necessary port initializations
as described previously. The one in use at AG3F resides in the root
directory of drive c: and is called startbbs.bat. It is as follows:
cd \mb
br3bios
mbmode com1:48,n,8,1
mbmode com2:48,n,8,1
mbmode com3:48,n,8,1
pipe
cd \dv
copy \mb\bbs\fwd.mb d:
fastopen c:
dv
Notes: 3 ports are used, br3bios is configured for 3 com ports.
Pipe is required to foward between the bbs copies
Copy line places the foward file in ram disk D: (not necessary)
Fastopen (Dos v3.3 only) permits quicker disk access.
Chapter 9 -------------------- DESQVIEW ------------------------------ Page 3
8. CONFIGURATIONS
Prepare a config.mb for each copy of the bbs. This was described
above in the section describing doubledos usage. The files should
be inserted in the proper subdirectories as described above.
9. STARTING THE BBS MANUALLY
From the dos prompt type STARTBBS or what ever you called your
port initialization batch file. This will load the bios drivers,
run mode on all ports, load pipe, run any other special programs
and finally invoke DESQview. You will now be at the open window
menu of DESQview. Select open and then the first bbs program.
Program #1 will start and occupy the upper 1/2 of the screen. Do
the same with copy #2 which will be in the lower 1/2 of the
screen. Other copies can be loaded similiarly and will occupy
screen locations defined in the DV setup. Now all is running
simultaneously. You can switch, zoom, blank or select other
windows without interrupting the bbs activity.
10. AUTOMATIC STARTUP
If desired you may arrange the system to reboot and restart up the
bbs's if the computer is shut off or experiances a power outage.
This requires two steps.
a. Insert the name of your initialization batch file into your
autoexec.bat file.
b. Create a DESQview autostart macro. This is done by assigning a
series of key strokes to the ! key while in DESQview but
without any application program running. Follow the learn
instructions in your DESQview manual. The steps for a 2 bbs
seup typically would be:
Type DV to start DESQview
shift-alt (select start learn,indicate the ! key and pick name)
open window
open bbs#1
shift-alt (select time delay 30 )
open window
open bbs#2
shift-alt (select end learn)
quit DESQview and say yes to save scripts
The script file produced by the above is desqview.dvs and will
be found in the Dv directory. This file can be made man
readable by using the program convscr.com provided with DV. A
converted program would look like the following:
{Learn ! "boot boards"}
om1{Delay 30}{DESQ}om2
{Finish}
o means open
m1 is my 1st bbs program
m2 is my 2nd bbs program
Learn and Finish are the start and end of the learn commands.
You can if desired, create a text file like the above, and by
the use of convscr convert it to desqview.dvs and eliminate the
step by step procedure described above.
Appendix A ------------------ CHANGES -------------------------------- Page 1
Changes from V3.5 to V4.0 Starting 9/19/87
Fixed bug: download to a tnc did not return to terminal mode properly.
Removed 256 character limit on greeting message.
Added message state "H" (held), hold list, LH command.
Much better handling of disconnect of "unhappy" tnc (from ve3gyq).
Various bugs that showed up in 3.5 are fixed.
Yet another change to DD timeslice handling.
Message and User files version 8
Changes from V4.0 to V4.1 Starting 10/1/87
Removed the "max # users in user file" from config.mb
Seperate times for "old" for NTS, user, bulletins.
Would not rev fwd if target system had script in fwd.mb
Removed /EX as end-of-msg, it was a bad idea.
COMXBIOS replaced by PIPE. Generalizes the function to 4 ports.
"monitor" "watch user" "see TNC commands" per port.
Added DOS escape: ! command and ! list in fwd.mb.
Got tired of seeing all the commands to the tnc, now not echo to screen.
Zip code was not justified correctly in user record.
Repaired "defered remote sysop command.
Changes from V4.1 to V4.3 Starting 11/13/87
Code updates now handled by VE3GYQ alone. (i.e. don't bother Hank)
Hitting ctl-E to talk to user could trash the LOG file.
Fixed bug in forwarding using scripts.
Fixed bug in allocating scratch area buffer size.
Added RFC822 headers to the reading of messages (performed by
the read function, and NOT included in the actual message body).
Note that beginning with 4.1, the NN (NET/ROM interrogator) code
was not compiled in. Reduces size of code considerably.
Again, not obvious from past notes, but new command ! for sysop
allows shelling to the DOS COMMAND interpreter. i.e. ! copy *.doc docs\*.*
Full headers no longer seen by users, but can be seen by sysop with RH.
Restored /EX for end of message (with ctrl-z as usual).
Changes from V4.3 to V4.4 Starting 1/1/88
Now any message addressed to a legit callsign will automatically
be marked as private.
Added BIDs. Will parse bulletins without a BID and assign one based
on home BBS and msg number there.
Fixed order of lines in RFC822 type header so it now matches spec.
Fixed bug in time slicing in MBIBM.C module.
Added delay of 5 sec. to the sending of the *** LINKED to message
out of the slave tnc, as some BBSs were slow to clear up their
other ports after a connection was established.
Re-allowed RH command for users.
Changes from V4.4 to V4.51 Starting 2/18/88
Bid's are now made only for type A,B,F, & V messages,
";" added after a list command causes Bid and cc lines to be listed.
Transparent mode can now be used as set in the config.mb port line.
NEW BRBIOS used for transparent mode.
Printer active from command line by typeing control P toggle.
Appendix A ------------------ CHANGES ------------------------------- Page 2
(Continued)
Removed the pause message whenever the printer is toggled on.
Log file now logs @bbs field in message entries.
Log file now logs local message entries.
Password routine added to insure security of remote sysop.
Fixed bug in gate: Allowed users to use gateway when G not in config.
Alternate display of tnc cmds when 123 not in config. Shows port letter
as upper case if normal, and lower case if timeout on cmd:.
Forward timeout field now in port config line. Allows time for tnc to
flush out it's buffer on timeout before starting next connect.
Single header line when using pipe between multiple bbs's.
Revised file directory into a two column format.
Revised permits so remote sysop now can list all messages and allow
killing of messages only from sysop mode.
Changes from V4.51 to V4.52 Starting 3/3/88
Fixed bug in Edit message to add bid to BID file with blank BID.
Printer now shut off when sysop goes BYE.
Now only messages with no type to a legal callsign become private.
Log file now logs Make type messages.
":"'s added after Ok and No responses for uniformity.
User record is updated with next message number only if user does 'L'.
Added "Are you sure?" to Quit and Untangle commands.
Changes from V4.53 to V4.6 10 Starting 6/10/88
Fixed bug with timeout in forwarding.
New edit message & edit user format for sysop.
Transparent mode now changed from edit port parameter.
Message without a bid at a distribution list put on hold.
Added Zip to white paper for consistency.
Fwdcmd now replies done when done for consistency.
Now match Conn or Disc anywhere in received line.
Fixed minor bug on DOS operations.
Received scripts now can be partially matched.
Waitcmd time now set correctly if using DesqView.
Check for [...] only for first response on connect.
Bulletins now considered like type F messages on forwarding.
Fixed minor bug for bid check in SM and MM commands.
Fixed generated bid in WP and Service messages.
Placed tnc in converse mode when sysop talks to user.
Corrected bugs in transparent mode operation.
Corrected long standing loging bug.
Made message auto-BID's 12345_K3XXX for consistency.
Added NEW DESQview and DoubleDOS flags in config.
Forwarded traffic not shown to users.
Stopped *** Invalid Command from other bbs causing messages to be lost.
Clsmon done at forwarding time.
Fixed bugs in remote sysop using pipes.
[...] in prompt lines does not reset sid options.
Appendix B ------------------ CONFIG.MB ------------------------------ Page 1
SAMPLE CONFIG.MB:
A123UDTIX 360 20 600 100 10 2 53 6 15
-> 145.01 Mhz.
B123UDTIX 300 20 600 100 10 2 53 8 15
-> 145.05 Mhz.
LCUDE 300 10 600 100 10 0 53 8 15
-> Stations Connected
*** EOF
ADU
D:\oscar\
--> Amsat / Oscar
BDU
D:\files\
--> General information
CDU
D:\cuser\
--> Commadore 64 Users
DDU
D:\ares\
--> NTS \ ARES / RACES
FDU
D:\arrl\
--> ARRL / W5YI Material
GDU
D:\gateway\
--> Gateway Newsletters
HDU
D:\hamfest\
--> Hamfests and Related EVENTS
MDU
D:\map\
--> Packet MAPS
NDU
D:\new\
--> Net/Rom Information
*** EOF
K3RLI
ARL PAWEST
NEPBBS
*** EOF
hold
*** EOF
Hello $I, Welcome to the $O MailBox from $W in $Q
Last logged at $Y on $X.
Type H for help, L to list new messages.
*** EOF
K3RLI >
$D/$T, $L, $N msgs>$H
$U de $O: at $Tz on $D ?,B,C,D,H,I,J,K,L,M,N,P,R,S,T,U,V,W >
K3RLI
Wilkes-Barre, Pa
WD6CMU
D:HELP.MB
D:INFO.MB
\mb\bbs\FWD.MB
\mb\bbs\LOG.MB
\mb\bbs\MON.MB
\mb\bbs\MAIL.DAT
Appendix B ------------------ CONFIG.MB ------------------------------ Page 2
(Continued)
D:MAIL.BAK
\mb\bbs\USER.DAT
D:USER.BAK
\mb\msgs\
\mb\BID.MB
\mb\bbs\CALLS.MB
10 (Max # of Calls in calls.mb)
NO (Doubledos = YES D or DESQview = YES V)
NO (Pipe = YES z)
YES (Prompt name)
YES (Prompt bbs)
YES (Prompt zip)
YES (Turn on logging)
YES (Log GateWay events)
YES (Log file transfers)
YES (Log message events)
NO (Log local events)
F (Control char to kick user off system)
E (Control char to return from talk mode)
E (Control char to interrupt user and talk)
E (Control char to interrupt idle MailBox and get local menu)
Any key to continue, Q to Quit.$H
$S ($W) is using the MailBox.
$R tried to connect.
Please stand by, $W would like to talk to you.
Hang on one minute, I will page $W.
$W did not answer, you might leave a message to K3RLI in the MailBox.
$S ($W) would like to talk to you.
The GateWay is not available.
You are linked to the other TNC. ^W returns to menu.
Attempting the connection on $F. ^W will abort.
Connection not established.
Connection established. ^W to disconnect.
Connection aborted.
You are listening to $F. Type anything to return to menu.
Enter TITLE for message:
Enter message #$C, ^Z (CTL-Z) to end:
You have new mail, $I, Type R <space> Msg# to read it:
Msg# TR Size To From @ BBS Date/Time Title
R:$J/$Kz $M@$O [Wilkes-Barre,Pa]
Mail file empty.
Untangling Mail.
*** Killed message $M
New TO or <cr> to retain:
New @ BBS or <cr> to retain:
New TITLE or <cr> to retain:
New TYPE or <cr> to retain:
*** Sorry, That is not a NTS Traffic Message.
6 (Max calls in BT list)
40 (Max bbs with msg to fwd to)
YES (Kill regular message after forward)
NO (Kill type F & B message after forward)
YES (Generate svc msg on KT)
YES (Enable ET Command)
30 (Age of bulletin messages when marked as stale, days)
5 (Age of NTS messages when marked as stale, days)
10 (Age of User Messageswhen marked as stale, days)
Appendix B ------------------ CONFIG.MB ----------------------------- Page 3
(Continued)
Send the file, ^Z (CTL-Z) to end.
N_Name
Compressing the user file.
--Call Date Time Logd Msg Hm BBS I PLBEDSK Name Zip
EDIT: Y to delete, Q to Quit <cr> to retain:$H
*** Please Enter N (name) to enter your name.
*** Please Enter NH (call) to enter the call of your MAIL BBS.
*** Please Enter NZ (zip) to enter your ZIP code.
*** MailBox can't do it, probably a hardware problem.
*** None Found
*** Not your message.
*** There is alreay a file with that name.
*** Sorry - Timeout!!! -
*** What?
*** Done
*** No such Port.
*** No such Directory.
*** File not found: $H
*** Message not found.
*** Port is in use.
PASSWORD goes here -- 64 characters ----
--EOF--