home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / t / th300.zip / TINYHOST.DOC < prev    next >
Text File  |  1992-09-29  |  85KB  |  2,045 lines

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