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 >
Text File  |  1986-10-11  |  16KB  |  456 lines

  1.  
  2.  
  3.                               RBBSDOOR Version 1.2A
  4.                           A DOORSprocessor for RBBS-PC
  5.  
  6.  
  7.  
  8.     <ABSTRACT>
  9.     This document describes the functions of the RBBSDOOR program.
  10.     RBBSDOOR is a DOORS processor to be used with RBBS-PC.
  11.  
  12.     RBBS-PC is a very nifty Bulletin Board program written by D. Thomas
  13.     Mack, Jon Martin and Ken Goosens.
  14.  
  15.     RBBS-PC provides a mechanism called DOORS. DOORS allows a user of an
  16.     RBBS-PC Bulletin Board to run programs external to RBBS-PC on the
  17.     bulletin board machine. If the the RBBS-PC programs runs under the
  18.     multitasking progam Multilink (tm) of The Software Link, DOORS allow
  19.     the remote user to run many full-screen applications, the users
  20.     computer acting as a remote 'dumb' terminal.
  21.  
  22.     The DOORS mechanism of RBBS-PC is very simple:
  23.     Depending on the user's choice a BATchfile is created by the RBBS-PC
  24.     program. After this, RBBS-PC will enque the communications port and
  25.     it's control to Multilink. RBBS-PC terminates and the created BATchfile
  26.     is called by the BATchfile that originally started RBBS-PC.
  27.     Please refer to the RBBS-PC documentation for details on DOORS.
  28.  
  29.     RBBSDOOR is an addition to the RBBS-PC DOORS feature.  RBBSDOOR enables
  30.     a sysop to Control access to the various programs in his DOOR by
  31.     setting a secutriy level to a specific program. This way only users
  32.     with at least that securitylevel are allowed to run that program.
  33.     For users with a lower securitylevel the program will be unaccesible
  34.     and invisable.
  35.  
  36.     This way a Sysop can open up his system to his users the way he likes.
  37.     Normal users would be allowed to run certain programs, whereas his co-
  38.     sysops or chairmen can be allowed to do more.
  39.     Even the RBBS-PC feature of "Remote Sysop" can be done by RBBSDOOR.
  40.     It's possible to open a DOOR called DOS. This door will drop the remote
  41.     user to the operating system on the Bulletin Board computer in full-
  42.     screen mode.
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                 By Jan Terpstra of Bamestra RBBS, The Netherlands
  64.                                     page -1-
  65.  
  66.  
  67.  
  68.                               RBBSDOOR Version 1.2A
  69.                           A DOORSprocessor for RBBS-PC
  70.  
  71.  
  72.     <SYSTEM REQUIREMENTS>
  73.     RBBSDOOR will only run in a specific environment.
  74.     Any PC running RBBS-PC under Multilink from The software link can be
  75.     used to run RBBSDOOR. The development and testing has been done with
  76.     IBM's PC-DOS 3.00 and 3.10 and Multilink Version 3.02. I can NOT
  77.     guarantee that RBBSDOOR will run in any other combinations of operating
  78.     systems or under any other level of Multilink.
  79.  
  80.     The setup of my BAMESTRA RBBS system is this:
  81.     - IBM PC/AT with 640KB memory and a 20MB harddisk
  82.     - IBM PC-DOS 3.00
  83.     - Multilink 3.02, divided up in three partitions:
  84.       TWO backgrounds of 190KB, each running a RBBS-PC node
  85.       A foreground leaving enough room to do some editing of bulltins,
  86.       helpfiles, etcetera.
  87.  
  88.     - Two telephonelines with two modems:
  89.       line 1 A 20 year old IBM 3976 model II modem (300 baud)
  90.       line 2 A CTS2424 modem from FabriTek (a Hayes 'clone')
  91.  
  92.     RBBSDOOR has also been tested on a PC/XT with 512KB memory and 1
  93.     background partition of 190KB running one RBBS-PC node.
  94.  
  95.     RBBSDOORS has been tested with RBBS-PC versions 13.1A, 14.1A, 14.1C
  96.     and 14.1D, on both the PC/XT and the PC/AT, running IBM's PC-DOS 3.00
  97.     and PC-DOS 3.10. In all the possible combinations.
  98.     RBBSDOOR has no problems with Multilink's filesharing, as RBBSDOOR only
  99.     accesses the shared files to READ them.
  100.  
  101.  
  102.     <HOW IT WORKS>
  103.     A typical RBBS-PC BATchfile for a single node looks much like this
  104.     RBBS.BAT file: (all examples are based on RBBS-PC 14.1D!)
  105.  
  106.        ECHO OFF
  107.        IF EXIST RCTTY.BAT DEL RCTTY.BAT
  108.        IF EXIST RBBS1F1.BAT DEL RBBS1F1.BAT
  109.        RBBS-PC.EXE
  110.        IF EXIST RBBS1F1 GOTO END
  111.        IF EXIST RCTTY.BAT RCTTY.BAT
  112.        RBBS.BAT
  113.        :END
  114.  
  115.     Usually the program WATCHDOG or GUARD is added to reboot the system
  116.     when carrier is dropped by the user while he was in the DOORS.
  117.     Nothing new to that, I think.
  118.  
  119.     The BATchfile for a single node system using RBBSDOOR would look like
  120.     this:
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.                 By Jan Terpstra of Bamestra RBBS, The Netherlands
  129.                                     page -2-
  130.  
  131.  
  132.  
  133.                               RBBSDOOR Version 1.2A
  134.                           A DOORSprocessor for RBBS-PC
  135.  
  136.  
  137.        ECHO OFF
  138.        IF EXIST RCTTY.BAT DEL RCTTY.BAT
  139.        IF EXIST RBBS1F1.BAT DEL RBBS1F1.BAT
  140.        RBBS-PC.EXE 1
  141.        IF EXIST RBBS1F1 GOTO END
  142.        RBBSDOOR.EXE 1
  143.        IF EXIST RCTTY.BAT RCTTY.BAT
  144.        RBBS.BAT
  145.        :END
  146.  
  147.     That's all? Yes, for a single node BATchfile, all you need is to add
  148.     RBBSDOOR.EXE 1 and a node number for RBBS-PC.EXE
  149.     You don't even have to change the BATchfiles you've written to start
  150.     programs from your DOOR.
  151.  
  152.  
  153.     If you are running two RBBS-PC nodes on a single computer (you have to
  154.     do some more. This is how my BATchfile (called RUNRBBS.BAT) looks.
  155.  
  156.  
  157.        IF EXIST RCTTY%1.BAT DEL RCTTY%1.BAT
  158.        IF EXIST RBBS%1F1.DEF DEL RBBS%1F1.DEF
  159.        GUARD%1 OFF
  160.        RBBS141D.EXE %1
  161.        IF EXIST RBBS%1F1.DEF GOTO END
  162.        IF EXIST RCTTY%1.BAT GUARD%1 ON
  163.        RBBSDOOR.EXE %1
  164.        IF EXIST RCTTY%1.BAT RCTTY%1.BAT %1
  165.        RUNRBBS.BAT %1
  166.        :END
  167.  
  168.     Why all those %1 shattered around in my BATchfile? Well, to be sure the
  169.     right node is started again when a user ends his DOORS session, I us
  170.     the %1 parameter. To start node 1 or node 2, I simply give the command
  171.  
  172.        RUNRBBS.BAT 1 or RUNRBBS.BAT 2
  173.  
  174.     The %1 parameter 'circulates' through all the batchfiles called by
  175.     RUNRBBS.BAT, this way I'm sure the right node is started and I don't
  176.     need to have all my DOORS batchfiles two times. There are some
  177.     precautions you have to take. Please see the sample DOORS files
  178.     provided in this diskette.
  179.  
  180.     This is (step by step) what happens the moment a user selects DOORS
  181.     from RBBS-PC's main menu. The has logged on to node 2 with a security
  182.     level of 5.
  183.  
  184.  
  185.     - The DOORS menu is presented by RBBS-PC
  186.       This menu only contains ONE possible DOOR, mine is simply called
  187.       DOORS. Of course there has to be a dumm file DOORS.BAT, because RBBS-
  188.       PC checks if it exists.
  189.  
  190.  
  191.  
  192.  
  193.                 By Jan Terpstra of Bamestra RBBS, The Netherlands
  194.                                     page -3-
  195.  
  196.  
  197.  
  198.                               RBBSDOOR Version 1.2A
  199.                           A DOORSprocessor for RBBS-PC
  200.  
  201.  
  202.     - RBBS-PC dynamically builds the RCTTY.BAT file. The Sysop has named
  203.       this file in RBBS-PC's configuration program CONFIG, in option 83.
  204.       These should be set to RCTTY1.BAT for node 1 and to RCTTY2.BAT for
  205.       node 2
  206.  
  207.     - RBBS-PC terminates via EXITRBBS.EXE (to prevent dropping DTR)
  208.  
  209.     - The RUNRBBS.BAT file will check for the existence of RBBS2F1.DEF.
  210.       This file is created by RBBS-PC when the local sysop presses F1 to
  211.       terminate RBBS-PC immediately. This file does not exist, so
  212.  
  213.     - RBBSDOOR.EXE is started by the command RBBSDOOR.EXE 1
  214.       RBBSDOOR will now:
  215.       * Check if RCTTY2.BAT exists. This is the method for RBBSDOOR to
  216.         check if it actually has to do anything. If RCTTY2.BAT does
  217.         not exist, RBBSDOOR.EXE will terminate immediately.
  218.         RCTTY2.BAT was there, so:
  219.       * RBBSDOOR will delete RCTTY2.BAT
  220.       * RBBSDOOR will search for a welcome file for the doors. If that file
  221.         exists, it is displayed to the user. This file can contain any
  222.         welcome, warning or whatever you like, with a maximum of 15 lines
  223.         of 80 characters. RBBSDOOR will now wait for any key pressed by the
  224.         user. During the display of the message, any key from the user will
  225.         terminate the display of the message.
  226.       * BBSDOOR will look in the node index record of the MESSAGES file.
  227.         The name of the last person on this node is contained there.
  228.       * RBBSDOOR will look in the USERS file to read this persons access
  229.         level
  230.       * RBBSDOOR will read RBBSDOOR's menufile. The available programs
  231.         are contained in this file, together with the minimum securitylevel
  232.         to run a program and the BATchfile that will invoke the program.
  233.         RBBSDOOR will ignore any program in the menu that has a
  234.         securitylevel assigned to it that is higer than the user's security
  235.         level.
  236.         Any program in the menu that has been assigned an equal or lower
  237.         security level than the user's security will be displayed to the
  238.         user.
  239.       * When all possible menu options are displayed, the user is asked to
  240.         enter the number of his choice.
  241.       * When the user has done so, RBBSDOOR will check the existence of a
  242.         BATchfile that will run the program.  If this file exists, RBBSDOOR
  243.         will create a new RCTTY2.BAT file, update the log ans create a file
  244.         called PASTRU2. PASTRU2 contains some the user's data in the format
  245.  
  246.           FIRST.NAME,LAST.NAME,SECURITY.LEVEL,ELAPESED.TIME,NODE.ID
  247.  
  248.         All this data was read from the RBBS-PC USERS file. PASTRU2 can be
  249.         used by any program called by RBBSDOOR to pass on the users name,
  250.         his security level or limit the time the user is allowed to run a
  251.         program.
  252.       * After all this, RBBSDOOR.EXE will terminate and control returns to
  253.         the RUNRBBS.BAT file. This file will now check for the existence of
  254.         RCTTY2.BAT (that was newly created by RBBSDOOR) and if that file
  255.         exists, it will be executed and the %1 parameter is passed to the
  256.  
  257.  
  258.                 By Jan Terpstra of Bamestra RBBS, The Netherlands
  259.                                     page -4-
  260.  
  261.  
  262.  
  263.                               RBBSDOOR Version 1.2A
  264.                           A DOORSprocessor for RBBS-PC
  265.  
  266.  
  267.         RCTTY2.BAT file. At the end of the BATchfile called by RCTTY2.BAT
  268.         MUST!! be the statement  RUNRBBS.BAT %1  to ensure return to the
  269.         proper node of RBBS-PC.
  270.  
  271.  
  272.     <CONFIGURATION>
  273.     RBBSDOOR needs several files to run. The first file needed is the
  274.     configuration file DOORSx.DEF, where the x is the node number.
  275.     DOORSn.DEF is a plain ASCII file containing seven lines of text.
  276.     For a BBS with two nodes on a single PC you need both DOORS1.DEFand
  277.     DOORS2.DEF. The parameter supplied upon starting RBBSDOOR will let
  278.     RBBSDOOR.EXE read either DOORS1.DEF or DOORS2.DEF.
  279.  
  280.     Typical contents of DOORSn.DEF are:
  281.     The first line contains the name of the RBBS batch file, as set in
  282.     RBBS-PC's CONFIG option 84
  283.     The second line contains the name of the BATchfile RBBS-PC dynamically
  284.     builds when a user exits to DOORS, as specified in CONFIG option 84.
  285.     The third line contains the name of RBBS-PC's USERS file, as indicated
  286.     by CONFIG option 64.
  287.     The fourth line contains the name of the RBBS-PC MESSAGES file, as set
  288.     in CONFIG option 61.
  289.     The fifth line contains the name of the file containing the welcome
  290.     text that is displayes when RBBSDOOR is started.
  291.     The sixth line contains the name of the RBBSDOOR MENU file.
  292.     The last line is a single text line that is put on the top line of the
  293.     menu screen of RBBSDOOR. Maximum lenght of this line is 78.
  294.     A typical DOORS2.DEF file may look like this:
  295.     * All files must be indicated with their FULL drive and path names, all
  296.     in upper case.
  297.  
  298.        C:RUNRBBS.BAT
  299.        C:RCTTY2.BAT
  300.        C:USERS
  301.        C:MESSAGES
  302.        C:DOORS.MSG
  303.        C:DOORMENU.DEF
  304.        The BAMESTRA RBBS DOORS System
  305.  
  306.     Be sure to set the right RCTTYn.BAT file!
  307.  
  308.     The second file needed is the file DOORMENU.DEF. It contains up to
  309.     12 possible BATchfiles that can be called from RBBSDOOR.
  310.     The line format of this file is:
  311.  
  312.      SECURITY.LEVEL,PROGRAM.DESCRIPTION,BATCH.FILE
  313.  
  314.     A typical menufile may look like this:
  315.  
  316.        5,Edlin - a line editor,ED.BAT
  317.        6,LOTUS 123,LOTUS.BAT
  318.        100,DOS session,DOS.BAT
  319.  
  320.  
  321.  
  322.  
  323.                 By Jan Terpstra of Bamestra RBBS, The Netherlands
  324.                                     page -5-
  325.  
  326.  
  327.  
  328.                               RBBSDOOR Version 1.2A
  329.                           A DOORSprocessor for RBBS-PC
  330.  
  331.  
  332.     There is a maximum of 12 entries in a menu file. Of course, RBBSDOOR
  333.     can be chained, i.e. the one menu option may be another RBBSDOOR
  334.     with 12 other options. You are able to build a tree-structure of menus.
  335.     This file indicates that the BATchfile ED.BAT, descibed in the RBBSDOOR
  336.     menu, can be started by any user with a minumum securitylevel of 5.
  337.     That the BATchfile LOTUS.BAT  can also be started by anybody with a
  338.     minimum level of 6.
  339.     And that the BATchfile DOS.BAT can be invoked by anybody with security
  340.     100 or higher.
  341.     The BATchfiles named in the menu file may look like this:
  342.  
  343.     ED.BAT contains:
  344.  
  345.        EDLIN
  346.        RUNRBBS.BAT %1
  347.  
  348.  
  349.     LOTUS.BAT contains:
  350.  
  351.        CD\LOTUS
  352.        123
  353.        RUNRBBS.BAT %1
  354.  
  355.  
  356.     DOS.BAT looks like this:
  357.  
  358.        COMMAND.COM
  359.        RUNRBBS.BAT %1
  360.  
  361.  
  362.     If you plan to operate a single node (under Multilink of course) using
  363.     RBBSDOOR, you MUST ALWAYS supply a nodenumber to both RBBS-PC.EXE and
  364.     RBBSDOOR.EXE and the indication of n in DOORSn.DEF must be the same
  365.     number. So, if you run a single node, change your RBBS BATchfile so that
  366.     it starts both RBBS-PC with and RBBSDOOR with a 1 as parameter.
  367.     You will also have to rename RBBS-PC.DEF ot RBBS1PC.DEF.
  368.     RBBSDOOR will NOT work properly without that.
  369.  
  370.     <SECURITY>
  371.     One of the problems of DOORS is that a user can terminate any BATchfile
  372.     running in DOORS by simply pressing Ctrl-C. After this the user is in
  373.     your DOS and can read,change, or delete any or all of the files on your
  374.     disk.
  375.  
  376.     I have developed a patch to MultiLink 3.02 and both IBM PC-DOS 3.00 and
  377.     3.10 to disble the handling of Ctrl-C.
  378.     The files to apply this patch to MultiLink and DOS are also on this
  379.     disk. For the safety of your files, I STRONGLY advise you to install
  380.     this patch. This will prevent a user from breaking out of a DOORS
  381.     BATchfile and drop in your DOS.
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.                 By Jan Terpstra of Bamestra RBBS, The Netherlands
  389.                                     page -6-
  390.  
  391.  
  392.  
  393.                               RBBSDOOR Version 1.2A
  394.                           A DOORSprocessor for RBBS-PC
  395.  
  396.  
  397.     <REMARKS>
  398.     To test RBBSDOOR and the BATchfile off-line, i.e. without a running
  399.     RBBS-PC on the same machine, invoke RBBSDOOR.EXE 1 TEST
  400.     This way RBBSDOOR will not check for the existence of and RCTTYn.BAT
  401.     file and will not read the MESSAGES and USERS file.
  402.  
  403.     This enables you to test al your DOORS BATchfiles.
  404.  
  405.  
  406.  
  407.     If you have any questions regarding RBBSDOOR, feel free to call my
  408.     bulletin board an leave a message. Here are the numers:
  409.  
  410.     Bamestra RBBS Node 1:  xx31 2998 3603 (300 baud CCITT only)
  411.     Bamestra RBBS Node 2:  xx31 2998 3602 (1200/2400 baud BELL/CCITT)
  412.  
  413.     Or write to my mail adress:
  414.     Bamestra RBBS
  415.     P.O. Box 66
  416.     1462 ZH Beemster, The Netherlands
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.                 By Jan Terpstra of Bamestra RBBS, The Netherlands
  454.                                     page -7-
  455.  
  456.