Ú¿ ÚÂÄ¿ ¿ ÚÄÂÂÄ¿ ÚÂÄÄ¿ Ú¿ ÚÂÄÄ¿ ÚÂÄÄ¿ ô ô ³ ³ ô ÃÅÄ Ã´ ÃÅÄ Ã´ ÀÙ ÀÙ ÀÄÙ ÀÙ ÀÁÄÄÙ ÀÁÄÄÙ ÀÁÄÄÙ ÀÁÄÄÙ ÚÂÄÄ¿ ÚÂÄÄ¿ ÚÂÄÄ¿ ÚÄÂÂÄ¿ Ú¿ ¿ ÚÂÄ¿ ÚÂÄ¿ ÚÂÄÄ¿ ÀÁÄ¿ ô ³ ÃÅÄ Ã´ ô ¿ ³ ÚÅÁÄÁ¿ ÃÅÄÁ¿ ÃÅÄ ÀÄÄÁÙ ÀÁÄÄÙ ÀÙ ÀÙ ÀÁÄÁÄÙ ÀÙ Ù ÀÙ Ù ÀÁÄÄÙ I n t e l e c S o f t w a r e ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ DoorMenu ³ ÚÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿³ ³DoorMenu is a way to enhance to OPEN / DOOR commands on your BBS. It allows³³ ³you to run your PPE's as doors for a more organized, seamless look and feel!³³ ³Coming features include the ability to organize your doors by "type" such asÃÙ ³Games, Mail, Utils, etc. Full security levels are supported and much more!³ ³Now you can Lock specific users out of doors too!! ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Installation DoorMenu ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Extract the files to a directory. If you are upgrading from 2.1+, be careful not to over-write your ??DES and ??GRP files. Prior to 2.1, you should do a complete install. Once registered, place a copy of your DOORMENU.KEY (or POWERPAK.KEY) file in the same directory as the PPE. Place the line: !D:\PPE\DM\DOORMENU.PPE as the only line in your DOORS menu file. If You want any PPE's to run as Doors you must add them to the DOORS.LST file, as shown below: ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Edit DOORS File º º º º USER DOOR º º Filename Password Sec Login SYS SYS Shell Path to DOOR Files  º ÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍÍÍ ÍÍÍÍ ÍÍÍÍ ÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ± º 1) ROSEMAIL 20 N Y N N D:\ROSE\ ± º 2) CRYPTO 20 N N Y N D:\SUNRISE\ ± º 3) SUBSCRIP 20 N N N Y D:\PPE\SP\ ± º 4) PRO-VOTE 20 N N N Y D:\PPE\PV\ ± º Press F2 to edit the DOOR file ± º  º ESC=Exit Alt-R=Repeat a Line Alt-I=Insert a Line Alt-D=Delete a Line º ÈÍ hh:mm:ss ÍÍÍ mm-dd-yy ÍÍÍÍÍÍ F1 Í help ÍÍÍÍ caps: OFF num: OFF ins: OFF ͼ In the list above, doors 1 and 2 are legitimate doors as the path to DOOR Files shows. Doors 3 and 4 are really 2 PPE's. The 3rd door (PPE), as an example, is SUBSCRIP.PPE. According to the above configs, PCBoard is going to look for a file called SUBSCRIP in the D:\PPE\SP directory. This is what the SUBSCRIP file looks like: @Echo off Echo !D:\PPE\SP\SUBSCRIP.PPE >> %PCBDRIVE%%PCBDIR%\PCBDOOR.TXT How this works, PCBoard displays the text file PCBDOOR.TXT when it returns from a door, that display file runs the PPE that was "echoed into" the PCBDOOR.TXT file. You MUST run the PPE as a "shelled door". Repeat this process for all the PPE's you place into your doors.lst You do not have to list the PPE in CMD.LST for this to work. There are 2 files that DoorMenu uses that must be located in the same directory as DOORMENU.PPE. (One required and one optional). Required is 0DES. If you are using "sub-groups" then 0GRP is also required. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³³ ###DES ³ (Conf Specific Door Description File)³ ³ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³³30 ³ Total number of doors for this conf. ³ ³³ROSEMAIL 20 1 QWK Mail Door³ 1st door ³ ³³CRYPTO 30 5 Cryptograms! ³ 2nd door ³ ³³SUBSCRIP 40 2 Online Shoppe³ 3rd door ³ ³³PRO-VOTE 20 3 Voting Booths³ 4th door ³ ³³FONE-VER 9 4 Callback Ver.³ 5th door ³ ³³etc... ³ and so on, and so on... ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ Each door has it's information all on the same one line. ³ ³ The 1st item on the line is the exact name of the door (DOORS.LST).³ ³ The 2nd item on the line corresponds to the sec level required. ³ ³ For display purposes only. PCBoard will handle the actual ³ ³ security for the door. ³ ³ The 3rd item corresponds to this door's group #. ** (See #GRP) ³ ³ The remainder is the description for that door. It must start ³ ³ at column 16 and cannot be more than 60 chars in length. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³³ ###GRP ³ (Menu of Groups of Doors) ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ Basically this is a straight menu file that is displayed if it ³ ³ exists for the current conference. A sample is included and the ³ ³ numbers you assign must correspond to the number you assigned to ³ ³ it in the matching ###DES file. So if you had sub-groups on your ³ ³ main board then you'd need both 0DES and 0GRP. If your conference ³ ³ 20 had a DIFFERENT group of doors then you also need 20DES & 20GRP.³ ³ ³ ³ If this file doesn't exist, the Group #'s in the DES file will be ³ ³ ignored, and all doors will be listed. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DoorMenu supports a PROMPTS file with all the prompts DoorMenu uses so you can customize them however you like. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³³ DOORMENU.CNF ³ (Config File) ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ Y Y = use OK's, N = Don't ³ ³ ³ ³ This is a plain text file that should be placed in the PPE ³ ³ directory. ³ ³ Line 1 indicates whether the OK flag files should be generated ³ ³ see information later in doc for mor details ³ ³ ³ ³ If this file doesn't exist, the default is N ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Lock Outs DoorMenu ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If you do not intend to use the lockout feature, you should set line 1 of the DOORMENU.CNF file to N. Lock outs are somwhat complicated in that a user can bypass the PPE by entering both OPEN (or DOOR) and the Door name on the command line. This ability was built in to the PPE to imitate PCBoard's operation. Lock out checking is still done at this stage, but it is trickier so I will describe how to tighten this up later. Since most users just type OPEN, and then make their selection from the list, I will describe the initial set up first. All Lock files have the extension '*.LCK'. The format is one user name to a line, case-insensitive, but must match exactly, their logon name. To lock a user out of a specific door, you use a file: doorname.LCK ie. for the door LORD, you would use LORD.LCK special LCK files ----------------- #DES.LCK - locks a user out of all doors for a conference, where # = the conference number. If the #DES file doesn't exist then it defaults to 0DES and 0DES.LCK. This file is checked even when the door name is given on the command line. #GRP??.LCK - locks a user out of all doors in a group for a conference (if you are using the grouping feature). # is the current conference (or 0GRP if the #GRP file doesn't exist) and ?? is the Group to lock the user out of. ie. to lock the user out of group 2 doors in conference 0, put their name in the file 0GRP2.LCK ** This method isn't as effective as this file isn't checked when the door name is specified on the command line *** Tightening Security on doorname lockouts, and Limits to the effectiveness ------------------------------------------------------------------------- Locking out users on a per-door basis poses a problem. PCBoard allows partial entry of a door name, as long as there is enough characters to distinguish it it from other commands. DoorMenu also allows this, passing the partial string on to PCBoard to process, after checking the LCK file. for example: MAIL, MAI, and MA would all open a door called MAIL (M is the Graphics-Mode change command) to prevent all the shorter versions from bypassing the MAIL.LCK, you will need to copy MAIL.LCK to MAI.LCK and MA.LCK if you really want to cover all the bases. OK files -------- Another pitfall is that a user can use just the doorname, or OPEN DOORNAME to bypass DOORMENU altogether. With a couple alterations, you can FORCE users to use Doormenu so that the checks take place. Doormenu now creates an OK file that you can check for in your door batch files. To activate this feature, edit DOORMENU.CNF and place a Y on line 1. When a user is not locked out, Doormenu will create a file in it's directory with the format: DOORNAME.# where DOORNAME is the name of the door (the above naming problems still must be taken into account) and # is the node number (1 - 999) Lets consider the door LORD. In your LORD batch file you would change it to look like this: @Echo off rem check for ok flag - you can omit these remarks - dmpath is the doormenu dir. IF EXIST d:\dmpath\LORD.%PCBNODE% GOTO OK IF EXIST d:\dmpath\LOR.%PCBNODE% GOTO OK IF EXIST d:\dmpath\LO.%PCBNODE% GOTO OK GOTO USEDM :OK rem this erases the ok file (MUST BE DONE). Since only the ok files rem will have the PCBNODE extension, it's ok to do a wildcard delete del d:\dmpath\*.%PCBNODE% rem contents of the original LORD file here END :USEDM Echo You Must use the OPEN command to use this door!>> %PCBDRIVE%%PCBDIR%\PCBDOOR.TXT rem End of new file You don't have to modify all your door files. Only the ones you want security for. Cleaning up extra OK files --------------------------- You may also want to clean up the directory in a daily event. This can be done with the following batch file line: FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO DEL *.%%A* Which will delete every file with an extension beginning with a number, Which should only be the OK files. This method will display "file not found" warnings which you can ignore. There are other ways to do the cleanup as well, but the above will work for up to 999 nodes. We included sample LCK, #DES and #GRP files for you to use as samples. If you have any questions, feel free to leave me a comment on my board or in the Intelec Network IS_Support and/or PPL_Language conference.