home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 December
/
simtel1292_SIMTEL_1292_Walnut_Creek.iso
/
msdos
/
rbbs_pc
/
rbbsdoor.arc
/
RBBSDOOR.DOC
< prev
next >
Wrap
Text File
|
1986-10-11
|
16KB
|
456 lines
RBBSDOOR Version 1.2A
A DOORSprocessor for RBBS-PC
<ABSTRACT>
This document describes the functions of the RBBSDOOR program.
RBBSDOOR is a DOORS processor to be used with RBBS-PC.
RBBS-PC is a very nifty Bulletin Board program written by D. Thomas
Mack, Jon Martin and Ken Goosens.
RBBS-PC provides a mechanism called DOORS. DOORS allows a user of an
RBBS-PC Bulletin Board to run programs external to RBBS-PC on the
bulletin board machine. If the the RBBS-PC programs runs under the
multitasking progam Multilink (tm) of The Software Link, DOORS allow
the remote user to run many full-screen applications, the users
computer acting as a remote 'dumb' terminal.
The DOORS mechanism of RBBS-PC is very simple:
Depending on the user's choice a BATchfile is created by the RBBS-PC
program. After this, RBBS-PC will enque the communications port and
it's control to Multilink. RBBS-PC terminates and the created BATchfile
is called by the BATchfile that originally started RBBS-PC.
Please refer to the RBBS-PC documentation for details on DOORS.
RBBSDOOR is an addition to the RBBS-PC DOORS feature. RBBSDOOR enables
a sysop to Control access to the various programs in his DOOR by
setting a secutriy level to a specific program. This way only users
with at least that securitylevel are allowed to run that program.
For users with a lower securitylevel the program will be unaccesible
and invisable.
This way a Sysop can open up his system to his users the way he likes.
Normal users would be allowed to run certain programs, whereas his co-
sysops or chairmen can be allowed to do more.
Even the RBBS-PC feature of "Remote Sysop" can be done by RBBSDOOR.
It's possible to open a DOOR called DOS. This door will drop the remote
user to the operating system on the Bulletin Board computer in full-
screen mode.
By Jan Terpstra of Bamestra RBBS, The Netherlands
page -1-
RBBSDOOR Version 1.2A
A DOORSprocessor for RBBS-PC
<SYSTEM REQUIREMENTS>
RBBSDOOR will only run in a specific environment.
Any PC running RBBS-PC under Multilink from The software link can be
used to run RBBSDOOR. The development and testing has been done with
IBM's PC-DOS 3.00 and 3.10 and Multilink Version 3.02. I can NOT
guarantee that RBBSDOOR will run in any other combinations of operating
systems or under any other level of Multilink.
The setup of my BAMESTRA RBBS system is this:
- IBM PC/AT with 640KB memory and a 20MB harddisk
- IBM PC-DOS 3.00
- Multilink 3.02, divided up in three partitions:
TWO backgrounds of 190KB, each running a RBBS-PC node
A foreground leaving enough room to do some editing of bulltins,
helpfiles, etcetera.
- Two telephonelines with two modems:
line 1 A 20 year old IBM 3976 model II modem (300 baud)
line 2 A CTS2424 modem from FabriTek (a Hayes 'clone')
RBBSDOOR has also been tested on a PC/XT with 512KB memory and 1
background partition of 190KB running one RBBS-PC node.
RBBSDOORS has been tested with RBBS-PC versions 13.1A, 14.1A, 14.1C
and 14.1D, on both the PC/XT and the PC/AT, running IBM's PC-DOS 3.00
and PC-DOS 3.10. In all the possible combinations.
RBBSDOOR has no problems with Multilink's filesharing, as RBBSDOOR only
accesses the shared files to READ them.
<HOW IT WORKS>
A typical RBBS-PC BATchfile for a single node looks much like this
RBBS.BAT file: (all examples are based on RBBS-PC 14.1D!)
ECHO OFF
IF EXIST RCTTY.BAT DEL RCTTY.BAT
IF EXIST RBBS1F1.BAT DEL RBBS1F1.BAT
RBBS-PC.EXE
IF EXIST RBBS1F1 GOTO END
IF EXIST RCTTY.BAT RCTTY.BAT
RBBS.BAT
:END
Usually the program WATCHDOG or GUARD is added to reboot the system
when carrier is dropped by the user while he was in the DOORS.
Nothing new to that, I think.
The BATchfile for a single node system using RBBSDOOR would look like
this:
By Jan Terpstra of Bamestra RBBS, The Netherlands
page -2-
RBBSDOOR Version 1.2A
A DOORSprocessor for RBBS-PC
ECHO OFF
IF EXIST RCTTY.BAT DEL RCTTY.BAT
IF EXIST RBBS1F1.BAT DEL RBBS1F1.BAT
RBBS-PC.EXE 1
IF EXIST RBBS1F1 GOTO END
RBBSDOOR.EXE 1
IF EXIST RCTTY.BAT RCTTY.BAT
RBBS.BAT
:END
That's all? Yes, for a single node BATchfile, all you need is to add
RBBSDOOR.EXE 1 and a node number for RBBS-PC.EXE
You don't even have to change the BATchfiles you've written to start
programs from your DOOR.
If you are running two RBBS-PC nodes on a single computer (you have to
do some more. This is how my BATchfile (called RUNRBBS.BAT) looks.
IF EXIST RCTTY%1.BAT DEL RCTTY%1.BAT
IF EXIST RBBS%1F1.DEF DEL RBBS%1F1.DEF
GUARD%1 OFF
RBBS141D.EXE %1
IF EXIST RBBS%1F1.DEF GOTO END
IF EXIST RCTTY%1.BAT GUARD%1 ON
RBBSDOOR.EXE %1
IF EXIST RCTTY%1.BAT RCTTY%1.BAT %1
RUNRBBS.BAT %1
:END
Why all those %1 shattered around in my BATchfile? Well, to be sure the
right node is started again when a user ends his DOORS session, I us
the %1 parameter. To start node 1 or node 2, I simply give the command
RUNRBBS.BAT 1 or RUNRBBS.BAT 2
The %1 parameter 'circulates' through all the batchfiles called by
RUNRBBS.BAT, this way I'm sure the right node is started and I don't
need to have all my DOORS batchfiles two times. There are some
precautions you have to take. Please see the sample DOORS files
provided in this diskette.
This is (step by step) what happens the moment a user selects DOORS
from RBBS-PC's main menu. The has logged on to node 2 with a security
level of 5.
- The DOORS menu is presented by RBBS-PC
This menu only contains ONE possible DOOR, mine is simply called
DOORS. Of course there has to be a dumm file DOORS.BAT, because RBBS-
PC checks if it exists.
By Jan Terpstra of Bamestra RBBS, The Netherlands
page -3-
RBBSDOOR Version 1.2A
A DOORSprocessor for RBBS-PC
- RBBS-PC dynamically builds the RCTTY.BAT file. The Sysop has named
this file in RBBS-PC's configuration program CONFIG, in option 83.
These should be set to RCTTY1.BAT for node 1 and to RCTTY2.BAT for
node 2
- RBBS-PC terminates via EXITRBBS.EXE (to prevent dropping DTR)
- The RUNRBBS.BAT file will check for the existence of RBBS2F1.DEF.
This file is created by RBBS-PC when the local sysop presses F1 to
terminate RBBS-PC immediately. This file does not exist, so
- RBBSDOOR.EXE is started by the command RBBSDOOR.EXE 1
RBBSDOOR will now:
* Check if RCTTY2.BAT exists. This is the method for RBBSDOOR to
check if it actually has to do anything. If RCTTY2.BAT does
not exist, RBBSDOOR.EXE will terminate immediately.
RCTTY2.BAT was there, so:
* RBBSDOOR will delete RCTTY2.BAT
* RBBSDOOR will search for a welcome file for the doors. If that file
exists, it is displayed to the user. This file can contain any
welcome, warning or whatever you like, with a maximum of 15 lines
of 80 characters. RBBSDOOR will now wait for any key pressed by the
user. During the display of the message, any key from the user will
terminate the display of the message.
* BBSDOOR will look in the node index record of the MESSAGES file.
The name of the last person on this node is contained there.
* RBBSDOOR will look in the USERS file to read this persons access
level
* RBBSDOOR will read RBBSDOOR's menufile. The available programs
are contained in this file, together with the minimum securitylevel
to run a program and the BATchfile that will invoke the program.
RBBSDOOR will ignore any program in the menu that has a
securitylevel assigned to it that is higer than the user's security
level.
Any program in the menu that has been assigned an equal or lower
security level than the user's security will be displayed to the
user.
* When all possible menu options are displayed, the user is asked to
enter the number of his choice.
* When the user has done so, RBBSDOOR will check the existence of a
BATchfile that will run the program. If this file exists, RBBSDOOR
will create a new RCTTY2.BAT file, update the log ans create a file
called PASTRU2. PASTRU2 contains some the user's data in the format
FIRST.NAME,LAST.NAME,SECURITY.LEVEL,ELAPESED.TIME,NODE.ID
All this data was read from the RBBS-PC USERS file. PASTRU2 can be
used by any program called by RBBSDOOR to pass on the users name,
his security level or limit the time the user is allowed to run a
program.
* After all this, RBBSDOOR.EXE will terminate and control returns to
the RUNRBBS.BAT file. This file will now check for the existence of
RCTTY2.BAT (that was newly created by RBBSDOOR) and if that file
exists, it will be executed and the %1 parameter is passed to the
By Jan Terpstra of Bamestra RBBS, The Netherlands
page -4-
RBBSDOOR Version 1.2A
A DOORSprocessor for RBBS-PC
RCTTY2.BAT file. At the end of the BATchfile called by RCTTY2.BAT
MUST!! be the statement RUNRBBS.BAT %1 to ensure return to the
proper node of RBBS-PC.
<CONFIGURATION>
RBBSDOOR needs several files to run. The first file needed is the
configuration file DOORSx.DEF, where the x is the node number.
DOORSn.DEF is a plain ASCII file containing seven lines of text.
For a BBS with two nodes on a single PC you need both DOORS1.DEFand
DOORS2.DEF. The parameter supplied upon starting RBBSDOOR will let
RBBSDOOR.EXE read either DOORS1.DEF or DOORS2.DEF.
Typical contents of DOORSn.DEF are:
The first line contains the name of the RBBS batch file, as set in
RBBS-PC's CONFIG option 84
The second line contains the name of the BATchfile RBBS-PC dynamically
builds when a user exits to DOORS, as specified in CONFIG option 84.
The third line contains the name of RBBS-PC's USERS file, as indicated
by CONFIG option 64.
The fourth line contains the name of the RBBS-PC MESSAGES file, as set
in CONFIG option 61.
The fifth line contains the name of the file containing the welcome
text that is displayes when RBBSDOOR is started.
The sixth line contains the name of the RBBSDOOR MENU file.
The last line is a single text line that is put on the top line of the
menu screen of RBBSDOOR. Maximum lenght of this line is 78.
A typical DOORS2.DEF file may look like this:
* All files must be indicated with their FULL drive and path names, all
in upper case.
C:RUNRBBS.BAT
C:RCTTY2.BAT
C:USERS
C:MESSAGES
C:DOORS.MSG
C:DOORMENU.DEF
The BAMESTRA RBBS DOORS System
Be sure to set the right RCTTYn.BAT file!
The second file needed is the file DOORMENU.DEF. It contains up to
12 possible BATchfiles that can be called from RBBSDOOR.
The line format of this file is:
SECURITY.LEVEL,PROGRAM.DESCRIPTION,BATCH.FILE
A typical menufile may look like this:
5,Edlin - a line editor,ED.BAT
6,LOTUS 123,LOTUS.BAT
100,DOS session,DOS.BAT
By Jan Terpstra of Bamestra RBBS, The Netherlands
page -5-
RBBSDOOR Version 1.2A
A DOORSprocessor for RBBS-PC
There is a maximum of 12 entries in a menu file. Of course, RBBSDOOR
can be chained, i.e. the one menu option may be another RBBSDOOR
with 12 other options. You are able to build a tree-structure of menus.
This file indicates that the BATchfile ED.BAT, descibed in the RBBSDOOR
menu, can be started by any user with a minumum securitylevel of 5.
That the BATchfile LOTUS.BAT can also be started by anybody with a
minimum level of 6.
And that the BATchfile DOS.BAT can be invoked by anybody with security
100 or higher.
The BATchfiles named in the menu file may look like this:
ED.BAT contains:
EDLIN
RUNRBBS.BAT %1
LOTUS.BAT contains:
CD\LOTUS
123
RUNRBBS.BAT %1
DOS.BAT looks like this:
COMMAND.COM
RUNRBBS.BAT %1
If you plan to operate a single node (under Multilink of course) using
RBBSDOOR, you MUST ALWAYS supply a nodenumber to both RBBS-PC.EXE and
RBBSDOOR.EXE and the indication of n in DOORSn.DEF must be the same
number. So, if you run a single node, change your RBBS BATchfile so that
it starts both RBBS-PC with and RBBSDOOR with a 1 as parameter.
You will also have to rename RBBS-PC.DEF ot RBBS1PC.DEF.
RBBSDOOR will NOT work properly without that.
<SECURITY>
One of the problems of DOORS is that a user can terminate any BATchfile
running in DOORS by simply pressing Ctrl-C. After this the user is in
your DOS and can read,change, or delete any or all of the files on your
disk.
I have developed a patch to MultiLink 3.02 and both IBM PC-DOS 3.00 and
3.10 to disble the handling of Ctrl-C.
The files to apply this patch to MultiLink and DOS are also on this
disk. For the safety of your files, I STRONGLY advise you to install
this patch. This will prevent a user from breaking out of a DOORS
BATchfile and drop in your DOS.
By Jan Terpstra of Bamestra RBBS, The Netherlands
page -6-
RBBSDOOR Version 1.2A
A DOORSprocessor for RBBS-PC
<REMARKS>
To test RBBSDOOR and the BATchfile off-line, i.e. without a running
RBBS-PC on the same machine, invoke RBBSDOOR.EXE 1 TEST
This way RBBSDOOR will not check for the existence of and RCTTYn.BAT
file and will not read the MESSAGES and USERS file.
This enables you to test al your DOORS BATchfiles.
If you have any questions regarding RBBSDOOR, feel free to call my
bulletin board an leave a message. Here are the numers:
Bamestra RBBS Node 1: xx31 2998 3603 (300 baud CCITT only)
Bamestra RBBS Node 2: xx31 2998 3602 (1200/2400 baud BELL/CCITT)
Or write to my mail adress:
Bamestra RBBS
P.O. Box 66
1462 ZH Beemster, The Netherlands
By Jan Terpstra of Bamestra RBBS, The Netherlands
page -7-