home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / THP111.ZIP / TINYHOST.DOC < prev    next >
Text File  |  1993-08-10  |  98KB  |  2,375 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                                     TINYHOST
  13.  
  14.                                      V 3.31
  15.                                  10 August 1993
  16.  
  17.  
  18.                    Copyright (C) 1991-93 by Bruce A. Krobusek
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                    A small, personal, Host / BBS program for
  32.  
  33.                             IBM PC's and compatibles
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                          Created by : Bruce A. Krobusek
  40.  
  41.                                       5950 King Hill Drive
  42.                                       Farmington, NY  14425
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.                        TinyHost BBS : 716-924-4193
  51.                          CompuServe : 74106,1335
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.        
  59.        
  60.        
  61.        
  62.        
  63.        
  64.        
  65.        
  66.        
  67.        
  68.        
  69.        
  70.        1.0   INTRODUCTION                                              1
  71.          1.1   What is TinyHost?                                       1
  72.          1.2   Why TinyHost?                                           2
  73.          1.3   What is a SysOp?                                        2
  74.          1.4   Quick Start                                             3
  75.  
  76.        2.0   INSTALLATION and SETUP                                    3
  77.          2.1   Host System Requirements                                3
  78.          2.2   Connecting System Requirements                          3
  79.          2.3   Installation of TinyHost                                4
  80.          2.4   Running TinyHost                                        4
  81.          2.5   Modem Requirements                                      4
  82.          2.6   Modifying the TINYHOST.CFG File                         5
  83.            2.6.1   Descriptor Summary                                  6
  84.            2.6.2   Communications Specific Descriptors                 6
  85.                      BAUD - Beginning baud (bps) rate                  6
  86.                      CARRIER - Monitor Carrier Detect select           7
  87.                      HANGUP - Modem hangup string                      7
  88.                      INIT - Modem initialization string                7
  89.                      IRQ - COM port IRQ select                         8
  90.                      ISDN - ISDN support select                        8
  91.                      PORT - COM port to be used                        8
  92.                      RESET - Modem reset string                        8
  93.                      RINGBACK - Ringback mode select                   8
  94.            2.6.3   Security Level Descriptors                          8
  95.                      ACCESS - Directory access security level          8
  96.                      BOOT - Warm boot security level                   9
  97.                      CHDIR - Change directory security level           9
  98.                      DOWNLOAD - Download security level                9
  99.                      OVERWRITE - File overwrite security level         9
  100.                      PRIVATE - Private message security level          9
  101.                      PUBLIC - Public message security level            9
  102.                      SHELL - DOS Shell security level                  9
  103.                      SYSOP - SysOp security level                     10
  104.                      TYPE - Type (display file) security level        10
  105.                      UPLOAD - Upload security level                   10
  106.                      UPLOAD_DIR - Default Upload directory            10
  107.                      USER - User account information                  10
  108.                      VIEW - View User List security level             11
  109.            2.6.4   General Descriptors                                11
  110.                      CHAT - Chat mode default                         11
  111.                      DBUG - Debug information enable                  11
  112.                      EVENT - Event time                               11
  113.                      EXTERNAL - External protocol definition          11
  114.                      LOG - Log file enable                            11
  115.                      SCRNSAVER - Screen saver timeout                 11
  116.                      SOUND - Local sounds On/Off                      12
  117.                      START - TinyHost start-up directory              12
  118.          2.7   Setting up Access Levels                               12
  119.          2.8   Setting up a Default Upload Directory                  14
  120.          2.9   Custom Display Files - Welcome, Bulletin, and Logoff   14
  121.  
  122.        3.0   OPERATION                                                15
  123.          3.1   Ringback Operation                                     15
  124.          3.2   TinyHost Operation                                     15
  125.          3.3   File Oriented Commands                                 17
  126.            3.3.1   File Transfers                                     17
  127.        
  128.        
  129.        
  130.        
  131.        
  132.        
  133.        
  134.        
  135.        
  136.            3.3.2   Changing Directories                               17
  137.            3.3.3   List Directory                                     18
  138.            3.3.4   Typing out a File                                  18
  139.          3.4   Message Commands                                       18
  140.            3.4.1   Reading Messages                                   18
  141.            3.4.2   Entering a Message                                 19
  142.            3.4.3   Editing a Message                                  19
  143.            3.4.4   Killing (Deleting) Messages                        20
  144.            3.4.5   Viewing User List                                  20
  145.          3.5   Miscellaneous Commands                                 20
  146.            3.5.1   Expert Mode                                        20
  147.            3.5.2   Operator Page                                      21
  148.            3.5.3   Shelling-to-DOS                                    21
  149.            3.5.2   Executing a Warm Boot                              21
  150.          3.6   Command Chaining                                       21
  151.          3.7   User Inactivity and Disconnects                        22
  152.          3.8   Quitting a TinyHost Session                            22
  153.  
  154.        4.0   ADVANCED TOPICS                                          22
  155.          4.1   General Notes                                          22
  156.          4.2   ISDN Support                                           22
  157.          4.3   External Protocols                                     23
  158.          4.4   Shelling-to-DOS                                        24
  159.          4.5   High-Speed Modems                                      25
  160.  
  161.        5.0   TROUBLESHOOTING TIPS                                     25
  162.          5.1   General Comments                                       25
  163.          5.2   System Hang (Lockup)                                   26
  164.          5.3   Error in User Account                                  26
  165.          5.4   Modem Fails Reset                                      26
  166.          5.5   Modem Fails Initialization                             26
  167.          5.6   Phone Call Not Answered                                27
  168.          5.7   Garbage After Connect                                  27
  169.          5.8   Immediate Connect and Logoff                           27
  170.          5.9   Garbage During Logon                                   27
  171.          5.10  Added Message Not Displayed                            28
  172.          5.11  THREMOTE.BAT Not Found                                 28
  173.          5.12  TinyHost Doesn't Hangup                                28
  174.        
  175.        6.0   MISCELLANEOUS INFORMATION                                28
  176.          6.1   What is Shareware?                                     28
  177.          6.2   Distributing TinyHost                                  29
  178.          6.3   License Information                                    29
  179.          6.4   Warranty Information                                   29
  180.          6.5   Program Support                                        30
  181.          6.6   New User Logons                                        31
  182.          6.7   Message File Format                                    31
  183.          6.8   Logging User Activity                                  32
  184.          6.9   SysOp Specific Notes                                   32
  185.          6.10  Using TinyHost with DesqView                           32
  186.          6.11  Known Program Limits                                   32
  187.          6.12  TinyHost Plus                                          33
  188.  
  189.  
  190.        
  191.        Brand and product names used throughout this document are
  192.        trademarks or registered trademarks of their respective holders.
  193.  
  194.  
  195.  
  196.  
  197.        
  198.        
  199.        
  200.        
  201.        
  202.        1.0   INTRODUCTION
  203.  
  204.        1.1   What is TinyHost?
  205.  
  206.            TinyHost is a small, personal, Host / BBS program I have
  207.        developed for IBM PC's and compatibles. It permits the transfer
  208.        of files (using modems) between two computers without the
  209.        requirements or overhead of other programs, particularly the
  210.        full-fledged BBS programs.
  211.  
  212.            TinyHost has the following features:
  213.  
  214.            *  Operation can be via COM1, COM2, COM3, or COM4 using a
  215.               Hayes compatible modem, and at rates of 300 to 115.2K bps.
  216.  
  217.            *  Selectable IRQs for non-standard COM port interrupts.
  218.               Supports IRQs 2, 3, 4, 5, and 7.
  219.  
  220.            *  Supports XModem, XModem/CRC, and 1K-XModem (sometimes
  221.               called YModem) as internal file transfer protocols.
  222.  
  223.            *  Up to 6 external file transfer protocols can be
  224.               implemented.
  225.  
  226.            *  Supports up to 100 users (registered version) with 11
  227.               security levels. The Shareware version supports up to 10
  228.               users.
  229.  
  230.            *  Supports Ringback mode, which permits easy use of a voice
  231.               phone line for data communications.
  232.  
  233.            *  A text file that resides on the host system can be viewed
  234.               without downloading.
  235.  
  236.            *  Supports Personal and Public mail, and SysOp Comments.
  237.               Entry of Personal and Public mail can be set to a minimum
  238.               security level.
  239.  
  240.            *  The actions of a remote user are echoed to the local
  241.               screen.
  242.  
  243.            *  Unauthorized users are not able to logon to TinyHost.
  244.  
  245.            *  Using the security level feature, access can be restricted
  246.               to one directory or the entire system can be available.
  247.  
  248.            *  An Operator Chat function exists to permit the local
  249.               operator to chat on-line with the remote user.
  250.  
  251.            *  Shelling-to-DOS while connected remotely can be permitted.
  252.  
  253.            *  Support has been added for ISDN phone systems.
  254.  
  255.            *  Uploads and/or downloads can be restricted to a minimum
  256.               security level.
  257.  
  258.            *  Depending upon a user's security setting, all uploads can
  259.               be directed to a default Upload directory.
  260.  
  261.                                      Page 1
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.            *  User activity can be logged to a file.
  269.  
  270.            *  TinyHost performs a self-check on execution to ensure
  271.               that it has not been tampered with by, for instance, a
  272.               virus.
  273.  
  274.            *  TinyHost is just that - tiny! The executable file is less
  275.               than 100K, and the program only requires approximately
  276.               150K of system RAM to run in.
  277.  
  278.            Your version of TinyHost should include the following files:
  279.  
  280.                 THOSTxxx.EXE - TinyHost's executable. The xxx
  281.                                refer to the version number of
  282.                                the program
  283.                 TINYHOST.DOC - The TinyHost manual in printer
  284.                                ready form (PRINT TINYHOST.DOC)
  285.                 TINYHOST.WEL - A sample welcome file
  286.                 TINYHOST.CFG - A sample configuration file
  287.                 THREMOTE.BAT - Sample batch file for Shell-to-DOS
  288.                 ZMXMIT.BAT   - Batch file for DSZ ZModem downloads
  289.                 ZMRCV.BAT    - Batch file for DSZ ZModem uploads
  290.                 REGISTER.FRM - Ready-to-print registration
  291.                                form (PRINT REGISTER.FRM)
  292.                 HISTORY.TXT  - A file describing the release
  293.                                history of TinyHost
  294.                 READ.ME      - A short text file describing
  295.                                TinyHost
  296.                 IN-NODE.LST  - A text file with a list of all
  297.                                current Intelec nodes (BBSes)
  298.  
  299.  
  300.        1.2   Why TinyHost?
  301.  
  302.            Why did I create TinyHost? I needed a method to transfer
  303.        files with friends without hassle. I also found that, since I use
  304.        computers at work and at home, I was constantly leaving needed
  305.        files at one location or another, which resulted in duplicated
  306.        (or lost) effort.
  307.  
  308.            TinyHost is also ideal for the company that needs to keep in
  309.        touch with remote employees, such as a sales force. With the file
  310.        transfer and message capability, it is easy to provide a single
  311.        transfer point for up-to-date information.
  312.  
  313.            TinyHost was written using Borland's C++, and consumes
  314.        approximately 150K bytes of memory space when running. The small
  315.        memory requirements, along with the small .EXE and other
  316.        associated files, permits even floppy-disk based systems to be
  317.        used for TinyHost operation.
  318.  
  319.  
  320.        1.3   What is a SysOp?
  321.  
  322.            When the term SysOp is used in this manual it refers to the
  323.        person who installs TinyHost on his computer (you), decides who
  324.        can logon to his system, and what directories they are able to
  325.        access.
  326.  
  327.                                      Page 2
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.        1.4   Quick Start
  335.  
  336.            It is recommended that the manual be read before trying to
  337.        use TinyHost. However, it is always tempting to fire up a new
  338.        program to see how it works. To print out the manual and
  339.        registration form, simply enter PRINT TINYHOST.DOC and PRINT
  340.        REGISTER.FRM at your DOS command prompt.
  341.  
  342.            Here is a summary of what must be changed (at a minimum) to
  343.        get TinyHost to work.
  344.  
  345.            First, the following comments assume that the target system
  346.        has a hard disk (Drive C), and that TinyHost will have its own
  347.        directory. Create a directory called TINYHOST in the root (main)
  348.        directory of the hard disk (C:\TINYHOST). Then create a sub-
  349.        directory called BIN within the TINYHOST directory
  350.        (C:\TINYHOST\BIN). Copy the THOSTxxx.EXE, TINYHOST.CFG, and
  351.        TINYHOST.WEL files to the C:\TINYHOST\BIN subdirectory. Then move
  352.        to this directory.
  353.  
  354.            Using an ASCII editor (even EDLIN will do), edit the
  355.        TINYHOST.CFG file as follows: set the PORT descriptor to the
  356.        serial port that the modem is connected to (1, 2, 3, or 4). Set
  357.        the BAUD descriptor to the initial data rate of the modem,
  358.        usually the fastest speed of the modem (valid values are 300,
  359.        1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, and 115200).
  360.        Finally, edit one of the default USER accounts (or create a new
  361.        one) and create an account with your name, a password, and your
  362.        security level (8 or 9 is adequate). Exit your editor and save
  363.        all of these changes.
  364.  
  365.            To run TinyHost, simply enter THOSTxxx.EXE at the DOS prompt
  366.        and, after a few seconds of setup, TinyHost should respond with
  367.        its standby screen while it waits for a call.
  368.  
  369.  
  370.  
  371.        2.0   INSTALLATION and SETUP
  372.  
  373.        2.1   Host System Requirements
  374.  
  375.            TinyHost does not need an elaborate system in order to be
  376.        used. A minimal system would consist of a single floppy drive,
  377.        256K RAM, any type of display, a serial port, a Hayes compatible
  378.        modem, and MS-DOS 3.1 or later. TinyHost supports COM1-4 using,
  379.        by default, the normal hardware interrupts for each port (IRQ4
  380.        for COM1 and COM3; IRQ3 for COM2 and COM4). Other IRQs are also
  381.        supported, with a choice between 2, 3, 4, 5, or 7. ANSI.SYS must
  382.        also be loaded or local information may not be displayed
  383.        properly.
  384.  
  385.  
  386.        2.2   Connecting System Requirements
  387.  
  388.            Any type of system and communications package should work
  389.        with TinyHost. Communications requirements are 8 bits, no parity,
  390.        and 1 stop bit.
  391.  
  392.  
  393.                                      Page 3
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.        2.3   Installation of TinyHost
  401.  
  402.            It is recommended that TinyHost be installed in its own sub-
  403.        directory. The directory that holds THOSTxxx.EXE is called the
  404.        "execution directory", and it is here that the .CFG and other
  405.        TinyHost specific files should be kept. Only two files are needed
  406.        for operation - THOST.EXE and TINYHOST.CFG. Specific information
  407.        as to the expected config file format follows in section 2.6.
  408.        Please remember that user accounts MUST be created prior to using
  409.        TinyHost - the program does not permit new user logon!
  410.  
  411.            For security reasons, it is STRONGLY suggested that the
  412.        TinyHost execution directory be different from the start-up
  413.        directory!
  414.  
  415.  
  416.        2.4   Running TinyHost
  417.  
  418.            To start TinyHost, move to the execution directory and type
  419.        "THOSTxxx", where the 'xxx' refers to the version number of
  420.        TinyHost.
  421.  
  422.  
  423.        2.5   Modem Requirements
  424.  
  425.            TinyHost expects a modem that supports the Hayes compatible
  426.        command set and ASCII return codes. Because of the many different
  427.        modem configurations (switch settings) there would be no point in
  428.        attempting to provide a definitive setup for each. However, I can
  429.        describe what TinyHost expects - refer to the manual for your
  430.        modem to see how to make it fit these needs.
  431.  
  432.            Most modems support two types of result codes - numeric
  433.        values (non-verbose) and ASCII strings (verbose). TinyHost
  434.        expects to receive verbose result codes of the following types:
  435.  
  436.                 OK - Informs the host that the modem has executed the
  437.                 command string successfully.
  438.  
  439.                 RING - Informs the host that an incoming call has been
  440.                 detected.
  441.  
  442.                 CONNECT - Denotes that the modem has made a 300 bps
  443.                 connection.
  444.  
  445.                 CONNECT 1200 - A 1200 bps connection.
  446.  
  447.                 CONNECT 2400 - A 2400 bps connection.
  448.  
  449.                 CONNECT 4800 - A 4800 bps connection.
  450.  
  451.               * CONNECT 7200 - A 7200 bps connection.
  452.  
  453.                 CONNECT 9600 - A 9600 bps connection.
  454.  
  455.               * CONNECT 14400 - A 14.4K bps connection.
  456.  
  457.                 CONNECT 19200 - A 19.2K bps connection.
  458.  
  459.                                      Page 4
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                 CONNECT 38400 - A 38.4K bps connection
  467.  
  468.                 CONNECT 57600 - A 57.6K bps connection
  469.  
  470.                 CONNECT 115200 - A 115.2K bps connection
  471.  
  472.            * Please refer to Section 4.5 on High Speed modems for
  473.              further information on supporting this CONNECT response.
  474.  
  475.            Most modems support a switch setting that controls the state
  476.        of the RS-232 Data Terminal Ready (DTR) handshake line. The
  477.        switch setting can either force DTR TRUE at all times at the
  478.        modem, or it can be set to permit the host computer to control
  479.        DTR. If DTR is supported with the selected host computer and
  480.        modem, then a modem hangup string will be unnecessary as TinyHost
  481.        will toggle DTR when it wishes to drop carrier. However, if DTR
  482.        is unavailable, then the modem hangup string must be defined (see
  483.        HANGUP below) or TinyHost will be unable to terminate a call and
  484.        will never drop carrier.
  485.  
  486.  
  487.        2.6   Modifying the TINYHOST.CFG File
  488.  
  489.            When TinyHost is run it looks for TINYHOST.CFG in its
  490.        execution directory. If it doesn't find it the program aborts. If
  491.        the file is located, TinyHost reads in the information that it
  492.        needs to run. The config file can be created or modified using a
  493.        simple ASCII editor. If the editor used places an EOF character
  494.        ($1A) at the end of the file, make sure that at least one blank
  495.        or commented line is at the end of the file.
  496.  
  497.            Each line in the config file can be up to 80 characters in
  498.        length. At any point in the line a comment can be added by
  499.        placing a pound sign (#) in the line - everything following it
  500.        will be ignored.
  501.  
  502.            TinyHost requires specific information to run. To this end I
  503.        have implemented what I call 'descriptors' which denote what type
  504.        of information is specified on the line. The descriptor must
  505.        begin in the first column of the line. The descriptor can be in
  506.        either upper or lower case, it must be followed by a colon (:),
  507.        and the descriptor must be spelled properly. If a required
  508.        descriptor does not exist TinyHost will abort and display an
  509.        error message. Descriptors can be defined in any order.
  510.  
  511.            The descriptors fall into three categories: communications,
  512.        security, and general. The following table summarizes each
  513.        descriptor, with more detailed information in the following
  514.        sections.
  515.  
  516.            Embedded spaces must be eliminated from any descriptor
  517.        command line - especially from the USER account fields. For
  518.        instance, a USER descriptor account such as:
  519.  
  520.                         USER:Joe,De User,Password,8
  521.  
  522.        is invalid because of the embedded space in the user's last name.
  523.  
  524.  
  525.                                      Page 5
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.        The valid way to set up this account would be:
  533.  
  534.                         USER:Joe,DeUser,Password,8
  535.  
  536.  
  537.        2.6.1   Descriptor Summary
  538.  
  539.                *BAUD       - Beginning baud (bps) rate
  540.                 CARRIER    - Monitor Carrier Detect select
  541.                 HANGUP     - Modem hangup string
  542.                *INIT       - Modem initialization string
  543.                 IRQ        - COM port IRQ setting
  544.                +ISDN       - ISDN support select
  545.                *PORT       - COM port to be used
  546.                 RESET      - Modem reset string
  547.                 RINGBACK   - Ringback mode select
  548.  
  549.                 ACCESS     - Directory access security level
  550.                 BOOT       - Warm boot security level
  551.                 CHDIR      - Change directory security level
  552.                 DOWNLOAD   - Download security level
  553.                 OVERWRITE  - File overwrite security level
  554.                 PRIVATE    - Private message security level
  555.                 PUBLIC     - Public message security level
  556.                +SHELL      - DOS Shell security level
  557.                 SYSOP      - SysOp security level
  558.                 TYPE       - Type (display file) security level
  559.                 UPLOAD     - Upload security level
  560.                 UPLOAD_DIR - Default upload directory
  561.                *USER       - User account information
  562.                 VIEW       - View User List security level
  563.  
  564.                 CHAT       - Chat mode default
  565.                 DBUG       - Debug information enable
  566.                 EVENT      - Event time
  567.                +EXTERNAL   - External Protocol definition
  568.                 LOG        - Log file enable
  569.                #SCRNSAVER  - Screen saver timeout
  570.                #SOUND      - Local sounds On/Off
  571.                *START      - TinyHost start-up directory
  572.  
  573.  
  574.                         * Required Descriptor
  575.                         + Explained in Advanced Topics section
  576.                         # Available in Registered versions only
  577.  
  578.  
  579.        2.6.2   Communications Specific Descriptors
  580.  
  581.            The following are the descriptors used in setting up TinyHost
  582.        communications. Sample uses are given for each command.
  583.  
  584.  
  585.            BAUD - This specifies the baud (bps) rate that the TinyHost
  586.        serial port is to operate at. Legal values are 300, 1200, 2400,
  587.        4800, 9600, 14400, 19200, 38400, 57600, and 115200. BAUD is
  588.        required. In addition, the COM port baud rate may be locked at
  589.  
  590.  
  591.                                      Page 6
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.        the specified value by adding ",LOCK" after the baud rate:
  599.  
  600.                         BAUD:19200,LOCK
  601.  
  602.        This has been added for use with error-correcting modems. When
  603.        using this mode the proper command(s) must be added to the modem
  604.        init string to lock the modem's serial port communications rate
  605.        as well.
  606.  
  607.        For further information on the use of high-speed modems refer to
  608.        Section 4.5.
  609.  
  610.  
  611.            CARRIER - Specifies whether or not the modem's Carrier Detect
  612.        (CD) handshake should be monitored. A 'Y' or 'N' is expected.
  613.        Monitoring the CD line permits TinyHost to see if a caller has
  614.        been disconnected unexpectedly. CARRIER is optional.
  615.  
  616.        CARRIER:Y       # Monitor CD for disconnect
  617.  
  618.  
  619.            HANGUP - Specifies the command string necessary to tell the
  620.        modem to hang up the phone (go on hook). Refer to the section on
  621.        modem requirements (2.5) to see if this string is necessary.
  622.        HANGUP is Optional.
  623.  
  624.        HANGUP:ATH0     # Sample hangup (on hook) command
  625.  
  626.  
  627.            INIT - This is the initialization string used to configure
  628.        the modem. INIT is required. The string included with TinyHost
  629.        includes some modem commands that are necessary for proper
  630.        operation:
  631.  
  632.        INIT:ATE0M0Q0V1X2S0=0S2=43       # Sample init string
  633.  
  634.                 E0 - Controls echo from the modem. Must be
  635.                      set to 0, which is for no echo. Required.
  636.                 M0 - Controls the modem speaker. A value of
  637.                      0 turns the speaker off. Optional.
  638.                 Q0 - Determines the kind of result codes sent
  639.                      by the modem. Must be set for 0 (result
  640.                      codes sent). Required.
  641.                 V1 - Determines the type of result codes sent.
  642.                      Must be set to 1 which specifies English
  643.                      (ASCII) codes are sent. Required.
  644.                 X2 - Selects extended modem result codes. Must
  645.                      set to 2 or greater. Required.
  646.                 S0 - Determines the number of rings on which
  647.                      the modem will answer the phone. Must be
  648.                      set to 0. Required.
  649.                 S2 - Sets the value of the escape code for the
  650.                      modem. Must be set to 43 ("+"). Required.
  651.  
  652.        Note that, unlike some other communications programs, a  ^M
  653.        combination should not be added to the end of the string.
  654.  
  655.  
  656.  
  657.                                      Page 7
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.            IRQ - Permits setting a non-standard IRQ for the COM port.
  665.        Valid IRQs are 2, 3, 4, 5, and 7. If IRQ is not present then the
  666.        standard interrupt for the specified COM port is assumed.
  667.  
  668.        IRQ:5            # Denotes IRQ5 is interrupt for the COM port
  669.  
  670.  
  671.            ISDN - Specifies whether or not ISDN support should be used.
  672.        A 'Y' or 'N' setting is expected. Refer to section 4.2 for
  673.        further information regarding ISDN support.
  674.  
  675.        ISDN:Y           # Enable ISDN support
  676.  
  677.  
  678.            PORT - This specifies the COM port that is to be used. Valid
  679.        values are 1, 2, 3, or 4. PORT is required.
  680.  
  681.        PORT:1           # Use COM port 1
  682.  
  683.  
  684.            RESET - Specifies the command string necessary to reset the
  685.        modem. If RESET is specified then the modem must default to
  686.        verbose text responses for proper TinyHost operation. RESET is
  687.        optional.
  688.  
  689.        RESET:ATZ        # Modem reset string
  690.  
  691.  
  692.            RINGBACK - Specifies whether or not TinyHost will operate in
  693.        ringback mode. RINGBACK is not required - TinyHost will default
  694.        to Ringback Enabled Mode.
  695.  
  696.        RINGBACK:Y       # Enable Ringback mode
  697.  
  698.  
  699.        2.6.3   Security Level Descriptors
  700.  
  701.            ACCESS - Can be used to specify a security level needed to
  702.        access a directory. Up to 25 Access restrictions can be defined.
  703.        If no access restrictions are specified then anyone with CHDIR
  704.        permission can move to any system drive or directory. This could
  705.        be troublesome when floppy drives are specified and they contain
  706.        no diskettes. ACCESS expects a valid directory path (up to the
  707.        DOS limit of 63 characters), followed by a comma, followed by a
  708.        numeric value between 0 and 10 indicating a security level. A
  709.        typical ACCESS descriptor would be:
  710.  
  711.        ACCESS:C:\TINYHOST\BIN,9
  712.  
  713.        which would limit access to the C:\TINYHOST\BIN directory to
  714.        users with a security level of 9 or greater.
  715.  
  716.        A default access value can also be specified as follows:
  717.  
  718.        ACCESS:DEFAULT,9
  719.  
  720.        This means that any unspecified directories can only be accessed
  721.        by users with a security level of 9 or greater. This will make
  722.  
  723.                                      Page 8
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.        securing a typical computer system much easier. Access settings
  731.        are reloaded with the Warm Boot command. See section 2.7 for
  732.        further information.
  733.  
  734.  
  735.            BOOT - Specifies the security level needed to perform a warm
  736.        boot of the host system. This command can be used with Overwrite
  737.        to update TinyHost's config file from a remote location. If Boot
  738.        security is not specified then no user will have Boot permission.
  739.        BOOT expects a numeric value between 0 and 10.
  740.  
  741.        BOOT:9           # Security level to execute a Warm Boot
  742.  
  743.  
  744.            CHDIR - Specifies the minimum security level necessary to be
  745.        able to move between directories of the system. If not specified
  746.        then no security level will be permitted to change directories.
  747.        CHDIR expects a numeric value between 0 and 10.
  748.  
  749.        CHDIR:3          # Sets Change Directory security to 3
  750.  
  751.  
  752.            DOWNLOAD - Specifies the minimum security needed to download
  753.        a file from TinyHost. DOWNLOAD expects a numeric value between 0
  754.        and 10. If it is not specified then anyone can download a file.
  755.  
  756.        DOWNLOAD:3       # Sets Download security level to 3 or greater
  757.  
  758.  
  759.            OVERWRITE - Specifies the security level needed for file
  760.        overwrite permission. This can be used to update TinyHost's
  761.        config file remotely when used with the Warm Boot command. If
  762.        Overwrite security is not specified then no user will have
  763.        Overwrite permission. OVERWRITE expects a numeric value between 0
  764.        and 10.
  765.  
  766.        OVERWRITE:9      # Sets Overwrite security level to 9 or greater
  767.  
  768.  
  769.            PRIVATE - Specifies the minimum security level needed to
  770.        enter a private message. PRIVATE expects a numeric value between
  771.        0 and 10. If it is not specified than anyone can leave a private
  772.        message.
  773.  
  774.        PRIVATE:3        # Sets Private message entry to 3 or greater
  775.  
  776.  
  777.            PUBLIC - Specifies the minimum security level needed to
  778.        enter a public message. PUBLIC expects a numeric value between
  779.        0 and 10. If it is not specified than anyone can leave a public
  780.        message.
  781.  
  782.        PUBLIC:3         # Sets Public message entry to 3 or greater
  783.  
  784.  
  785.            SHELL - Used to set the security level for executing the
  786.        Shell-to-DOS function. Refer to Section 4.4 for further
  787.  
  788.  
  789.                                      Page 9
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.        information. SHELL is optional.
  797.  
  798.        SHELL:9          # Sets DOS Shell security to 9 or greater
  799.  
  800.  
  801.            SYSOP -  Specifies the minimum security level necessary to
  802.        perform SysOp level functions. SysOp functions include the
  803.        ability to delete Public mail, and read and delete SysOp
  804.        Comments. SYSOP expects a numeric value between 0 and 10. If
  805.        it is not specified then remote SysOp privileges will be
  806.        disabled.
  807.  
  808.        SYSOP:9          # Sets SysOp security level at 9
  809.  
  810.  
  811.            TYPE - Specifies the minimum security needed to execute the
  812.        [T]ype command to display a file. TYPE expects a numeric value
  813.        between 0 and 10. If it is not specified then anyone can display
  814.        a file.
  815.  
  816.        TYPE:3           # Sets [T]ype minimum security level at 3
  817.  
  818.  
  819.            UPLOAD - Specifies the minimum security needed to upload a
  820.        file to TinyHost. UPLOAD expects a numeric value between 0 and
  821.        10. If it is not specified then anyone can upload a file.
  822.  
  823.        UPLOAD:3         # Sets Upload security level to 3 or greater
  824.  
  825.  
  826.            UPLOAD_DIR - Specifies a path and security level for uploads
  827.        to TinyHost. UPLOAD_DIR expects a path to a directory to store
  828.        the files, along with the minimum security level needed to
  829.        override this feature.
  830.  
  831.        UPLOAD_DIR:C:\TINYHOST\UPLOAD,7
  832.  
  833.        For users with a security level less than 7, this would place
  834.        their uploaded files in the C:\TINYHOST\UPLOAD directory. See
  835.        section 2.8 for further information.
  836.  
  837.  
  838.            USER - Defines a user account. The line should contain (in
  839.        order) the users first name (15 characters maximum), last name
  840.        (30 characters), password (8 characters), and security level (2
  841.        characters). Items must be separated by a
  842.        comma (,). The security level should be specified by a numerical
  843.        string ranging in value from 0 to 10, with 10 being the highest
  844.        permissible security level. At least one, and up to 100 (10 for
  845.        the Shareware version), user accounts can be created. User
  846.        accounts are reloaded when the Warm Boot command is executed.
  847.  
  848.        The following USER descriptor:
  849.  
  850.        USER:Joe,Shmoe,JOEUSER,7         # User with security of 7
  851.  
  852.        creates a user account for Joe Shmoe with the password of
  853.        JOEUSER. Joe has a security level of 7.
  854.  
  855.                                     Page 10
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.            VIEW - Minimum security necessary to perform a View User List
  863.        function. It may be desired to prevent lower level users from
  864.        viewing the names of the TinyHost user base, and setting VIEW
  865.        high enough will do this. View expects a numeric value between 0
  866.        and 10. Not specifying a VIEW security level will result in all
  867.        users being able to view the User List.
  868.  
  869.        VIEW:3           # Sets View Users security level at 3
  870.  
  871.  
  872.        2.6.4   General Descriptors
  873.  
  874.            CHAT - Specifies the default setting for Chat Mode on
  875.        TinyHost execution. A 'Y' enables Operator Chat; a 'N' disables
  876.        it. CHAT is optional, and defaults to enabled.
  877.  
  878.        CHAT:Y           # Enable Operator Chat on start-up
  879.  
  880.  
  881.            DBUG - Set to 'Y' will direct TinyHost to display modem
  882.        response information on the local monitor. This can be very
  883.        useful when trying to troubleshoot a modem initialization
  884.        problem. DBUG is optional, and defaults to disabled.
  885.  
  886.        DBUG:Y           # Enables display of modem responses
  887.  
  888.  
  889.            EVENT - Used to set a time for TinyHost to quit and return to
  890.        DOS. The time must be entered in 24-hour (military) format (0000-
  891.        2359, 0000 = midnight). All four digits must be entered. If a
  892.        user is logged on when the Event time occurs, TinyHost will not
  893.        exit until the user has logged off. The Event time is reset when
  894.        executing a Warm Boot.
  895.  
  896.  
  897.            EXTERNAL - Used to add an external protocol (such as ZModem)
  898.        for use with TinyHost file transfers. Refer to Section 4.3 for
  899.        further information. EXTERNAL is optional.
  900.  
  901.  
  902.            LOG - Enables the logging of user activity to a file. LOG
  903.        expects a 'Y' or 'N' setting. LOG is optional.
  904.  
  905.        LOG:Y            # Logs user activity to TINYHOST.LOG
  906.  
  907.  
  908.            SCRNSAVER - Enables the resident TinyHost screen saver, and
  909.        can also specify an inactivity timeout (in seconds).
  910.  
  911.        SCRNSAVER:Y,300          # Screen saver on with 5 minute wait
  912.  
  913.        If a timeout value is not specified, a default of 2 minutes will
  914.        be used. After the screen is blanked, an incoming call or local
  915.        keyboard activity will bring the display back. Note that whatever
  916.        key is pressed locally WILL be passed to the TinyHost program.
  917.        This function is only available in the registered versions of
  918.        TinyHost and TinyHost Plus.
  919.  
  920.  
  921.                                     Page 11
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.            SOUND - Specifies whether or not the embedded Tinyhost sound
  929.        effects (bells or beeps) are echoed to the local system. This is
  930.        handy for those that have a system running at home and dislike
  931.        hearing the beeps at all hours of the day and night. This does
  932.        *not* affect the beeps associated with an Operator Chat page. A
  933.        'Y' lets all sounds echo to the local system; a 'N' turns them
  934.        off.
  935.  
  936.        SOUND:N                  # Disables local beeps
  937.  
  938.        This function does not intercept any embedded Control-G
  939.        characters (ASCII "bells") in any user created files such as the
  940.        Welcome file. SOUND is also only available in the registered
  941.        versions of TinyHost and TinyHost Plus.
  942.  
  943.  
  944.            START - Specifies the start-up directory for TinyHost. This
  945.        is the directory that TinyHost moves to after its initialization
  946.        is complete. This is also the directory that is available to the
  947.        remote user that logs onto TinyHost so care should be taken that
  948.        no sensitive files are available for download from this
  949.        directory. START is required. A terminating backslash should not
  950.        be used except when specifying a root directory that is being
  951.        used for the start-up directory.
  952.  
  953.        START:C:\TINYHOST        # Directory at initial logon
  954.  
  955.  
  956.        2.7   Setting up Access Levels
  957.  
  958.            The first thing to remember is that if a user's account
  959.        hasn't been created in the TINYHOST.CFG file he will never be
  960.        able to log on! (See Section 6.6 for a method to permit new users
  961.        to log on).
  962.  
  963.            From there, things get a little more complicated (but not
  964.        *too* complicated!). The SysOp will have to make decisions as to
  965.        how much system access to give to the user accounts he creates.
  966.        It is recommended that security level 10 be used to deny access
  967.        to items such as the floppy drives, etc. when a hard disk based
  968.        system is used. Trying to remotely access a floppy drive that
  969.        does not have a diskette in it will cause TinyHost to hang.
  970.  
  971.            As noted above, a remote user can be restricted to the Start-
  972.        Up directory for his uploads and downloads. This is accomplished
  973.        by setting the CHDIR access to a higher level than that of the
  974.        remote user.
  975.  
  976.            To limit access to other areas of the system, the ACCESS
  977.        descriptor should be used. For instance, it is recommended that
  978.        only the SysOp have remote access to the sub-directory that
  979.        contains the TinyHost program, config file, and message files.
  980.        Since there is no specific file upload or download restrictions,
  981.        permitting access to these files (particularly the config file)
  982.        would then give access to the entire user log.
  983.  
  984.            Entire disk drives (floppy, hard, and RAM) can be locked out
  985.  
  986.  
  987.                                     Page 12
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.        by simply setting up the following ACCESS descriptor:
  995.  
  996.                              ACCESS:X:,10
  997.  
  998.        This would force a security level of 10 or greater to access
  999.        drive X. As long as no user (SysOp included) has a security of
  1000.        10, then no access of drive X is possible. To lock out the root
  1001.        directory of a drive the descriptor would be changed to:
  1002.  
  1003.                              ACCESS:X:\,10
  1004.  
  1005.        Note the trailing backslash after the drive designation. This is
  1006.        the only time that the backslash is necessary. To lock out a
  1007.        particular directory:
  1008.  
  1009.                            ACCESS:C:\TINYHOST\BIN,9
  1010.  
  1011.        would permit access to the TINYHOST\BIN subdirectory by people
  1012.        with security levels of 9 or greater. Note that a trailing
  1013.        backslash should not be used when specifying a complete directory
  1014.        path.
  1015.  
  1016.            For example, suppose that one wanted to have two separate
  1017.        subdirectories, each with its own access level, within the
  1018.        TINYHOST directory. Assuming that one directory is called LEVEL7
  1019.        and the other is LEVEL8, the directory structure would look like
  1020.        this:
  1021.  
  1022.                         C:\ --- TINYHOST --+--- LEVEL7
  1023.                                            |
  1024.                                            +--- LEVEL8
  1025.                                            |
  1026.                                            +--- BIN
  1027.  
  1028.        Also, assume that the access levels within TINYHOST.CFG are set
  1029.        as follows:
  1030.  
  1031.                         ACCESS:C:\TINYHOST\BIN,9
  1032.                         ACCESS:C:\TINYHOST\LEVEL7,7
  1033.                         ACCESS:C:\TINYHOST\LEVEL8,8
  1034.  
  1035.        Users with a security level of 7 or higher would be permitted
  1036.        access to the LEVEL7 directory. A security level of 8 or more
  1037.        would be required to be able to move to the LEVEL8 directory. And
  1038.        a level of 9 or 10 (probably a SysOp) would have access to the
  1039.        BIN directory where all of the important TinyHost files are kept.
  1040.  
  1041.            By adding the following line:
  1042.  
  1043.                         ACCESS:DEFAULT,9
  1044.  
  1045.        the system is also further protected by setting a default access.
  1046.        This means that any directory not explicitly mentioned in an
  1047.        ACCESS descriptor can only be accessed by a user with a security
  1048.        level of 9 or greater. Specifying a default access level does not
  1049.        use one of the 25 standard ACCESS directory resources.
  1050.  
  1051.  
  1052.  
  1053.                                     Page 13
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.            The config file that has been included with the TinyHost
  1061.        package is set up to lockout floppy drives A and B. Overwrite,
  1062.        boot permission, default directory access, and SysOp security
  1063.        levels are set to that of the "SysOp", Sam Sysop.
  1064.  
  1065.  
  1066.        2.8   Setting up a Default Upload Directory
  1067.  
  1068.            To give a SysOp better control over what files are available
  1069.        to his/her users, TinyHost can place any or all uploads into a
  1070.        default directory for review at a later time. The descriptor
  1071.        format to enable this function is:
  1072.  
  1073.        UPLOAD_DIR:<directory path>,<security level>
  1074.  
  1075.        where <directory path> is the complete path to the directory
  1076.        where the uploads are to be stored, and <security level> is the
  1077.        minimum security level needed to override this function. For
  1078.        example:
  1079.  
  1080.        UPLOAD_DIR:C:\TINYHOST\UPLOAD,7
  1081.  
  1082.        would place all files uploaded by users with security levels of
  1083.        0-6 in a directory named C:\TINYHOST\UPLOAD. Users with a
  1084.        security level of 7 or higher would have their uploads left in
  1085.        the TinyHost system directory they are in at the time.
  1086.  
  1087.            TinyHost will verify on start-up that the Default Upload
  1088.        directory exists. If a valid security level is not given then a
  1089.        default of 0 (zero) is assumed. This would disable the Default
  1090.        Upload directory option.
  1091.  
  1092.            Any UPLOAD security level also specified in the config file
  1093.        is still in force. For instance, if an UPLOAD security level of 2
  1094.        is specified, then users with a security level of 0 or 1 will not
  1095.        be able to upload any files at all. Users with a security of 3-6
  1096.        would have their uploads re-directed to the UPLOAD_DIR directory.
  1097.        A security level of 7 or higher would then be needed to override
  1098.        this default upload directory setting.
  1099.  
  1100.  
  1101.        2.9   Custom Display Files - Welcome, Bulletin, and Logoff
  1102.  
  1103.            TinyHost permits the creation of three display files by the
  1104.        SysOp that are shown at different points within the program.
  1105.        TINYHOST.WEL is displayed after a connection has been made and
  1106.        before a user has logged on. TINYHOST.BUL is displayed after the
  1107.        logon process has been successfully completed. TINYHOST.BYE is
  1108.        shown after the user has logged off. A sample TINYHOST.WEL has
  1109.        been included on the TinyHost disk.
  1110.  
  1111.            Each file can have any number of lines, but each line should
  1112.        be no more than 80 characters long, and should be terminated with
  1113.        a carriage return and line feed. If the file is longer than 20
  1114.        lines TinyHost will pause at the 21st line (and every 21st line
  1115.        thereafter).
  1116.  
  1117.  
  1118.  
  1119.                                     Page 14
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.            These files should be placed in the same directory that
  1127.        THOSTxxx.EXE and TINYHOST.CFG reside (the execution directory).
  1128.        If any of the display files do not exist TinyHost will continue
  1129.        on its merry way!
  1130.  
  1131.  
  1132.        3.0   OPERATION
  1133.  
  1134.        3.1   Ringback Operation
  1135.  
  1136.            Ringback mode has been implemented to permit using the same
  1137.        phone line for both voice and data communications. To access
  1138.        TinyHost when ringback is implemented the caller must first dial
  1139.        into the computer and permit the phone to ring at least once (or
  1140.        permit the modem to detect at least one ring). Then the caller
  1141.        should hang up and wait at least 8 seconds before redialing the
  1142.        computer. As long as the redial is done within 1 minute of the
  1143.        first call, TinyHost will answer the phone and data
  1144.        communications can begin. If more than 1 minute elapses then
  1145.        TinyHost resets and begins waiting for the first ring.
  1146.  
  1147.  
  1148.        3.2   TinyHost Operation
  1149.  
  1150.            TinyHost is a very easy program to use - if for no other
  1151.        reason than there aren't too many options with which to become
  1152.        confused! After the program is started a status screen is
  1153.        displayed on the local monitor. This information includes whether
  1154.        or not TinyHost is in ringback mode, and, if so, whether or not
  1155.        the program is waiting for the ringback. A local operator is also
  1156.        able to view the progress of a remote connection since all
  1157.        activity is echoed to the computer's monitor.
  1158.  
  1159.            After TinyHost has been started, and while it is waiting for
  1160.        a phone call, a status screen is displayed. Information such as
  1161.        Ringback status (Enabled or Disabled), Chat Enabled or Disabled,
  1162.        etc. is displayed. Pressing the Escape key ( <ESC> ) at this time
  1163.        will exit TinyHost. A local user can logon by pressing <ENTER>
  1164.        (or <RETURN>). The user will then be presented with the same
  1165.        prompts that a remote user gets. Pressing <RETURN> again
  1166.        (entering nothing for a First Name) will also cause an exit from
  1167.        TinyHost.
  1168.  
  1169.            Whether logging on locally or remotely, if logon is desired,
  1170.        the user should enter his first name, last name, and password as
  1171.        requested. It is permissible to string together any and all user
  1172.        information (for instance, entering first and last name,
  1173.        separated by a space, at the First Name prompt). It is not
  1174.        recommended to enter ones password in this fashion as the
  1175.        characters would be echoed to both the local and remote screens.
  1176.        The names and password inputs are not case sensitive. TinyHost
  1177.        does not permit retries when entering this information - if it is
  1178.        entered improperly TinyHost will deny access and will hang up.
  1179.  
  1180.            After the user successfully logs on, TinyHost checks to see
  1181.        if any personal messages exist for the user. If so, TinyHost
  1182.        beeps once, and displays a message that Personal Mail is waiting.
  1183.        A check is also made for Public mail and SysOp Comments (security
  1184.  
  1185.                                     Page 15
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.        level permitting), and notices are displayed if either forms of
  1193.        messages exist.
  1194.  
  1195.            The user will then be presented with the Main Menu, which
  1196.        displays the following command options. Either upper or lower
  1197.        case characters can be used:
  1198.  
  1199.                *D - Download a file from TinyHost to the user (if
  1200.                     permitted).
  1201.  
  1202.                *U - Upload a file to TinyHost from the user (if
  1203.                     permitted). If the user's security level
  1204.                     permits, file overwrite is possible with or
  1205.                     without backup.
  1206.  
  1207.                *C - If permitted, allows the user to move
  1208.                     between drives and directories of the system.
  1209.  
  1210.                 L - List the contents of the present directory.
  1211.  
  1212.                *T - Types out (displays) a text file that resides
  1213.                     on the host system (if permitted).
  1214.  
  1215.                *R - Read Personal or Public messages, or SysOp
  1216.                     comments (security level dependent).
  1217.  
  1218.                *E - Enter a Personal or Public message or SysOp
  1219.                     comment. (Security level dependent)
  1220.  
  1221.                *K - Kill Personal messages, or Private messages
  1222.                     or SysOp comments (security level dependent).
  1223.  
  1224.                 V - View User List (security level dependent).
  1225.  
  1226.                 S - Shell-to-DOS (security level dependent).
  1227.  
  1228.                 I - Displays an informative screen about TinyHost.
  1229.  
  1230.                 H - Display a Help screen ('?' can also be used).
  1231.  
  1232.                 X - Toggles TinyHost's Expert mode on and off.
  1233.                     When Expert mode is ON the longer menu and
  1234.                     informative messages are suppressed.
  1235.  
  1236.                 B - Re-display the logon Bulletin.
  1237.  
  1238.                 G - Goodbye. Ends the TinyHost connection.
  1239.  
  1240.                 O - Page the Operator (SysOp) for chatting.
  1241.  
  1242.                 W - Log off and reload the access, user, and event
  1243.                     info from the config file. Subject to permission.
  1244.                     This option is *not* displayed on the screen
  1245.                     - it is a SysOp secret!!
  1246.  
  1247.                         * Command Chaining possible
  1248.  
  1249.        When using TinyHost, and reading this manual, text surrounded by
  1250.  
  1251.                                     Page 16
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.        angle brackets refer to names of keys, such as <F1> and <RETURN>.
  1259.        Characters with square brackets around them ( [T] or [C] ) refer
  1260.        to characters that, when entered, will execute that appropriate
  1261.        action. Characters with curly braces ( {N} or {Y} ) denote
  1262.        default actions (executed on pressing the <RETURN> key with no
  1263.        other keys being pressed).
  1264.  
  1265.  
  1266.        3.3   File Oriented Commands
  1267.  
  1268.        3.3.1   File Transfers
  1269.  
  1270.            TinyHost provides internal XModem, XModem/CRC, and 1K-Xmodem
  1271.        upload and download capability (1K-XModem protocol is sometimes
  1272.        known as YModem). All uploads and downloads take place from the
  1273.        current directory that the user is in. If CHDIR access has not
  1274.        been given, then file transfers take place from the Start-Up
  1275.        directory.
  1276.  
  1277.            Through the use of External Protocols TinyHost is able to
  1278.        support other protocols such as ZModem. Refer to Section 4.3 for
  1279.        further information on how to implement these.
  1280.  
  1281.            Xmodem and XModem/CRC transfers appear as a single selection.
  1282.        TinyHost will attempt to begin transfers using CRC as this is a
  1283.        more reliable protocol than checksum. If CRC attempts are ignored
  1284.        then the system will fall back to checksum.
  1285.  
  1286.            When uploading a file to the TinyHost system, if the file
  1287.        already exists the system will typically prevent overwriting the
  1288.        existing file. The exception to this is if the OVERWRITE
  1289.        descriptor has been set and the caller's security level matches
  1290.        or is greater than that value. If this is the case then the user
  1291.        will have the option of overwriting the existing file. If
  1292.        overwrite is selected then the user will also be asked if a
  1293.        backup of the current file is desired. If a backup already exists
  1294.        then the current backup will be overwritten by the new backup (no
  1295.        backups of backups are made!).
  1296.  
  1297.            The overwrite option was added to permit updating TinyHost's
  1298.        config file from a remote location. Since new users cannot
  1299.        normally logon to TinyHost it is necessary to create an
  1300.        appropriate account. By using both the overwrite and warm boot
  1301.        capability the SysOp can download the existing config file,
  1302.        modify it, upload it and overwrite the existing config file, then
  1303.        tell TinyHost to load the new information.
  1304.  
  1305.            Note that if a user logs on locally file transfers are not
  1306.        permitted (for obvious reasons). However, the user can still go
  1307.        through the motions to test the installation of any external
  1308.        protocols. To aid in troubleshooting, TinyHost will display the
  1309.        batch file command that would normally be sent to DOS.
  1310.  
  1311.  
  1312.        3.3.2   Changing Directories
  1313.  
  1314.            The Change Directory function of TinyHost acts much the same
  1315.        as the chdir (or cd) function from DOS. When Change Directory has
  1316.  
  1317.                                     Page 17
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.        been chosen the program will prompt for a new directory. The same
  1325.        type of input that is acceptable from a DOS command level is
  1326.        suitable for TinyHost - entering two dots (..) will take TinyHost
  1327.        to the next directory up the tree. Entering a complete path will
  1328.        take the user to the specified directory. All of this is, of
  1329.        course, assuming that the user has the necessary access to permit
  1330.        moving around the host system. To ensure security of the host
  1331.        system, TinyHost will return to the designated Start-Up directory
  1332.        after a user has logged off.
  1333.  
  1334.  
  1335.        3.3.3   List Directory
  1336.  
  1337.            This function displays the files that reside in the currently
  1338.        selected sub-directory of the system. First, the current
  1339.        directory path is displayed. Then, any additional sub-directories
  1340.        that exist are shown. Finally, the individual files in the
  1341.        current directory are displayed along with their sizes.
  1342.  
  1343.  
  1344.        3.3.4   Typing out a File
  1345.  
  1346.            This function permits typing out (listing) a file that
  1347.        resides on the TinyHost computer. It is strongly advised that
  1348.        this function be used only to view text (ASCII) files. Viewing
  1349.        binary files (those with .EXE, .COM, .ZIP, etc. extensions) can
  1350.        cause VERY unpredictable results!
  1351.  
  1352.            If the user has Expert Mode turned off when this feature is
  1353.        selected, a cautionary message similar to the above paragraph
  1354.        will be displayed, then the user will be prompted for a filename.
  1355.        If Expert Mode is enabled, then the user will be immediately
  1356.        prompted for the filename. If the file exists in the currently
  1357.        selected directory, then it will be displayed. TinyHost will
  1358.        pause every 21 lines and ask if it is to continue displaying the
  1359.        file. TinyHost will also automatically wrap the screen display if
  1360.        the line length exceeds 80 characters. TinyHost will keep track
  1361.        of added line feeds to be sure that the display is paused
  1362.        properly.
  1363.  
  1364.            The maximum line length that TinyHost will support (without a
  1365.        terminating carriage return or line feed) is 256 characters.
  1366.  
  1367.  
  1368.        3.4   Message Commands
  1369.  
  1370.        3.4.1   Reading Messages
  1371.  
  1372.            When a user logs onto TinyHost a notification is given if any
  1373.        Personal or Public mail is waiting, beeping once for Personal
  1374.        mail. If the user's security level is high enough, a notification
  1375.        of waiting SysOp Comments is also given. To read the messages,
  1376.        enter 'R' at the Main Menu prompt. A choice will then be given to
  1377.        read Personal ('P'), Public ('U'), or SysOp Comments ('C'). After
  1378.        the second choice is made the message(s) are then displayed. If
  1379.        more then one message is waiting, TinyHost pauses before
  1380.        continuing on to the next message. The very first line of the
  1381.  
  1382.  
  1383.                                     Page 18
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.        message notes who the message is from, and the time and date that
  1391.        the message was entered.
  1392.  
  1393.            If no mail is waiting of the selected type, a message
  1394.        reporting this is displayed. If the user does not have sufficient
  1395.        security to read SysOp Comments a notification is given and the
  1396.        Comments are not displayed.
  1397.  
  1398.  
  1399.        3.4.2   Entering a Message
  1400.  
  1401.            To Enter a message or SysOp Comment, enter an 'E' at the Main
  1402.        Menu prompt. The user will be prompted for the type of message to
  1403.        be left (Personal, Public, or SysOp Comment). After the selection
  1404.        is made (taking into account any Personal or Public security
  1405.        restrictions), a few notes regarding message input are displayed
  1406.        along with a ruler line showing the length of a message line.
  1407.  
  1408.            If entering a Personal (Private) message, the user will be
  1409.        asked for the name of the person to send the message to. TinyHost
  1410.        will then check to be sure that such a person exists in its user
  1411.        base, so it is imperative that the user's name be spelled
  1412.        correctly. To find out who exists in the user base, and to find
  1413.        the proper spelling of names, a View User list can be done
  1414.        (within security limits).
  1415.  
  1416.            Up to 20 lines of 70 characters each may be entered. TinyHost
  1417.        will automatically wrap input to the next line.  When entering
  1418.        the message, do not put a period in the first (leftmost) column.
  1419.        This is how TinyHost distinguishes the end of a particular
  1420.        message (see Section 6.7). To end the message input, enter a
  1421.        blank line. At this point, the message can be edited, saved, or
  1422.        aborted.
  1423.  
  1424.           If the message is saved, TinyHost will automatically add the
  1425.        sending individual's name, and the time and date the message was
  1426.        entered, to the beginning of the message. The entire message will
  1427.        then be saved into the appropriate message file.
  1428.  
  1429.  
  1430.        3.4.3   Editing a Message
  1431.  
  1432.            After entering a message, and before saving it, the message
  1433.        can be edited using the following editing commands:
  1434.  
  1435.            [L]ist - List the entire message
  1436.  
  1437.            [I]nsert - inserts a line after the line number specified.
  1438.                 Entering a blank line will abort the insert process.
  1439.                 If the message length is already 20 lines then an
  1440.                 insert will not be permitted.
  1441.  
  1442.            [D]elete - deletes the specified line
  1443.  
  1444.            [E]dit - permits editing the specified line. After entering
  1445.                 the line number the user is asked to enter the source
  1446.                 string to be changed. TinyHost will do an exact, case
  1447.                 sensitive search and if a match is found then the user
  1448.  
  1449.                                     Page 19
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.                 is prompted for the string to be substituted. If the
  1457.                 resulting line exceeds 70 characters then the end of
  1458.                 the line will be truncated to fit.
  1459.  
  1460.            When editing the message is complete, the message can either
  1461.        be [S]aved or [A]borted.
  1462.  
  1463.  
  1464.        3.4.4   Killing (Deleting) Messages
  1465.  
  1466.            TinyHost will retain all messages until they are deleted.
  1467.        This is accomplished by entering a 'K' at the Main Menu prompt.
  1468.        The user will then be prompted for the type of mail to delete -
  1469.        Personal, Public, or SysOp Comments. The user is then asked if
  1470.        all messages are truly to be deleted, and if the response is Yes,
  1471.        then the entire mail file is deleted.
  1472.  
  1473.            If the user's security is not high enough to delete Public
  1474.        Mail or SysOp Comments, an appropriate message will be displayed
  1475.        and the user will be returned to the Main Menu.
  1476.  
  1477.            It must be stressed that when Killing Messages, ALL such
  1478.        messages are deleted! There is presently no way, for instance, to
  1479.        just delete one Private message out of the group. However, since
  1480.        a DOS file delete is done, the file should be recoverable using
  1481.        an easily available file recovery utility.
  1482.  
  1483.            Non-deleted messages will hang around forever (or until the
  1484.        next disk crash!). Personal messages, though, will make a minor
  1485.        nuisance of themselves by beeping every time the user logs on.
  1486.        This should help remind users to purge their old messages.
  1487.  
  1488.            See Section 6.7 for information on editing the message files
  1489.        off-line using an ASCII editor.
  1490.  
  1491.  
  1492.        3.4.5   Viewing User List
  1493.  
  1494.            To help users when entering Personal mail, a View User List
  1495.        function has been added. Entering a 'V' at the Main Menu prompt
  1496.        will display the list of users currently defined in TinyHost's
  1497.        user base. Both the first and last name of the individuals are
  1498.        displayed.
  1499.  
  1500.            The View User List function can be restricted to higher
  1501.        security levels simply by setting the VIEW descriptor value high
  1502.        enough. This may be desired when TinyHost is open to new callers
  1503.        (see Section 6.6), or when different security levels are
  1504.        implemented. If the VIEW descriptor is not found in the
  1505.        TINYHOST.CFG file, any users will be able to see the user list.
  1506.  
  1507.  
  1508.        3.5   Miscellaneous Commands
  1509.  
  1510.        3.5.1   Expert Mode
  1511.  
  1512.            Entering an 'X' at TinyHost's Main Menu will toggle the
  1513.        Expert User Mode on and off. When OFF, full menus and informative
  1514.  
  1515.                                     Page 20
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.        displays are given throughout TinyHost. When ON, these displays
  1523.        are suppressed and only a line showing the valid character inputs
  1524.        is displayed.
  1525.  
  1526.  
  1527.        3.5.2   Operator Page
  1528.  
  1529.            Entering an 'O' will page the operator for online chat.
  1530.        This is assuming, of course, that the SysOp has enabled this
  1531.        function. If Chatting is enabled, TinyHost will beep every two
  1532.        seconds for 30 seconds to get the SysOp's attention. Any key
  1533.        pressed during this time by the remote user will cancel the page.
  1534.  
  1535.            On the local screen, TinyHost will display the name of the
  1536.        user who initiated the page. If the SysOp wishes to chat then the
  1537.        <F1> key should be pressed on the local keyboard. The remote user
  1538.        and SysOp can then chat back and forth simply by typing their
  1539.        messages. TinyHost will automatically wrap the input to the
  1540.        following line. To end the Chat, the SysOp must press <F1> again.
  1541.  
  1542.            While TinyHost is waiting for a call, the SysOp may enable or
  1543.        disable the Chat function by pressing <F1>. The status of Chat is
  1544.        shown on the local screen.
  1545.  
  1546.  
  1547.        3.5.3   Shelling-to-DOS
  1548.  
  1549.            Entering an 'S' will select the Shell-to-DOS function.
  1550.        Depending upon the implementation the remote user will then be
  1551.        taken to the DOS prompt of the TinyHost machine. To return to
  1552.        TinyHost, the remote user must type 'EXIT' and hit <RETURN>.
  1553.  
  1554.            Whether or not a remote user can execute this command is set
  1555.        (in part) by the SHELL descriptor security level.
  1556.  
  1557.            Because of the complexity of implementing this command at the
  1558.        TinyHost level, further information can be found in Section 4.4
  1559.        under Advanced Topics.
  1560.  
  1561.  
  1562.        3.5.2   Executing a Warm Boot
  1563.  
  1564.            As described above, the warm boot option has been included to
  1565.        permit the SysOp to modify some settings remotely by updating and
  1566.        reloading the config file. TinyHost normally only reads its
  1567.        config file on initial start-up. Entering a 'W' will result in
  1568.        TinyHost logging off (same as if Goodbye had been selected). The
  1569.        program will then proceed to re-load its config file and retrieve
  1570.        ACCESS, USER, and EVENT info - everything else in its
  1571.        configuration (INIT, RESET, etc.) will remain untouched.
  1572.  
  1573.  
  1574.        3.6   Command Chaining
  1575.  
  1576.            Many commands can be used with Command Chaining. This is the
  1577.        process of entering two pieces of information at the Main Menu
  1578.        prompt, with a space separating the items. For instance, to type
  1579.  
  1580.  
  1581.                                     Page 21
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.        out the file FOOBAR.TXT from the current directory, the command
  1589.        line would be:
  1590.  
  1591.                                 T FOOBAR.TXT <return>
  1592.  
  1593.        Command chaining can be used in or out of Expert Mode, and
  1594.        currently works with file and message commands. Section 3.2 lists
  1595.        the available TinyHost commands, and the ones where command
  1596.        chaining can be used are marked with asterisks ('*').
  1597.  
  1598.  
  1599.        3.7   User Inactivity and Disconnects
  1600.  
  1601.            TinyHost monitors the COM port for keyboard activity to be
  1602.        sure that a user is still out there and awake. If no keyboard
  1603.        activity is seen for an extended period of time (at least 2
  1604.        minutes) TinyHost will hang up and recycle itself. The total
  1605.        length of time that TinyHost will wait depend upon what menu the
  1606.        user is in when the inactive period begins. A 5 minute delay is
  1607.        set when Viewing a file; a 2 minute delay exists at the Main Menu
  1608.        prompt. This activity monitor can also handle disconnects that
  1609.        occur in the middle of a logon session.
  1610.  
  1611.            In addition, if the CARRIER descriptor has been set to 'Y',
  1612.        TinyHost will monitor the status of the Carrier Detect (CD)
  1613.        handshake from the modem. If at any time the CD handshake is
  1614.        removed (denoting a broken connection), TinyHost will recycle
  1615.        itself.
  1616.  
  1617.  
  1618.        3.8   Quitting a TinyHost Session
  1619.  
  1620.            For those users with a security level greater than or equal
  1621.        to that set by the SYSOP descriptor, TinyHost offers a QUIT
  1622.        command. When executed, this will take the user through the
  1623.        standard logoff procedure. However, instead of recycling back to
  1624.        the normal mode of waiting for an incoming call, TinyHost will
  1625.        cease running and quit to DOS.
  1626.  
  1627.  
  1628.  
  1629.        4.0   ADVANCED TOPICS
  1630.  
  1631.        4.1   General Notes
  1632.  
  1633.            The features covered in this section are NOT for the faint of
  1634.        heart!! In order to implement these properly a good knowledge of
  1635.        DOS, and of the system and environment that TinyHost is running
  1636.        in, is essential!
  1637.  
  1638.  
  1639.        4.2   ISDN Support
  1640.  
  1641.            ISDN is a digital only phone system that is starting to
  1642.        become more widespread. With ISDN there is no modem, no init
  1643.        string, no result codes, and a fixed baud rate. All activity is
  1644.        controlled using the serial ports handshake lines. To enable ISDN
  1645.  
  1646.  
  1647.                                     Page 22
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.        support, the following descriptor must be added to TinyHost's
  1655.        config file:
  1656.  
  1657.        ISDN:Y                   # Enable ISDN support
  1658.  
  1659.            When ISDN is used, RINGBACK cannot be set to Yes, and a
  1660.        modem HANGUP string cannot be defined. It is also suggested that
  1661.        baud rate locking (for example,  BAUD:9600,LOCK ) be used.
  1662.  
  1663.            When in ISDN mode, the DTR line is not asserted, as it
  1664.        is when in a modem application. TinyHost waits until the RING
  1665.        handshake becomes active and then asserts DTR. TinyHost then waits
  1666.        for DCD to be asserted to signify that a connection has been
  1667.        established. To break the connection, TinyHost simply drops the
  1668.        DTR handshake.
  1669.  
  1670.  
  1671.        4.3   External Protocols
  1672.  
  1673.            For those that want to use protocols other than XModem (such
  1674.        as ZModem), TinyHost supports the use of external protocols. For
  1675.        instance, the author uses DSZ (by Chuck Forsberg) to implement
  1676.        ZModem file transfers. Up to 6 external protocols may be defined.
  1677.  
  1678.            The descriptor format for defining an External protocol is:
  1679.  
  1680.        EXTERNAL:<menu name>,<transmit batch>,<receive batch>
  1681.  
  1682.        for example::
  1683.  
  1684.        EXTERNAL:Zmodem,ZMXMIT,ZMRCV     # Sample for ZModem
  1685.  
  1686.            <menu name> - The name of the protocol. This string may be up
  1687.        to 30 characters in length, and may include embedded spaces. This
  1688.        string will be displayed to the user at the Protocol Select menu
  1689.        within TinyHost - in this case, "ZModem".
  1690.  
  1691.            <transmit batch> - The name of the batch file used to invoke
  1692.        the external protocol when sending a file from TinyHost to the
  1693.        User (TinyHost Download). This batch file must reside in the
  1694.        TinyHost execution directory. In the above example, ZMXMIT will
  1695.        have TinyHost look for a batch file named ZMXMIT.BAT in the
  1696.        execution directory for downloads.
  1697.  
  1698.            <receive batch> - The name of the batch file used to invoke
  1699.        the external protocol when receiving a file from the User
  1700.        (TinyHost Upload). This batch file must reside in the TinyHost
  1701.        execution directory. In the above example, the name of the upload
  1702.        batch file is ZMRCV.BAT.
  1703.  
  1704.            The actual external protocol executable file must be in a
  1705.        directory pointed to by the DOS path command. The .BAT file
  1706.        extension should not be added when putting the filenames in the
  1707.        descriptor field.
  1708.  
  1709.            When an external protocol is selected, TinyHost starts a
  1710.        secondary command processor (usually COMMAND.COM). TinyHost also
  1711.        passes some necessary parameters to the batch file. These are, in
  1712.  
  1713.                                     Page 23
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.        order: 1) COM port number, 2) Port speed (baud rate), and 3) the
  1721.        filename. The COM port and baud rate are passed as ASCII
  1722.        characters.
  1723.  
  1724.            Two sample batch files have been included. These can be used
  1725.        with DSZ to implement ZModem transfers within TinyHost. For
  1726.        instance, the batch file for a TinyHost Upload would be:
  1727.  
  1728.                         DSZ port %1 speed %2 rz %3
  1729.  
  1730.        The batch file for a ZModem Download would be:
  1731.  
  1732.                         DSZ port %1 speed %2 sz %3
  1733.  
  1734.  
  1735.        4.4   Shelling-to-DOS
  1736.  
  1737.            The SHELL descriptor permits setting the minimum security
  1738.        level necessary for accessing this command remotely. However, a
  1739.        lot of behind-the-scenes effort has to be done to make this work.
  1740.  
  1741.            In addition to the security level requirement, there must be
  1742.        a THREMOTE.BAT file in the *exact* directory the user is in when
  1743.        trying to shell out. There is a reason for this: Some SysOps may
  1744.        not want their users dropping to DOS in their machine, but they
  1745.        might want to make custom menus, programs, etc. available for
  1746.        their use. By customizing a THREMOTE batch file for the area the
  1747.        user is in, different functions can be implemented using the same
  1748.        command.
  1749.  
  1750.            When executing the Shell command, TinyHost passes two pieces
  1751.        of data to the batch file (much like it does when using an
  1752.        external protocol). First, the COM port number is passed, then
  1753.        the Baud rate. Both are passed as ASCII character strings.
  1754.  
  1755.            A sample THREMOTE.BAT file has been included with TinyHost.
  1756.        This file shows how a shell-to-DOS function can be implemented
  1757.        using the DOS CTTY command. When returning from calling this
  1758.        batch file, TinyHost will automatically reset the CTTY value to
  1759.        CON (the standard console).
  1760.  
  1761.            Caution should be taken when using the CTTY command to
  1762.        implement a DOS Shell. Depending upon circumstances that are
  1763.        unclear, when at the DOS level via remote a backspace character
  1764.        can sometimes cause the host system to go berserk. Unlimited
  1765.        space characters appear to be sent, and a Control-C may or may
  1766.        not work in halting them. The only cure appears to be to break
  1767.        connection (hang-up).
  1768.  
  1769.            When using CTTY, it is recommend that caution be used when
  1770.        executing other programs remotely. Direct video writes cannot be
  1771.        supported using this function, and system lockup may be
  1772.        experienced. When finished with DOS operations, entering "EXIT"
  1773.        at the DOS prompt will return to TinyHost. It is suggested that
  1774.        the user return to the directory the Shell command was called
  1775.        from. Failing to do so could cause the system to lock up.
  1776.  
  1777.  
  1778.  
  1779.                                     Page 24
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.            Also, if one were to hang up or suffer a broken connection
  1787.        while in DOS, there is no way for TinyHost to recover and the
  1788.        system would stay that way unless manually reset. A good solution
  1789.        here is to use a utility called WATCHDOG (or something similar)
  1790.        which automatically reboots the computer should the carrier be
  1791.        lost.
  1792.  
  1793.  
  1794.        4.5   High-Speed Modems
  1795.  
  1796.            With the advent of the higher-speed modems (faster than 2400
  1797.        baud) the life of the communications programmer became much more
  1798.        difficult! The many different modes, speeds, and lack of command
  1799.        and programming standards has made any attempt at universal modem
  1800.        support incredibly difficult. The important things to remember
  1801.        when dealing with these buggers is that the modem connect rate
  1802.        can differ from the computer-to-modem serial port rate.
  1803.  
  1804.            Even though TinyHost supports computer-to-modem serial rates
  1805.        (sometimes referred to as Fixed DTE, modem speed conversion,
  1806.        etc.) of 7200 and 14400 baud, many (most?) modems do not. Please
  1807.        check your modem manual to see if these rates are supported
  1808.        before setting them with the BAUD descriptor. When in doubt, use
  1809.        the faster rates of 9600 or 19200.
  1810.  
  1811.            If your modem should respond with a CONNECT 14400 message and
  1812.        baud rate locking is not enabled, TinyHost will attempt to set
  1813.        the serial port baud rate to 14400. If, as mentioned above, your
  1814.        modem doesn't support that serial port rate, all information to
  1815.        and from the remote user will be garbled. NOTE: there will be no
  1816.        indication of trouble on the TinyHost local screen! All menus
  1817.        will appear normal!
  1818.  
  1819.            When using baud rate locking, both the TinyHost BAUD
  1820.        descriptor and the modem INIT string must be configured properly.
  1821.        With TinyHost this is easily done by adding   ,LOCK   following
  1822.        the baud rate value in the BAUD descriptor. For example:
  1823.  
  1824.        BAUD:19200,LOCK
  1825.  
  1826.        will lock the computer-to-modem baud rate at 19200. For this to
  1827.        work properly, the necessary modem command must have been
  1828.        included in the modem INIT string to prevent the modem from
  1829.        changing speeds.
  1830.  
  1831.  
  1832.  
  1833.        5.0   TROUBLESHOOTING TIPS
  1834.  
  1835.        5.1   General Comments
  1836.  
  1837.            Although I have done my best to make TinyHost an easy-to-use
  1838.        program, it is difficult (if not impossible) to take all of the
  1839.        different port and modem combinations into account. Here are some
  1840.        suggestions as to causes and cures of some common problems in
  1841.        getting TinyHost to work.
  1842.  
  1843.  
  1844.  
  1845.                                     Page 25
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.            A helpful debug feature has been incorporated into TinyHost.
  1853.        By adding the DBUG descriptor to a line in the TINYHOST.CFG file,
  1854.        modem response information will be displayed on the local
  1855.        monitor's screen. This can sometimes help pinpoint the problem
  1856.        area.
  1857.  
  1858.  
  1859.        5.2   System Hang (Lockup)
  1860.  
  1861.            This failure is when the computer that is to be used locks up
  1862.        as soon as TinyHost is executed. Chances are, the last sign of
  1863.        life was the "Initialization..." message being displayed on the
  1864.        monitor screen.
  1865.  
  1866.            This is usually due to a problem with the selected serial
  1867.        port. It is possible that the specified serial port does not
  1868.        exist in the computer. When trying to use COM3 or COM4, it is
  1869.        also possible that an non-standard COM interrupt is being used.
  1870.        TinyHost defaults to IRQ4 for COM3; IRQ3 for COM4. If a different
  1871.        interrupt is needed, use the IRQ descriptor to set the proper
  1872.        one.
  1873.  
  1874.            TinyHost can also hang the system if a remote user attempts
  1875.        to access a floppy drive that does not have a diskette in it.
  1876.  
  1877.  
  1878.        5.3   Error in User Account
  1879.  
  1880.            This message will be displayed during the initialization
  1881.        process. This will be caused by an embedded space somewhere
  1882.        within the user account information. It could also be caused by
  1883.        an invalid security level.
  1884.  
  1885.  
  1886.        5.4   Modem Fails Reset
  1887.  
  1888.            This will occur as TinyHost is being initialized. The program
  1889.        attempts to reset the modem, and has received no response. The
  1890.        expected response is an "OK" string.
  1891.  
  1892.            A number of causes are possible. Make sure that the modem is
  1893.        connected to the specified serial port, and that the default bps
  1894.        rate being specified with the BAUD descriptor is one that the
  1895.        modem's serial port can support. The modem could also be set (via
  1896.        DIP switches or non-volatile RAM) to default to no result codes
  1897.        or to numeric instead of verbose. The simplest solution is to
  1898.        remove the RESET descriptor from the TINYHOST.CFG file.
  1899.  
  1900.  
  1901.        5.5   Modem Fails Initialization
  1902.  
  1903.            TinyHost displays a "Modem Initialization Failure" string
  1904.        when this happens.
  1905.  
  1906.            Again, a number of causes are possible. Make sure that the
  1907.        modem is connected to the specified serial port, and that a valid
  1908.        BAUD rate setting is being used. The initialization string also
  1909.        must have the Q0, V1, and E0 modem commands set as shown (Q0
  1910.  
  1911.                                     Page 26
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.        forces the display of result codes; V1 specifies that result
  1919.        codes as character strings rather than numbers; E0 turns off
  1920.        command echo).
  1921.  
  1922.            Make sure that the modem supports the serial port connect
  1923.        rate that has been chosen. Many (most?) modems do not support
  1924.        computer-to-modem connect rates of 7200 and 14400 baud. See
  1925.        Section 4.5 for further high-speed modem information.
  1926.  
  1927.  
  1928.        5.6   Phone Call Not Answered
  1929.  
  1930.            If TinyHost does not answer the incoming call, make sure that
  1931.        the phone line is properly plugged into the modem. Also, make
  1932.        sure that the RINGBACK descriptor is set to 'N' (No).
  1933.  
  1934.  
  1935.        5.7   Garbage After Connect
  1936.  
  1937.            This problem will only be seen by the remote caller, and will
  1938.        appear as all garbage characters being received instead of the
  1939.        expected Welcome file (if used) or First Name prompt.
  1940.  
  1941.            This is probably caused by different bps rate settings
  1942.        between the TinyHost system and the remote caller. This can be
  1943.        due to the Data Rate of the modem being locked to a particular
  1944.        value by an initialization command (usually available only with
  1945.        error correcting or MNP modems). Try adding (or removing) the
  1946.        LOCK command of the BAUD descriptor.
  1947.  
  1948.            If occasional incorrect characters are received, the problem
  1949.        is probably due to a noisy phone connection between the two
  1950.        systems.
  1951.  
  1952.  
  1953.        5.8   Immediate Connect and Logoff
  1954.  
  1955.            Although difficult to describe, this is when TinyHost answers
  1956.        the phone, displays the requests for First Name, Last Name, and
  1957.        Password, then logs off without the remote user doing anything.
  1958.        The number of times each prompt is displayed can vary.
  1959.        Essentially, the remote user is never given the chance to logon.
  1960.  
  1961.            This is probably caused by an improper echo command setting
  1962.        in the Modem Init string. Command Echo must be set to off by
  1963.        using the E0 setting in the init string.
  1964.  
  1965.  
  1966.        5.9   Garbage During Logon
  1967.  
  1968.            Here, TinyHost answered the call, established communications,
  1969.        but the remote user sees occasional garbage echoed during the
  1970.        logon process, and he is not permitted access to the system.
  1971.  
  1972.            The most likely cause is the remote users communications
  1973.        package is incorrectly set. TinyHost expects the connecting
  1974.        caller to be using 8-bits, no parity, and 1 stop bit.
  1975.  
  1976.  
  1977.                                     Page 27
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.        5.10   Added Message Not Displayed
  1985.  
  1986.            This type of error usually occurs when a message is created
  1987.        off-line, using an ASCII text editor. What happens is that a
  1988.        message added via TinyHost does not appear to be added (appended)
  1989.        to the original message file.
  1990.  
  1991.            This is caused by the ASCII editor used to create the initial
  1992.        text file adding an End-Of-Text (EOT or EOF, $1A) to the file
  1993.        when it is saved. When adding a message via TinyHost, the new
  1994.        message is simply added on to the existing file. The EOT
  1995.        character is never erased or overwritten, and when it is seen
  1996.        TinyHost assumes that the entire message file has been read. This
  1997.        character can be removed from the message file using a hex
  1998.        editor, and this problem can be avoided by ensuring that the
  1999.        ASCII editor used will not add the EOT character.
  2000.  
  2001.  
  2002.        5.11   THREMOTE.BAT Not Found
  2003.  
  2004.            This error message will appear when a [S]hell-to-DOS has been
  2005.        attempted and is unsuccessful. When a [S]hell is attempted
  2006.        remotely, TinyHost looks in the current user directory for a copy
  2007.        of this batch file. When it's found it is then executed. A batch
  2008.        file of this name *must* be in any directory that a user can
  2009.        attempt a [S]hell-to-DOS from.
  2010.  
  2011.  
  2012.        5.12   TinyHost Doesn't Hangup
  2013.  
  2014.            If TinyHost doesn't hangup (disconnect) after a call is
  2015.        complete, the problem is probably due to a lack of a modem hangup
  2016.        string specification in the TINYHOST.CFG file. Refer to Section
  2017.        2.5 (Modem Requirements) for further information.
  2018.  
  2019.  
  2020.  
  2021.        6.0   MISCELLANEOUS INFORMATION
  2022.  
  2023.        6.1   What is Shareware?
  2024.  
  2025.            TinyHost is being released as Shareware, which means that you
  2026.        can try the program out *before* you buy it and make sure that it
  2027.        will do what you want. If you find it of use, you are requested
  2028.        to mail a contribution ($25 suggested) to the author to support
  2029.        the continued development of this and other products. Please send
  2030.        a check or money order (U.S. funds only) to:
  2031.  
  2032.                                 Bruce A. Krobusek
  2033.                                 5950 King Hill Drive
  2034.                                 Farmington, NY  14425
  2035.  
  2036.            For your $25 you will receive the latest registered version
  2037.        of TinyHost on either 5 1/4 (360K) or 3 1/2 (720K) media (please
  2038.        specify). The registered version of TinyHost has basically the
  2039.        same functionality as the Shareware version, but:
  2040.  
  2041.  
  2042.  
  2043.                                     Page 28
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.            *  Supports up to 100 users
  2051.            *  Includes the Screenblanker and Sound On/Off functionality
  2052.            *  Has exit delay removed
  2053.            *  Has registration reminder text removed
  2054.  
  2055.        You will also receive a registered version of the next major
  2056.        release of TinyHost, and notifications of future upgrades.
  2057.  
  2058.            A ready-to-print registration form has been included with
  2059.        TinyHost. Simply print out REGISTER.FRM using the DOS PRINT
  2060.        command, fill it out, and return it with your check or money
  2061.        order.
  2062.  
  2063.            For those interested, quantity discounts are available.
  2064.        Custom versions of TinyHost can also be created. Contact the
  2065.        author for more information.
  2066.  
  2067.  
  2068.        6.2   Distributing TinyHost
  2069.  
  2070.            Even though TinyHost is Shareware it remains a
  2071.        copyrighted program. As such, it may be freely copied and
  2072.        distributed under the following guidelines:
  2073.  
  2074.            * The author retains the sole right to sell the program
  2075.              for a profit.
  2076.            * The author grants users the right to copy and distribute
  2077.              the Shareware (Unregistered) version of TinyHost so long
  2078.              as all program and documentation files remain unaltered
  2079.              and are distributed as a group.
  2080.            * The program may not be bundled with any other hardware
  2081.              or software without the permission of the author.
  2082.            * Recognized users groups may charge a maximum of $5 for
  2083.              duplication and/or distribution of TinyHost.
  2084.  
  2085.            Registered users are requested to distribute only the
  2086.        Shareware (Unregistered) version of TinyHost. There is no major
  2087.        difference in functionality.
  2088.  
  2089.  
  2090.        6.3   License Information
  2091.  
  2092.            Unregistered users are granted a 60-day evaluation period.
  2093.        After that time, they are expected to either register TinyHost or
  2094.        cease using it.
  2095.  
  2096.            Registered users may use TinyHost on more than one machine,
  2097.        as long as there is no possibility of more than one copy being in
  2098.        use at a time. Site licenses are available.
  2099.  
  2100.  
  2101.        6.4   Warranty Information
  2102.  
  2103.            The author (Bruce A. Krobusek) disclaims all warranties
  2104.        expressed or implied as to the quality and performance of this
  2105.        program (TinyHost). The author will not be held liable for any
  2106.        lost profits, lost savings, or any other direct, indirect,
  2107.        incidental, or consequential damages resulting from the use of
  2108.  
  2109.                                     Page 29
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.        this program. Your use of this program constitutes your agreement
  2117.        to this disclaimer and your release of the author from any form
  2118.        of liability or litigation.
  2119.  
  2120.  
  2121.        6.5   Program Support
  2122.  
  2123.            Now that the legal technicalities are out of the way, let me
  2124.        state that I have done my best to ensure that TinyHost is error
  2125.        free. However, that is not to imply that one might not find
  2126.        errors that have been missed. If a problem should be found,
  2127.        contact me through one of the avenues mentioned below and I will
  2128.        do my best to correct it. Naturally, the more information that
  2129.        can be supplied as to the nature of the bug the better chance I
  2130.        will have of finding and squashing it!
  2131.  
  2132.            I am also interested in receiving any comments or suggestions
  2133.        regarding TinyHost. Although I have a few ideas for upcoming
  2134.        enhancements, I am always interested in hearing what other people
  2135.        think of TinyHost.
  2136.  
  2137.            Here are some methods that can be used in contacting me,
  2138.        starting with the most preferable:
  2139.  
  2140.            TinyHost Support BBS - (716) 924-4193  USR Courier V.32bis
  2141.                 This is my personal BBS that is running TinyHost,
  2142.                 and it is available 24 hours a day. (Unless I happen
  2143.                 to be in the process of debugging a new release.)
  2144.                 Logon as NEW USER with the password GUEST. (This
  2145.                 may change as TinyHost Plus grows. Read the opening
  2146.                 screen for the latest logon and version info.)
  2147.  
  2148.            Intelec Network - This is a national BBS network
  2149.                 There are nodes all over the U.S. and Canada,
  2150.                 with a few starting to appear in other nations.
  2151.                 I will monitor the Communications and Shareware
  2152.                 conferences for any messages addressed to me.
  2153.                 The latest Intelec node (BBS) list has been
  2154.                 included as IN-NODE.LST. There is probably a BBS
  2155.                 that carries Intelec near you.
  2156.  
  2157.            CompuServe Informational Services - My account number
  2158.                 is 74106,1335. I usually logon daily.
  2159.  
  2160.            Internet - via CompuServe:
  2161.                         74106.1335@compuserve.com
  2162.  
  2163.            Micro Science BBS - (716) 594-1804  USR Dual Standard /
  2164.                 V.32bis. This Bulletin Board is located in
  2165.                 Rochester, NY, and is run by Larry Helber. The
  2166.                 latest version of TinyHost will always be available
  2167.                 as a free download. Do a file search (Z) and scan
  2168.                 for TINYHOST, or download THOST*.ZIP. There is also
  2169.                 a TinyHost support conference where messages can be
  2170.                 left and received. No BBS registration is required
  2171.                 for TinyHost download or support.
  2172.  
  2173.  
  2174.  
  2175.                                     Page 30
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.            Home Address - 5950 King Hill Drive
  2183.                           Farmington, NY  14425
  2184.  
  2185.  
  2186.        6.6   New User Logons
  2187.  
  2188.            Although TinyHost does not permit a new user to register,
  2189.        there is a way to permit new users to logon. To do this, a user
  2190.        account can be created, with a password, and this information can
  2191.        be displayed as part of the TinyHost Welcome screen. For
  2192.        instance, an account could be created with the name New User, the
  2193.        password GUEST, and a security level of 0 (zero). A message could
  2194.        be left as part of the TINYHOST.WEL screen stating that new users
  2195.        should use this account to logon. These users would then be able
  2196.        to access the files in the Start-Up directory, read Public mail,
  2197.        and could leave any type of mail message. If the security levels
  2198.        were set properly (the settings in the included TINYHOST.CFG file
  2199.        would be fine), then the new user would not be able to do
  2200.        anything else. This would be an easy way of leaving the TinyHost
  2201.        system partially accessible to, for instance, the customers of a
  2202.        company.
  2203.  
  2204.  
  2205.        6.7   Message File Format
  2206.  
  2207.            The TinyHost message files are standard ASCII text files.
  2208.        Each file has the extension ".TH". Files for Personal mail
  2209.        consist of filename made up of the user's first and last names.
  2210.        The user's first name is used, with characters from the last name
  2211.        being added to pad the filename for up to 8 characters (the DOS
  2212.        limit). For instance, if the user's name is Joe Fabeets, then his
  2213.        personal mail file will have the filename JOEFABEE.TH. Public
  2214.        mail is stored in PUBLIC.TH; SysOp Comments are stored in
  2215.        COMMENTS.TH.
  2216.  
  2217.            Although TinyHost limits message input to 70 characters per
  2218.        line and 20 lines, this is strictly a program limit. A message
  2219.        file created off-line does not have to adhere to these
  2220.        restrictions (although it is suggested that line length be kept
  2221.        under 80 characters). When creating a message off-line, each line
  2222.        should be terminated in a carriage return / line feed pair. The
  2223.        end of the message should be marked with a period ('.') in the
  2224.        first column of the terminating line, followed again by a
  2225.        carriage return / line feed. This terminating period is not
  2226.        displayed to the reader, but is used by TinyHost to determine the
  2227.        end of the message.
  2228.  
  2229.            By editing the Public Message file offline, the SysOp is able
  2230.        to keep desired messages in the file while leaving room for new
  2231.        messages.
  2232.  
  2233.            It is important to note that the text editor used should
  2234.        *not* add an End-of Text character (EOT or EOF, $1A) to the
  2235.        message file. If it does then messages entered from within
  2236.        TinyHost will not be added to that file.
  2237.  
  2238.  
  2239.  
  2240.  
  2241.                                     Page 31
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.        6.8   Logging User Activity
  2249.  
  2250.            When the LOG feature is enable, TinyHost will keep track of
  2251.        user activity in a text file called TINYHOST.LOG. This file will
  2252.        be stored in the execution directory (with THOSTxxx.EXE, the
  2253.        config file, etc.). Monitored activity includes all user logins
  2254.        (including failures and wrong passwords), all files uploaded and
  2255.        downloaded, and the times of logon and logoff. While the call is
  2256.        in progress, information is stored in a file called TINYHOST.TMP.
  2257.        After the user has logged off, this file is copied to the normal
  2258.        log file. The file format is such that the most recent activity
  2259.        is available at the beginning of the file.
  2260.  
  2261.  
  2262.        6.9   SysOp Specific Notes
  2263.  
  2264.            TinyHost offers some additional security protection that is
  2265.        invisible to the SysOp. The TINYHOST.CFG, TINYHOST.LOG, and
  2266.        THREMOTE.BAT files cannot be [T]yped or [D]ownloaded by users
  2267.        with security levels less than that set by the SYSOP descriptor.
  2268.        This adds some system protection in case a remote user gains
  2269.        unexpected access to the directory containing those files.
  2270.  
  2271.  
  2272.        6.10   Using TinyHost with DesqView
  2273.  
  2274.            The author has had great success using TinyHost within a
  2275.        DesqView window. Although the normal memory requirements are 150K
  2276.        or so, more should be made available depending upon the TinyHost
  2277.        features used. External protocols, another copy of COMMAND.COM
  2278.        (when shelling to DOS), etc. all take up extra memory. Adjust the
  2279.        DV memory allocation accordingly.
  2280.  
  2281.            Also, when trying to shell to DOS from within a DV window, it
  2282.        may be necessary to set the "Manage Printer Contention" option to
  2283.        YES. I have no idea why - but it works.
  2284.  
  2285.  
  2286.        6.11   Known Program Limits
  2287.  
  2288.            A few areas exist where there are some known limitations:
  2289.  
  2290.            First, I am somewhat confused as to the flexibility of
  2291.        1K-XModem file transfers. The implementation within TinyHost
  2292.        supports both CRC and checksum error detection, yet in the
  2293.        testing that I have done I have never been able to implement a
  2294.        1K-XModem checksum file transfer because the communications
  2295.        package I was using did not support it. As TinyHost is currently
  2296.        implemented it will attempt to start a CRC upload, and will retry
  2297.        for a total of 30 seconds. If the upload does not begin in that
  2298.        time it will fall back to attempting a checksum upload. However,
  2299.        after TinyHost falls back to checksum it will not return to a CRC
  2300.        mode of transfer. The upshot of all of this is that if it takes
  2301.        more than 30 seconds to initiate a 1K-XModem upload using CRC
  2302.        error checking then errors will occur and the upload will never
  2303.        begin (assuming that your communications package does not support
  2304.        1K checksum). If this happens simply abort the upload and begin
  2305.        again.
  2306.  
  2307.                                     Page 32
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.            Secondly, file transfer errors have been observed when using
  2315.        the 1K-XModem protocol at 1200 bps with Windows 3.0 and having
  2316.        TinyHost running as a background task. The host machine was a
  2317.        16MHz 386SX with 4Mb of RAM. These errors have *not* been seen
  2318.        running TinyHost within DesqView at rates of up to 2400 bps. It
  2319.        is entirely possible that by judicious time-slice selection
  2320.        within Windows that this problem could be eliminated.
  2321.  
  2322.  
  2323.        6.12  TinyHost Plus
  2324.  
  2325.            An extended version of TinyHost (called TinyHost Plus) is now
  2326.        available. TinyHost Plus has been created to permit adding many
  2327.        advanced features that may be of interest, yet keep the original
  2328.        TinyHost program the way it is - small and simple. This is not to
  2329.        say that TinyHost will not be improved - just that it will not be
  2330.        burdened with specialty functions.
  2331.  
  2332.            TinyHost Plus (V1.10) presently has the following additional
  2333.        features:
  2334.  
  2335.            *  The ability to dial another TinyHost/Plus system and
  2336.               transfer up to 20 files (registered version; 5 Shareware),
  2337.               all at a preset time, without operator assistance
  2338.  
  2339.            *  A Personal Directory option, where users of a specified
  2340.               security level get their own directory that only they and
  2341.               the SysOp can access remotely
  2342.  
  2343.            *  Call statistics since program execution or SysOp reset.
  2344.               Number of calls (not counting the SysOp), number of
  2345.               uploads and downloads, and number of [C]omments left are
  2346.               displayed locally or available remotely. (Registered
  2347.               version only.)
  2348.  
  2349.        TinyHost Plus has also been released as Shareware, and is
  2350.        available on the author's TinyHost Support BBS, CompuServe
  2351.        (IBMBBS), and Micro Science BBS.
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.                                     Page 33
  2374.  
  2375.