home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / bbsdoors / zdoor206.arc / ZDOOR.DOC < prev    next >
Text File  |  1988-03-25  |  56KB  |  1,393 lines

  1.  
  2.  
  3.  
  4.      
  5.      
  6.      
  7.      
  8.      
  9.      
  10.      
  11.      
  12.      
  13.      
  14.      
  15.      
  16.      
  17.      
  18.      
  19.                                        ZDoor
  20.      
  21.                              (C) Copyright 1987, 1988
  22.                                   by R. P. Byrne
  23.      
  24.                                   March 25, 1988
  25.      
  26.      
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.                                         1
  58.  
  59.  
  60.  
  61.  
  62.         I. Licensing Information
  63.      
  64.            ZDoor is provided for private, personal use.  You may distribute
  65.            the Zdoor program so long as the following conditions are
  66.            satisfied:
  67.      
  68.               *  The program is supplied in its original, unmodified form,
  69.                  including this documentation.
  70.      
  71.               *  No fee is charged for the distribution of ZDoor.
  72.      
  73.               *  The program may not be distributed as part of any
  74.                  other application or service without the written
  75.                  consent of the author
  76.      
  77.            ZDoor is being distributed as a ShareWare product (sort of...).
  78.            If you like the program then send the author a check for
  79.            whatever you feel the program is worth.
  80.      
  81.            If you are running your bbs for profit, or as part of a
  82.            business or government operation, then you are required to
  83.            remit $25.00 to the author for each copy of PCBoard under
  84.            which the ZDoor program will be run.
  85.      
  86.                 Send checks to:  Mr. Richard P. Byrne
  87.                                  5 Twin Elm Terrace
  88.                                  Sparta, NJ  07871
  89.      
  90.      
  91.      
  92.                                 * * * DISCLAIMER * * *
  93.      
  94.      
  95.                Unfortunately, I cannot and do not claim that the ZDoor
  96.               program is good for anything!  If YOU think it is, that's
  97.              great, but it is up to you to decide.  If you lose a million
  98.                  dollars because ZDoor messes up, I refuse to be held
  99.                responsible...it is you that is out the million, not me!
  100.      
  101.      
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.                                         2
  116.  
  117.  
  118.  
  119.  
  120.        II. Program Overview
  121.      
  122.            ZDoor is a program for use with PCBoard version 12.1 that
  123.            facilitates the use of Chuck Forsberg's DSZ program (Copyright
  124.            1987 by OMEN Technology Inc.) to provide PCBoard callers with
  125.            the ability to upload and download files using the ZModem file
  126.            transfer protocol.
  127.      
  128.            By installing ZDoor on your system, you will be providing your
  129.            callers with all of the advantages of ZModem including enhanced
  130.            error correction/detection, enhanced throughput for callers
  131.            using packet networks, the ability to resume an aborted
  132.            transfer, batch mode transfers, and much, much more.
  133.      
  134.            For those of you operating your boards with modems that provide
  135.            hardware error-checking, ZDoor provides your callers with a
  136.            YModem-G alternative to the ZModem protocol for even faster
  137.            throughput.  And finally, for callers who simply refuse to become
  138.            acquainted with the ZModem protocol, a true YModem protocol is
  139.            available for batch transfers.
  140.      
  141.            In addition to facilitating file transfers, ZDoor also functions
  142.            as an ARC file processing door.  Verbose listings of ARC file
  143.            contents are provided as well as the ability to display any file
  144.            contained in an ARChive (including those compressed with Phil
  145.            Katz's "squash" algorithm).  Starting with version 2.06, an ARC
  146.            Extraction facility is available which allows callers to extract
  147.            selected files from an ARC file.  The extracted ARC members are
  148.            placed into a temporary ARChive for downloading.
  149.      
  150.            For the caller's convenience, all of Pcboard's file-related
  151.            functions are provided by ZDoor.  These include N)ew file scans,
  152.            L)ocate file, Z)ippy Directory scans, listing of DIR files,
  153.            Conference J)oin and A)bandon, etc.  The syntax for these functions
  154.            duplicates that used within PCBoard itself. Several utility
  155.            commands are also available to the caller such as O)perator Page,
  156.            V)iew Statistics, M)ode, T)ransfer Protocol, and X)pert Mode
  157.            Toggle.
  158.      
  159.            ZDoor handles all of the various record keeping tasks required
  160.            by a door of this type.  The caller's daily time limit is
  161.            closely monitored, his upload/download counts are kept
  162.            up-to-date, time remaining is automatically adjusted for time
  163.            spent uploading files, etc.
  164.      
  165.            There are many other features of ZDoor that could be described
  166.            here, however the best way to understand the program is to run
  167.            it and watch...
  168.      
  169.      
  170.  
  171.  
  172.  
  173.                                         3
  174.  
  175.  
  176.  
  177.  
  178.       III. Installation
  179.      
  180.            Installation of ZDoor is a simple process.  What little
  181.            information the program cannot obtain from PCBoard's own setup
  182.            files (pcboard.dat, cnames, etc.), is provided by the sysop in a
  183.            configuration file.
  184.      
  185.            Once a configuration file has been built, a batch file is
  186.            created to invoke the door program.  This batch file serves to
  187.            set various environment variables, invoke the door program, and
  188.            return to PCBoard after the door program has been terminated.
  189.      
  190.            Finally, entries are made into PCBoard's Doors.Dat file(s) to
  191.            inform the board software that a new door is available to
  192.            callers.
  193.      
  194.            1. Configuration File(s) Setup
  195.      
  196.               The environment under which ZDoor will operate must be
  197.               described in a configuration file.  There is no magic
  198.               associated with this file, so you can use your favorite
  199.               editor (Edlin?) to put one together or make changes to the
  200.               samples provided.  There are only 2 rules to follow:
  201.      
  202.                     *  Put each entry on a line by itself
  203.                     *  Don't put any comments on lines 8 through 13
  204.      
  205.               NOTE: A separate configuration file needs to be created for
  206.               each node of a multi-node system.  Several sample
  207.               configuration files are provided in the ZDoor ARChive.  These
  208.               should be used as templates for creating your own
  209.               configuration files.
  210.      
  211.               ZDoor.Cfg  - Sample config. for single node system
  212.               ZDoor1.Cfg - Sample config. for 1st node of a two-node system
  213.               ZDoor2.Cfg - Sample config. for 2nd node of a two-node system
  214.      
  215.               Pretty simple, eh?  Ok, lets begin with a description of
  216.               what is specified on each line in the file.
  217.      
  218.               Line  1:  Full Path and Filename for an Opening Message File
  219.      
  220.                         This line specifies the "base" name of a text
  221.                         file that will be shown to the caller when the
  222.                         door is first opened.
  223.      
  224.                         If the caller is NOT in graphics mode when the
  225.                         door is opened, ZDoor will look for a file with
  226.                         the same name specified here.  If the caller IS
  227.                         in graphics mode, ZDoor will append a 'G' to
  228.                         this filename and attempt to display it.  Should
  229.                         this fail, ZDoor will fall back to displaying
  230.  
  231.                                         4
  232.  
  233.  
  234.  
  235.  
  236.                         the file with the exact name specified here.  If
  237.                         this too fails, no opening message will be
  238.                         displayed, and processing will continue
  239.                         normally.
  240.      
  241.                         The contents of this file will NOT be paginated
  242.                         for the caller, so keep it short.
  243.      
  244.               Line  2:  Full Path and Filename for a News File
  245.      
  246.                         This line specifies the base name of a text file
  247.                         that will be displayed to the caller following the
  248.                         Opening Message File.
  249.      
  250.                         As with the opening message file, a graphic
  251.                         version may be created.  Append a 'G' to the name
  252.                         of the graphic version filename, and ZDoor will
  253.                         automatically display it if the caller is in
  254.                         Graphics mode.  Similarly, if the graphic version
  255.                         cannot be found by ZDoor, the Non-Graphic news
  256.                         file is displayed.  If neither is found,
  257.                         processing continues normally.
  258.      
  259.                         The contents of this file will be paginated, so
  260.                         feel free to make it as long as you need it to be.
  261.      
  262.               Line  3:  Full Path and Filename for a Logoff Message File
  263.      
  264.                         This line specifies the name of a text file that
  265.                         will be displayed to the caller after the G)oodbye
  266.                         command is issued (before carrier is dropped).
  267.      
  268.                         As with the Opening Message and News files, a
  269.                         graphic version may be created for callers in color
  270.                         graphics mode.
  271.      
  272.                         The contents of this file will NOT be paginated, so
  273.                         keep it short.
  274.      
  275.                         Your existing Script0 file can be used, however the
  276.                         semicolons are not parsed out prior to display.  It
  277.                         is suggested, therefore, that you copy Script0 to
  278.                         another name and then edit out the semicolons.
  279.      
  280.      
  281.               Line  4:  Full Path and Filename for a Help File
  282.      
  283.                         This line specifies the base name of a text file
  284.                         that will be displayed to the caller if the H)elp
  285.                         command (or it's synonym '?') is selected from one
  286.                         of ZDoor's menus.
  287.      
  288.  
  289.                                         5
  290.  
  291.  
  292.  
  293.  
  294.                         As with the Opening Message and News files, a
  295.                         graphic version may be created for callers in color
  296.                         graphics mode.
  297.      
  298.                         The contents of this file will be paginated, so
  299.                         feel free to make it as long as you need it to be.
  300.      
  301.               NOTE: The first four lines of the configuration file MUST
  302.               contain valid DOS file specifications.  The files do not need
  303.               to actually exist, but valid filespecs must be provided.
  304.      
  305.      
  306.               Line  5:  Full Path and Filename of the PCBoard.Sys file
  307.      
  308.                         This line tells the door where to find the
  309.                         PCBoard.Sys file that is generated by PCBoard
  310.                         whenever a caller enters a door.
  311.      
  312.               Line  6:  Full Path and Filename of the PCBoard.Dat file
  313.      
  314.                         This line tells the door where to find the
  315.                         PCBoard.Dat file that contains the setup
  316.                         information for PCBoard.
  317.      
  318.               Line  7:  Full Path and Filename of the DSZ program
  319.      
  320.                         This line tells the door where to find the DSZ
  321.                         program.  Note that the filename extension must be
  322.                         specified as part of the filename
  323.      
  324.                         e.g.   C:\UTIL\DSZ.COM
  325.      
  326.               Line  8:  DSZ Command Line for Sending a File with ZModem
  327.      
  328.                         This line is used to specify any DSZ "sender"
  329.                         options that may be required for your system.
  330.      
  331.                         I would strongly urge that you not fool too much
  332.                         with this line unless you have a good
  333.                         understanding of how the ZModem protocol is
  334.                         implemented in DSZ.
  335.      
  336.               Line  9:  DSZ Command Line for Receiving a File with ZModem
  337.      
  338.                         This line is used to specify any DSZ "receiver"
  339.                         options that may be required for your system.
  340.      
  341.                         As with line 8 (sender options), I would
  342.                         strongly urge that you not fool too much with
  343.                         this line unless you know what you are doing.
  344.      
  345.                         Do not specify the -p option on this line.  This
  346.  
  347.                                         6
  348.  
  349.  
  350.  
  351.  
  352.                         option is automatically supplied by ZDoor.
  353.      
  354.               If you are using a modem that supports hardware
  355.               error-correction (eg. MNP) and you have that feature enabled,
  356.               add "handshake both" to your send and receive command lines
  357.               at the very beginning.  This enables both XON/XOFF and
  358.               CTS/RTS flow control.
  359.      
  360.               eg.       Line 8: handshake both pB6144 sz
  361.                         Line 9: handshake both pB6144 rz
  362.      
  363.               If you are using a high speed modem and have chosen *NOT* to
  364.               autobaud (ie.  it is locked in at 19.2 or 9.6 kbps at all
  365.               times), some additional parameters are needed by DSZ to
  366.               improve flow control and error recovery when sending files.
  367.               For example, your command lines might be:
  368.      
  369.                         Line 8: handshake both pB6144 z pb1 pw2048 sz
  370.                         Line 9: handshake both pB6144 rz
  371.      
  372.               These command lines are consistent with the current
  373.               settings of the PCBMODEM program for high speed modems
  374.               running at a fixed baud rate.  They should only be used in
  375.               that configuration as they will decrease Zmodem's
  376.               efficiency in all other setups.
  377.      
  378.               Line 10:  DSZ Command Line for Sending a file with YModem
  379.      
  380.                         This line specifies any YModem Sender options
  381.                         that may be required for your system.
  382.      
  383.                         Note that no handshake is required for YModem, as
  384.                         the constant ACK/NAK sequences generated by the
  385.                         protocol will serve the same purpose as XON/XOFF
  386.                         or RTS/CTS handshakes.
  387.      
  388.               Line 11:  DSZ Command Line for Receiving a file with YModem
  389.      
  390.                         This line specifies any YModem Receiver options
  391.                         that may be required for your system.
  392.      
  393.                         As with Line 10, no handshake parameters are
  394.                         required here.
  395.      
  396.               Line 12:  DSZ Command Line for Sending a file with YModem-G
  397.      
  398.                         This line specifies any YModem-G sender options
  399.                         that may be required by your system.
  400.      
  401.                         As with the ZModem command lines and depending on
  402.                         your modem type, a handshake parameter and
  403.                         possibly other options may be required here.
  404.  
  405.                                         7
  406.  
  407.  
  408.  
  409.  
  410.      
  411.               Line 13:  DSZ Command Line for Receiving a file with YModem-G
  412.      
  413.                         This line specifies any YModem-G receiver options
  414.                         that may be required by your system.
  415.      
  416.                         As with the ZModem command lines and depending on
  417.                         your modem type, a handshake parameter and
  418.                         possibly other options may be required here.
  419.      
  420.                         One parameter that MUST be specified on this line
  421.                         is '-g', as without this, DSZ will fall back to
  422.                         regular YModem.
  423.      
  424.               Line 14:  Additional Time (in minutes) granted for Uploads
  425.      
  426.                         The Sysop may specify an additional time credit for
  427.                         uploads.  For each file uploaded, the caller will
  428.                         be granted additional time on the system as
  429.                         specified on this line.  A value of zero on this
  430.                         line means that no "additional" time will be
  431.                         granted for uploads, but that time spent uploading
  432.                         files will not be charged against the caller.
  433.      
  434.               Line 15:  Minimum Security Level Required for Batch Downloads
  435.      
  436.                         The Sysop may choose to restrict the availability
  437.                         of Batch mode file transfers based on the caller's
  438.                         security level.  Callers with a security level that
  439.                         is greater than or equal to the number on this line
  440.                         will be granted access to the Batch Download
  441.                         features of ZDoor and DSZ.  Those callers with a
  442.                         lower security level will be allowed single file
  443.                         downloads only.
  444.      
  445.               Line 16:  Minimum Security Level Required for Batch Uploads
  446.      
  447.                         Callers with a security level that is greater than
  448.                         or equal to the number on this line will be granted
  449.                         access to the Batch Upload features of ZDoor and
  450.                         DSZ.  Those callers with a lower security level
  451.                         will be allowed single file uploads only.
  452.      
  453.               Line 17:  Full path and filename of Temporary ARC file
  454.      
  455.                         This line specifies the name of the ARC file
  456.                         created by the 'E)xtract files to Temp ARC'
  457.                         command (in the File & ARChive submenu).
  458.      
  459.                         Since this file must be available for download,
  460.                         specify a subdirectory that is currently part of
  461.  
  462.  
  463.                                         8
  464.  
  465.  
  466.  
  467.  
  468.                         your download path.
  469.      
  470.                         e.g.  D:\DL1\ZTemp.ARC
  471.      
  472.                         The filename entered here MUST be different for
  473.                         each node of a multi-node system.
  474.      
  475.               Line 18:  Minimum Security Level required for ARC Extract
  476.      
  477.                         This line specifies a minimum security level for
  478.                         the 'E)xtract files to Temp ARC' command.
  479.                         Callers with a security level less than this
  480.                         value will be denied the use of the E)xtract
  481.                         command.
  482.      
  483.            2. Environment Variables
  484.      
  485.               The DSZ program uses environment variables to determine
  486.               certain characteristics of the system on which it is to be
  487.               run.  These variables may be populated in either your
  488.               AutoExec.Bat file or in the batch file that invokes the ZDoor
  489.               program.  The DOS syntax for setting an environment variable
  490.               is as follows:
  491.      
  492.                          SET VARNAME=VALUE
  493.      
  494.               Where VARNAME is the name of the variable, and VALUE to be
  495.               assigned that variable.  Consult your DOS manual for further
  496.               information regarding the SET command.
  497.      
  498.      
  499.               a) DSZPORT
  500.      
  501.                  This variable tells DSZ which communications port to use.
  502.                  The value assigned must be an integer in the range 1
  503.                  through 8 (the maximum number of com ports supported by
  504.                  DSZ).
  505.      
  506.                  e.g.    SET DSZPORT=1
  507.      
  508.               b) DSZLOG
  509.      
  510.                  This variable specifies the full path and filename of a
  511.                  file to be used by DSZ to record the results of file
  512.                  transfers.  This variable MUST be set if batch transfers
  513.                  are desired.  If this variable is not set, or if it does
  514.                  not contain a valid DOS file specification, all batch mode
  515.                  transfers will be disabled (ie. callers will be granted
  516.                  single file transfers only).
  517.      
  518.                  The file specification provided in this variable MUST be
  519.  
  520.  
  521.                                         9
  522.  
  523.  
  524.  
  525.  
  526.                  different for each node of a multi-node system.
  527.      
  528.                  e.g.    SET DSZLOG=E:\WORK\NODE1.LOG
  529.      
  530.            3. Batch File Setup
  531.      
  532.               A batch file needs to be created to invoke the ZDoor program.
  533.               This batch file will be renamed to door.bat and executed by
  534.               PCBoard when the door is selected.  The only difference
  535.               between a "real" batch file and a "door" batch file is the
  536.               filename extension.  While DOS expects the extension to be
  537.               '.BAT', PCBoard expects no filename extension at all.
  538.      
  539.               e.g.  "ZModem.Bat" is no good, but "ZModem" is fine.
  540.      
  541.               Assuming that all ZDoor files are kept in the same
  542.               subdirectory (namely, c:\doors), that PCBoard runs on COM1:,
  543.               and that the name of the ZDoor configuration file is
  544.               ZDOOR.CFG, then the following door batch file should suffice:
  545.      
  546.                  SET DSZPORT=1
  547.                  SET DSZLOG=C:\DOORS\DSZ.LOG
  548.                  CD \DOORS
  549.                  ZDOOR ZDOOR.CFG
  550.                  CD \PCB
  551.                  BOARD
  552.      
  553.               If you run a multi-node system, then you will need separate
  554.               batch files for each node.  For instance:
  555.      
  556.               Node 1                         Node 2
  557.               ============================   ============================
  558.               SET DSZPORT=1                  SET DSZPORT=2
  559.               SET DSZLOG=C:\DOORS\DSZ1.LOG   SET DSZLOG=C:\DOORS\DSZ2.LOG
  560.               CD \DOORS                      CD \DOORS
  561.               ZDOOR ZDOOR1.CFG               ZDOOR ZDOOR2.CFG
  562.               CD \PCB1                       CD \PCB2
  563.               BOARD1                         BOARD2
  564.      
  565.               Some sample batch files are provided in the ZDoor ARChive
  566.               file.  These may be used as templates for building your
  567.               own batch file(s).
  568.      
  569.                 ZModem  - Batch file for use on single node system
  570.                 ZModem1 - Batch file for node 1 of a two node system
  571.                 ZModem2 - Batch file for node 2 of a two node system
  572.      
  573.               NOTE: If your DOORS.DAT is shared between nodes, you would
  574.               rename both ZMODEM1 and ZMODEM2 to ZMODEM, but place the
  575.               appropriate one in the "\PCB" subdirectory for each node.
  576.      
  577.  
  578.  
  579.                                         10
  580.  
  581.  
  582.  
  583.  
  584.            4. Doors.Dat File Entry
  585.      
  586.               The final step for installing ZDoor is to create an entry in
  587.               your board's DOORS.DAT file.  This file describes all
  588.               available doors to PCBoard and instructs PCBoard as to the
  589.               name of the batch file to be invoked when a particular door
  590.               is selected by the caller.  Consult your PCBoard
  591.               documentation for setup instructions for this file.
  592.      
  593.               A sample entry in DOORS.DAT might be:
  594.      
  595.                             ZMODEM,,43
  596.      
  597.               which means no password is required, and any caller with a
  598.               security level of 43 or higher may open Zdoor.
  599.      
  600.            5. "Mini-BBS" Conference Setup
  601.      
  602.               If you have any conferences that have been configured in
  603.               "mini-bbs" mode (via PCBSetup), the DOORS.DAT file for each
  604.               of them will need an entry for the ZDoor.  Since ZDoor
  605.               automatically supports all conference file security features
  606.               of PCBoard, the entry may point to the same batch file that
  607.               was specified in the DOORS.DAT file for the main board.
  608.      
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.                                         11
  638.  
  639.  
  640.  
  641.  
  642.        IV. Commands
  643.      
  644.            1. Sysop Commands
  645.      
  646.               When a remote caller has entered the door from PCBoard, both
  647.               the caller's keyboard and the sysop's keyboard may be used to
  648.               enter commands.  In this way, a sysop can help a new user by
  649.               actually showing him how to use the door.  This feature is
  650.               only enabled when the sysop's local display is enabled.
  651.      
  652.               a) Display Toggle
  653.      
  654.                  The local display can be enabled or disabled by the sysop.
  655.                  When disabled, nothing will be echoed to the screen by the
  656.                  door.  The F9 key on the sysop's keyboard toggles the
  657.                  display on/off.
  658.      
  659.                  On entry, the PCBOARD.SYS file is examined to determine if
  660.                  the display was active prior to the door being invoked.
  661.                  If so, the display is automatically enabled for the door.
  662.                  If the display was disabled in PCBoard, it will remain
  663.                  disabled when the door program is loaded.
  664.      
  665.                  The state of the display is maintained on return to
  666.                  PCBoard.  That is, if the display is on when ZDoor
  667.                  terminates, then it will be on when PCBoard reloads itself
  668.                  and visa-versa.
  669.      
  670.               b) Other Sysop Functions
  671.      
  672.                  Many functions are available to the sysop via the local
  673.                  console.  When the display is enabled, a "PCBoard-like"
  674.                  status line will be displayed.  Press the HOME key to
  675.                  change this status line to show the available sysop keys
  676.                  and the functions they provide.  The END key may also be
  677.                  used and will change the status line to display the
  678.                  caller's registration information.
  679.      
  680.                  One function that is not displayed on the local status line
  681.                  when the HOME key is pressed is the ability to dynamically
  682.                  alter the caller's time remaining.  The UP ARROW key, when
  683.                  pressed, will add 5 minutes to the time allowed for the
  684.                  current call.  Similarly, the DOWN ARROW key will reduce
  685.                  the caller's time allowed for the current call by 5
  686.                  minutes.
  687.      
  688.               c) Local Testing
  689.      
  690.                  The ZDoor may be run locally to test the configuration and
  691.                  setup.  Log onto the board locally, and invoke the ZDoor
  692.                  just as you would if you were calling from remote.  The
  693.                  only functions of the door that will not operate properly
  694.  
  695.                                         12
  696.  
  697.  
  698.  
  699.  
  700.                  are the U)pload and D)ownload options (although a
  701.                  simulated file transfer will take place, the door will
  702.                  normally consider the transfers to have failed).
  703.      
  704.                  Time remaining in Zdoor is always 99 minutes during local
  705.                  testing.
  706.      
  707.            2. Main Menu Commands
  708.      
  709.               ZDoor's menus are not shown to Expert callers.  On entry, the
  710.               caller's USERS file entry is examined to determine the state
  711.               of the Expert flag and the door's menus are shown/not shown
  712.               as appropriate.  The display of the program's menus may be
  713.               toggled on/off regardless of the caller's Expert mode status
  714.               via the X)pert command.  This has no effect on the caller's
  715.               Expert status in PCBoard.
  716.      
  717.               The ZDoor main menu appears as follows:
  718.      
  719.               ┌─────────────────┬─────────────────────┐
  720.               │ ZDoor Main Menu │ H)elp with commands │
  721.               ├─────────────────┴─────────────────────┴──────────────────────┐
  722.               │ U)pload a file       L)ocate a file       X)pert mode        │
  723.               │ D)ownload a file     N)ew file scan       G)oodbye(Hangup)   │
  724.               │ T)ransfer Protocol   Z)ippy file scan     Q)uit ZDoor        │
  725.               │ F)ile & ARC submenu  V)iew Statistics     O)perator Page     │
  726.               │ J)oin Conference     A)bandon Conference  M)ode (Graphics)   │
  727.               └──────────────────────────────────────────────────────────────┘
  728.      
  729.               Each option from this menu is described below:
  730.      
  731.      
  732.               U)pload a file
  733.               --------------
  734.      
  735.               This command allows the caller to send files to the PCBoard
  736.               system.
  737.      
  738.               The caller is prompted to enter the name of the file he/she
  739.               wishes to upload.  The name entered is checked for duplication
  740.               elsewhere on the board and for a matching UPSEC file entry.
  741.               If the file is not a duplicate and if there is no UPSEC
  742.               security applicable, then a prompt for a file description is
  743.               displayed.  The caller MUST enter a description of at least 10
  744.               characters before the description will be accepted.  Entering
  745.               no description at all aborts the upload and returns the caller
  746.               to the Main Menu.
  747.      
  748.               Note that callers having Sysop Privileges (ie. a security
  749.               level at or above 100) will be allowed to upload duplicate
  750.               files.  When this occurs, the caller is told that the file is
  751.               a duplicate and is asked if the existing file should be
  752.  
  753.                                         13
  754.  
  755.  
  756.  
  757.  
  758.               overwritten.  If the caller answers YES to this prompt, the
  759.               board's copy of the file is erased and the transfer will
  760.               proceed.  Should the answer be NO, that particular file will
  761.               not be accepted for upload and the board's copy of the file
  762.               will remain intact.
  763.      
  764.               If batch mode is enabled, more than one file may be sent at a
  765.               time (up to a maximum of 20) by entering several filenames
  766.               (each separated from the others by a space) in response to the
  767.               "filename(s) for upload" prompt.  The implementation of batch
  768.               uploads to PCBoard is not without it's quirks, however.
  769.               Please read the section of this document entitled "Some Notes
  770.               on Batch Uploads" for the details behind ZDoor's
  771.               implementation of this option.
  772.      
  773.               Once all filenames entered have been verified and descriptions
  774.               entered, a final prompt is issued.  This prompt allows the
  775.               caller to abort the transfer, change the currently selected
  776.               transfer protocol, logoff when the transfer is completed, or
  777.               continue with the transfer.  If A)bort is selected, the caller
  778.               is returned to the menu from which the transfer was requested.
  779.               If T)ransfer Protocol is selected, the caller may select a new
  780.               protocol for the transfer.  If the caller simply presses
  781.               ENTER, the transfer is begun immediately.  If the L)ogoff
  782.               after transfer option is selected, the transfer will proceed
  783.               as if the ENTER key had been pressed,  but 10 seconds after
  784.               the completion of the file transfer, he will be logged off the
  785.               system automatically.  During the 10 seconds following the
  786.               transfer, the caller may enter a ^K or ^X to abort the logoff.
  787.      
  788.               Following a successful transfer, the caller's USERS file entry
  789.               is updated by incrementing the "files uploaded" field and the
  790.               elapsed time of the transfer is added back into the caller's
  791.               daily time limit to insure that he/she will not be penalized
  792.               for time spent uploading files.  If an additional upload time
  793.               credit is specified on line 9 of the configuration file, it
  794.               too is added to the caller's daily time limit.
  795.      
  796.               File descriptions are placed in either the upload DIR or the
  797.               PRIVATE file depending on the Private Uploads setting in
  798.               PCBoard.Dat and on the first character of the file description
  799.               (ie. "/" as 1st char. makes the upload private).
  800.      
  801.               One additional prompt may be shown the user during the upload
  802.               process if he/she has joined a conference.  That prompt allows
  803.               the caller to specify the placement of the uploaded file(s) to
  804.               be either inside or outside the conference.  If the CNAMES
  805.               entry for that conference specifies that ALL uploads are to
  806.               remain inside the conference, then this prompt is not
  807.               displayed to the user and all of the uploads will be placed
  808.  
  809.  
  810.  
  811.                                         14
  812.  
  813.  
  814.  
  815.  
  816.               into conference directories.
  817.      
  818.               File transfers are disabled if the PCBoard.Sys file indicates
  819.               that the caller has connected using 7 data bits and even
  820.               parity.
  821.      
  822.               New in the 2.06 release of ZDoor is the ability to resume an
  823.               aborted upload.  Following an aborted upload, a check is made
  824.               to determine if more than 0 bytes have been transferred.  If
  825.               so, the caller will be given the opportunity to resume the
  826.               transfer where it left off.  Since only the ZModem protocol
  827.               allows for this function, the caller will be told to switch to
  828.               ZModem before beginning the resumed upload.
  829.      
  830.               If the caller had originally selected the L)ogoff after
  831.               transfer option, he will have 10 seconds to abort the logoff
  832.               at which time the opportunity to resume the aborted transfer
  833.               will be offered.  If the logoff is not aborted, the partial
  834.               upload will be erased.
  835.      
  836.               Note that when resuming an aborted upload, only 1 file may be
  837.               transferred (ie. you cannot "resume" a batch upload!).
  838.      
  839.      
  840.               D)ownload a file
  841.               ----------------
  842.      
  843.               This command allows the caller to download files from the
  844.               PCBoard system.
  845.      
  846.               If batch mode is enabled, more than one file may be downloaded
  847.               at a time by entering several filenames (each separated from
  848.               the others by a space) in response to the "filename(s) to
  849.               download" prompt.  Unlike batch uploads which places an
  850.               arbitrary limit of 20 on the number of files that can be
  851.               "batched", the download routine is limited only by the total
  852.               length of the command line that is generated for invoking the
  853.               DSZ program.  The absolute limit on the length of that command
  854.               line is 127 characters.  Out of that 127 characters comes the
  855.               drive/path/name of the DSZ program, whatever command line
  856.               parameters have been specified in line 7 of the configuration
  857.               file, and the drive/path/name of each file requested for
  858.               download.
  859.      
  860.               The filename(s) entered are checked for existence and for FSEC
  861.               file security constraints before the transfer is begun.
  862.      
  863.               In addition, an elapsed time for the transfer is calculated
  864.               (based on transfer efficiency of 95%) and is compared with the
  865.               caller's time remaining to be sure that the caller's daily
  866.               time limit will not be exceeded.
  867.      
  868.  
  869.                                         15
  870.  
  871.  
  872.  
  873.  
  874.               Finally, after all of the above is checked, the total size of
  875.               each file is checked against the caller's daily download byte
  876.               limit to insure that the download will not cause this limit to
  877.               be exceeded.
  878.      
  879.               Assuming all of the above checks out, the caller will be
  880.               issued the same "last chance" prompt described for the U)pload
  881.               command.
  882.      
  883.               Following a successful download, the caller's USERS file entry
  884.               is updated by incrementing his/her download count.  The total
  885.               size of all downloaded files is then summed and written to
  886.               USERS.
  887.      
  888.               File transfers are disabled if the PCBoard.Sys file indicates
  889.               that the caller has connected using 7 data bits and even
  890.               parity.
  891.      
  892.      
  893.               T)ransfer Protocol
  894.               ------------------
  895.      
  896.               This command allows the user to select a file transfer
  897.               protocol for use in subsequent uploads and/or downloads.
  898.      
  899.               The caller may select either ZModem or YModem, both of which
  900.               are batch protocols.  Additionally, if the caller has achieved
  901.               a Reliable Connection using an error correcting modem,
  902.               YModem-G will be offered as an alternative to ZModem and
  903.               YModem.
  904.      
  905.               When a caller first enters the door, ZModem is automatically
  906.               selected by default.
  907.      
  908.      
  909.               F)ile & ARC submenu
  910.               -------------------
  911.      
  912.               Entering this command causes a submenu to be displayed.  See
  913.               the description of the File & ARC submenu below.
  914.      
  915.      
  916.               L)ocate a file
  917.               --------------
  918.      
  919.               Selecting this option will prompt the user for a file
  920.               specification (wildcards are accepted here) to be located and
  921.               for the directories to be searched.  The syntax is exactly the
  922.               same as the syntax for the Locate command in PCBoard.
  923.      
  924.      
  925.  
  926.  
  927.                                         16
  928.  
  929.  
  930.  
  931.  
  932.               N)ew file scan
  933.               --------------
  934.      
  935.               This option works in exactly the same way as the PCBoard
  936.               option of the same name.  The user is prompted to enter the
  937.               date from which to search (or may accept the default date
  938.               shown), and to enter which directories are to be scanned.  The
  939.               shorthand notations N S U and N S A are also accepted.
  940.      
  941.      
  942.               Z)ippy file scan
  943.               ----------------
  944.      
  945.               This option provides the same function and follows the same
  946.               syntax as the Zippy search command of PCBoard.  The caller is
  947.               prompted for a string to be found and the directories to be
  948.               searched.  A case-insensitive search of the selected
  949.               directories is then performed.
  950.      
  951.      
  952.               V)iew Statistics
  953.               ----------------
  954.      
  955.               This option allows the caller to obtain a display of various
  956.               PCBoard statistics relating to his board activity.  Among the
  957.               statistics displayed are upload and download counts, security
  958.               level, last time on, last DIR scan date, and more.  In
  959.               addition to historical information, the caller is also shown
  960.               statistics accumulated during the current call including bytes
  961.               downloaded and bytes still available for download.
  962.      
  963.      
  964.               X)pert mode
  965.               -----------
  966.      
  967.               This option toggles the display of ZDoor menus on/off.  H and
  968.               ? are considered synonyms and will perform the same function.
  969.      
  970.      
  971.               G)oodbye (Hang up)
  972.               ------------------
  973.      
  974.               Choosing this option causes ZDoor to update all relevant USERS
  975.               file statistics for the caller, write logoff information to
  976.               the CALLER log,  display the Logoff Message file, and drop
  977.               carrier on the caller.
  978.      
  979.      
  980.               Q)uit ZDoor
  981.               -----------
  982.      
  983.               Selecting this option returns the caller to PCBoard.
  984.  
  985.                                         17
  986.  
  987.  
  988.  
  989.  
  990.      
  991.      
  992.               O)perator Page
  993.               --------------
  994.      
  995.               This option allows the caller to page the sysop.  The page
  996.               bell will be sounded at the local console only if it has been
  997.               enabled by the sysop.
  998.      
  999.               The sysop may respond to a page with either the spacebar or
  1000.               with the F10 key.  Chat mode can be terminated using the
  1001.               ESCape key.
  1002.      
  1003.      
  1004.               M)ode (graphics)
  1005.               ----------------
  1006.      
  1007.               This command toggles the caller into and out of color graphics
  1008.               mode.
  1009.      
  1010.               Graphics mode will be denied to callers showing a connection
  1011.               using 7 data bits and even parity.
  1012.      
  1013.      
  1014.               J)oin Conference
  1015.               ----------------
  1016.      
  1017.               After selecting J)oin, the user will be displayed a menu of
  1018.               conferences from which to choose and will be prompted for the
  1019.               number of the conference to join.  The caller must be
  1020.               registered in the conference selected or access to that
  1021.               conference will be denied.  Once Joined, all conference file
  1022.               directories become available to the caller.
  1023.      
  1024.      
  1025.               A)bandon Conference
  1026.               -------------------
  1027.      
  1028.               This command simply revokes access to any currently active
  1029.               conference file directories (ie. returns the caller to the
  1030.               "main board").
  1031.      
  1032.      
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.                                         18
  1044.  
  1045.  
  1046.  
  1047.  
  1048.            3. Files/ARChive Submenu Commands
  1049.      
  1050.               When the F)iles & ARC submenu command is issued from ZDoor's
  1051.               main menu, the following menu is displayed to the caller:
  1052.      
  1053.               ┌──────────────────────────────┬─────────────────────┐
  1054.               │ ZDoor File Dir & Arc Submenu │ H)elp with commands │
  1055.               ├──────────────────────────────┴─────────────────────┤
  1056.               │ D)ownload a file            <cr> Back to Main Menu │
  1057.               │ # = view DIRectory #        L)ist file directories │
  1058.               │              X)pert mode (menu toggle)             │
  1059.               │  ───────────────( ARC Functions )────────────────  │
  1060.               │ E)xtract files to Temp ARC  V)erbose ARC listing   │
  1061.               │ R)ead file in selected ARC  D)ownload selected ARC │
  1062.               │                 S)elect (new) ARC                  │
  1063.               └────────────────────────────────────────────────────┘
  1064.      
  1065.               Note that this menu is logically divided into 2 portions.
  1066.               The top portion deals with PCBoard DIRectories, while the
  1067.               bottom contains options specific to ARC file handling.
  1068.      
  1069.               To understand the actions behind each of these submenu
  1070.               options, it is important to understand the concept of a
  1071.               "selected" ARChive file.  An ARChive file is "selected" by
  1072.               entering a valid ARC filename in response to the prompt after
  1073.               issuing any of the commands S, V, E, or R.  Once selected,
  1074.               subsequent invocations of V, R, or D commands will operate
  1075.               ONLY on the selected ARChive file.  This selection remains in
  1076.               effect until the caller returns to the main menu or issues a
  1077.               S)elect new ARChive command.
  1078.      
  1079.      
  1080.               D)ownload a file
  1081.               ----------------
  1082.      
  1083.               The D)ownload command (when no ARC file is selected) functions
  1084.               exactly like the main menu D)ownload command with the
  1085.               exception that following the file transfer, the user is
  1086.               returned to the Files & ARC submenu rather than the main menu.
  1087.      
  1088.      
  1089.               L)ist file DIRectories
  1090.               ----------------------
  1091.      
  1092.               Selecting this option will display your board's main DIR file
  1093.               (ie. your directory of directories).
  1094.      
  1095.      
  1096.               <#> = view DIRectory #
  1097.               ----------------------
  1098.      
  1099.               Entering a valid directory number displays that directory.
  1100.  
  1101.                                         19
  1102.  
  1103.  
  1104.  
  1105.  
  1106.               Any number entered that is outside the range of available
  1107.               directories will result in an error message to the caller.
  1108.      
  1109.      
  1110.               S)elect (new) ARC
  1111.               -----------------
  1112.      
  1113.               This option allows "selection" of an ARC file for processing.
  1114.               The caller will be prompted to enter the name of an ARC file
  1115.               (if no extension is entered, .ARC is assumed).  If the .ARC
  1116.               file can be found, a verbose listing of it's contents is
  1117.               displayed to the caller.  Subsequent V, R, and D commands will
  1118.               apply ONLY to the selected ARC file until the caller either
  1119.               selects another ARC file for processing or returns to ZDoor's
  1120.               main menu.
  1121.      
  1122.      
  1123.               V)erbose ARC listing
  1124.               --------------------
  1125.      
  1126.               This option produces a standard verbose ARC contents display
  1127.               that is similar to PCBoard's F V display with the exception
  1128.               that ZDoor also shows CRC values for each file included in the
  1129.               archive.
  1130.      
  1131.               The caller will be prompted for the name of an ARC file if no
  1132.               ARC file is currently selected for processing when the command
  1133.               is issued.  The ARC file entered then becomes selected.
  1134.      
  1135.      
  1136.               R)ead file in selected ARC
  1137.               --------------------------
  1138.      
  1139.               This command allows the caller to display the contents of
  1140.               files contained in an ARChive.  The caller is prompted for a
  1141.               file specification (wildcards allowed) for files within the
  1142.               selected ARChive to be displayed.  The selected ARC is then
  1143.               searched for files that match the caller's specification.
  1144.               When a match is found, that file's contents are displayed.
  1145.      
  1146.               The caller will be prompted for the name of an ARC file if no
  1147.               ARC file is currently selected for processing when the command
  1148.               is issued.  The ARC file entered then becomes selected.
  1149.      
  1150.      
  1151.               E)xtract files to Temp ARC
  1152.               --------------------------
  1153.      
  1154.               This command allows the caller to extract selected files from
  1155.               one ARC file and place those extracted files into a Temporary
  1156.               ARC file for downloading.  The caller may enter up to 5 file
  1157.               specifications (wildcards are allowed) to specify which files
  1158.  
  1159.                                         20
  1160.  
  1161.  
  1162.  
  1163.  
  1164.               will be extracted.
  1165.      
  1166.               The name of the Temporary ARC file created by this command is
  1167.               specified in the ZDoor configuration file on line 17.
  1168.      
  1169.               Line 18 of the ZDoor configuration file specifies a minimum
  1170.               security level for this command.  If the caller's security is
  1171.               less than this value, this function will be disallowed for
  1172.               that caller.
  1173.      
  1174.      
  1175.               D)ownload selected ARC
  1176.               ----------------------
  1177.      
  1178.               Issuing the D)ownload command after an ARC file has been
  1179.               selected for processing causes the selected file to be
  1180.               downloaded without further prompting.
  1181.      
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.                                         21
  1218.  
  1219.  
  1220.  
  1221.  
  1222.         V. Some Notes on Batch Uploads
  1223.      
  1224.            The implementation of Batch uploads using DSZ poses a few fairly
  1225.            sticky problems.  There are basically three methods one can use
  1226.            to implement Batch uploads:
  1227.      
  1228.            1.  Have the caller specify each file to be sent and have the
  1229.            door place the names of the files entered on the DSZ command
  1230.            line.
  1231.      
  1232.            2.  Do not require the caller to specify which files will be
  1233.            uploaded.  Use the -p option of DSZ to prevent overwriting
  1234.            existing files in the target directory.
  1235.      
  1236.            3.  Have the caller specify each file to be sent, but don't put
  1237.            the names on the DSZ command line...instead, use the -p option of
  1238.            DSZ to prevent overwriting existing files in the target
  1239.            directory.
  1240.      
  1241.            Method 1 sounds extremely reasonable and was the first method
  1242.            attempted during the development of ZDoor.  A problem arises,
  1243.            however when the caller says "I'm uploading File1.Arc, File2.Arc,
  1244.            and File3.Arc", but then proceeds to upload the files in reverse
  1245.            order (ie. caller sends File3.Arc, then sends File2.Arc, and
  1246.            finally sends File1.Arc).  In this situation, File1.Arc and
  1247.            File3.Arc will be misnamed on the target system.
  1248.      
  1249.            Method 2 poses the problem of files uploaded duplicating files
  1250.            elsewhere on the system.  It also requires that file descriptions
  1251.            be entered AFTER the transfer has completed.
  1252.      
  1253.            Method 3 offers a compromise and is the method used by ZDoor.
  1254.            The caller is prompted for the names of the files to be sent.
  1255.            These names are checked for duplication elsewhere on the board
  1256.            and either accepted or rejected. Descriptions for each filename
  1257.            entered are collected BEFORE the transfer begins.  DSZ is then
  1258.            called without placing these filenames on the command line, but
  1259.            using the -p option to prevent any files already in the upload
  1260.            directory from being overwritten.  After the transfer has
  1261.            completed, DSZ's log file is examined to determine which files
  1262.            "made it" to the target system.  Those that did "make it", are
  1263.            posted in the upload dir.
  1264.      
  1265.            Even Method 3 poses a problem.  That is, since no filenames are
  1266.            placed on the DSZ command line, the caller will not be restricted
  1267.            to sending just the files that were specified, checked, and
  1268.            described!  Should this happen, ZDoor renames the unchecked
  1269.            upload to a filename of the form ZDRnnnnn.EXT where nnnnn is some
  1270.            number (eg. 00001, 00002, etc) and where EXT is the original
  1271.            extension of the file that was uploaded.  The renamed file is
  1272.            then posted in the sysop's PRIVATE directory with a description
  1273.            that shows what the original filename was AND who uploaded it.
  1274.  
  1275.                                         22
  1276.  
  1277.  
  1278.  
  1279.  
  1280.      
  1281.        VI. Acknowledgements
  1282.      
  1283.            At this point in the documentation, I would normally list the names of
  1284.            all of the people who helped in one way or another with the
  1285.            development of the program.  Unfortunately, a list such as that
  1286.            would probably go on for several pages.  Suffice it to say that I
  1287.            have received assistance, advice, and support from many many people.
  1288.            I would like to thank all those involved in the development and
  1289.            testing of ZDoor and all who have contributed ideas, suggestions,
  1290.            and even money to help make ZDoor the premier ZModem file transfer
  1291.            door available for PCBoard.  Without the assistance of all of these
  1292.            dedicated people, I
  1293.            would have given up long ago.
  1294.      
  1295.            Special thanks to Robert Blacher and Richard Driggers for their
  1296.            assistance in converting the original ZDoor into a door compatible
  1297.            with PCBoard 12.0 and to Paul Kopit without whom the original ZDoor
  1298.            would never have been created.
  1299.      
  1300.            Special credit must go to Bob Blacher for his thoughts on how to
  1301.            implement the resumption of aborted uploads.  Thanks Bob!
  1302.      
  1303.            Thanks also to Phil Burns for publishing a wonderfully useful set of
  1304.            communications routines and to Chuck Forsberg (of course) for
  1305.            creating and releasing the DSZ program.
  1306.      
  1307.            Sysops please note:
  1308.      
  1309.            For those of you that install this door along with Chuck
  1310.            Forsberg's DSZ program, I urge you to comply with Chuck's
  1311.            request that you make his programs available to your callers for
  1312.            downloading.  It ain't much to ask, and the addition of Zmodem
  1313.            Batch to your board's available file transfer protocols is well
  1314.            worth the disk space required.
  1315.      
  1316.            I would also ask that you urge your callers to support the
  1317.            continued development of DSZ by registering their copy with Omen
  1318.            Technologies.  At $20.00, it's one of the best PC Software
  1319.            bargains around.
  1320.      
  1321.            See DSZ's documentation for information on use and registration
  1322.            of DSZ by Sysops of "qualified" bulletin boards.
  1323.      
  1324.      
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.                                         23
  1334.  
  1335.  
  1336.  
  1337.  
  1338.       VII. Feedback
  1339.      
  1340.            Please report any problems or difficulties in the use of
  1341.            this program to me.  I will attempt to resolve any and all
  1342.            trouble reports.  I can be reached on any of the fine
  1343.            bulletin boards listed below:
  1344.      
  1345.            Software Society             Sparta PCBoard
  1346.            Sysop: Paul Kopit            Sysop: Richard Driggers
  1347.            (201) 729-7410               (201) 729-5377
  1348.      
  1349.            Computer Connections         PC-Rockland
  1350.            Sysop: Robert Blacher        Sysop: Charlie Innusa
  1351.            (202) 547-2008               (914) 353-2176
  1352.      
  1353.            Northern Lights              Tamiami
  1354.            Sysop: Jack Kilday           Sysop: Gerhard Barth
  1355.            (207) 766-2467               (813) 793-2392
  1356.      
  1357.            Chuck's Attempt
  1358.            Sysop: Chuck Ammann
  1359.            (201) 729-2602
  1360.      
  1361.      
  1362.      
  1363.      
  1364.      
  1365.                                                              rpb
  1366.      
  1367.      
  1368.      
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.                                         24
  1392.  
  1393.