9. HOST MODE

Telix allows you to set up your computer as a remote host, so that others may call your system and perform operations like transferring files and chatting. In short it is like having a small BBS on your system, without all the setup work.Telix provides two such hostmodes, both implemented in Telix's powerful SALT script language.

QDHOST is a 'Quick and Dirty' host mode containing the basic features of a remote host, including password security and remote shells to DOS. A more powerful host, HOSTPLUS, is also provided, offering the functionality of a full-featured BBS with multiple message bases and file areas, multiple security levels and individual password security and user levels. The operation of HOSTPLUS is described in HOSTPLUS.DOC, or in a separate section of the printed documentation.

There are a few requirements to running Host Mode. Your modem must be able to pick up the phone when it rings. Your modem must not be set to override (always keep on) the Carrier Detect signal it supplies, so that Telix can tell when it is connected to a caller. Telix must also be able to hang up the modem by dropping (turning off) the DTR line on the RS-232 port. If one of these requirements is not met you probably cannot run QDHost.

To run the QDHOST script, press Alt-G while in Terminal mode, and then enter 'QDHOST' as the script file name. The script 'QDHOST' will then be run. Several Host Mode configuration settings are kept in a file called 'QDHOST.CNF'. The first time you run the Host Mode script, it will not find this file, and automatically run the host Mode configu- ration script 'QDCONFIG', which will created the needed file and allow you to change the default values. At any time in the future, you should run QDCONFIG when you need to configure the Host Mode. QDCONFIG will present you with the following parameters:

A Level One Access Password The password that callers must successfully enter to be admitted to the Host Mode and have Level One access. Level one access allows only files contained in the specified QDCONFIG download directory to be downloaded. B Level Two Access Password This is the password that callers must successfully enter to be admitted to QDHOST and have Level Two (Sysop) access. Level two access allows the caller to download any file on the system by giving the path. C DOS Shell Password This is the password that users of QDHOST have to enter to use the Remote DOS Shell option. D Shut Down Host Mode Password This is the password that callers must enter to shut down QDHOST, when they press Ctrl-Z. E Host Download Directory Level 1 access callers will only be able to download (have Telix send them) files that are in this directory. As well, the 'F'iles command will show them only the contents of this directory. Do not under any circumstances define this directory to the same name as the directory you run Telix in. If you did that, callers could download the QDHOST configuration file, which is stored there, and see your passwords. Level 2 access callers may specify any download path, but this is the default. F Host Upload Directory Level 1 access callers will only be able to upload (send to Telix) files into this directory. Level 2 access callers can specify any path, but files will go here by default. G Connection Type This can be either 'Modem' or 'Direct'. Use 'Modem' if your host system is being accessed through a modem, or 'Direct' if two computers are hard-wired. This stops Telix from trying to ini- tialize a non-existent modem. or trying to determine the caller's baud. H Locked Modem Rate For error correcting modems, QDHOST needs to know if the DTE rate (the speed Telix communicates with your modem) is constant from call to call, no matter what speed the user calls in at. Set this value to the fixed DTE rate (usually 9600 for 2400MNP modems, and 19,200 or 38,400 for 9600+ baud modems). If your modem is not er- ror correcting or you are unsure what the value should be, set this value to zero.

There is one other important parameter which must be properly set for QDHOST operation. This is the Auto Answer string, which is defined in the 'Modem and dialing' page of the Configuration Menu. This string is sent to the modem when Telix enters QDHOST, and should make the modem able to pick up the phone when it rings. The default string is set up for Hayes compatible modems. It is: AT X1 S0=1^M where AT is the modem attention code. X1 tells the modem to reply with extended result codes. This means the modem indicates the caller's baud rate. S0=1 tells the modem to answer after one ring. ^M sends the terminating Carriage Return character.

There are two optional text files which are displayed to callers if they exist, called LOGO.MSG, and WELCOME.MSG. They are described be- low.

Once QDHOST has been configured, it can actually be run. Telix will make a note in the QDHOST audit file QDHOST.LOG and then will imme- diately send the Host Mode init string to the modem. Telix then waits for a caller. While in QDHOST on the local side, the user can always press Esc to exit Host Mode, or End to terminate the current caller. He can also enter commands for the remote caller, so that a novice caller can be helped along by the host operator. Also, at any time, the current caller will be automatically terminated if there is inac- tivity for five minutes, or the connection is lost. This is all noted in the host audit file. If the caller has only access level one, ref- erences to other disk directories than the ones defined in QDCONFIG are ignored, and all operations take place in those directories. As well, Telix protects your files from being accidentally overwritten by the caller.

When the Carrier Detect signal turns on Telix knows a caller is on- line. At this point Telix will try to determine the caller's baud rate. Most Hayes compatible modems can be initialized to send the string 'CONNECT baud' where baud is the baud rate of the caller, when they sense a connection. If Telix sees this string it will switch to the appropriate baud. If this string is not received within a few sec- onds of the connection, Telix will leave the baud rate at whatever it was. Also, it should be mentioned that Telix can not determine the caller's other settings like parity, data bits, and stop bits. These must already be matching Telix's settings.

At this point, if the file LOGO.MSG exists in the Telix directory, it is displayed to the caller. It should basically identify the system. Then Telix will ask the caller for his/her name. The name must be at least five letters long and is only used when indicating the caller in the Host Mode audit file. If a password has been defined Telix will ask the caller for it. The caller has three tries to complete the password. All password attempts, successful or failed, are written to the Host audit file. If the caller enters the Level One access pass- word, he may manipulate only the disk directories defined in QDCONFIG. Any other directories can not be accessed. If he enters the Level Two access password, the caller may use full pathnames in all file speci- fications. The level 2 password should only be kept for yourself or those you completely trust, as a Level 2 caller can access any files on your system.

If there is a file called WELCOME.MSG in the Telix directory, it is then shown to the caller. This file can contain further identification or news, that you only want valid callers to see. After each 23 lines the caller is prompted to press any key to continue. As well, the caller may press Ctrl-S to pause at any time, and Ctrl-C or Ctrl-K to abort the listing. After the WELCOME.MSG file is displayed the caller is presented with a menu of options: Files Type Upload Download Shell Chat Goodbye ? The action to be taken is selected by entering its first letter. Case does not matter. As mentioned already, the host operator is free to enter any keystrokes for the caller.

The Files option allows the caller to list the files in the current disk directory. The caller must press a key after each screen. The output is not echoed on the local screen. If the caller has access level two s/he is prompted for a filespec, which may include the * and ? wildcard characters (see your DOS manual), so that the contents of other directories than the 'Host download dir' may be listed.

The Type option allows the caller to view any ASCII file in the Host Download Directory, or in any directory for access Level 2 callers. The same format and commands are available during this command as for the displaying of the optional message file WELCOME.MSG.

The Upload option allows the caller to send a file to the host. The caller is shown the following menu (here slightly compressed so it could fit): Modem7 SEAlink Xmodem 1k-Xmodem G-1k-Xmodem Ymodem Ymodem-g Which protocol? and should select the appropriate protocol by its first letter (or 'E' for Ymodem-g). If appropriate the caller is also asked for the file- name. The transfer is then initiated. Level 1 callers may only upload files into the 'Host Upload Directory' defined with QDCONFIG.

The Download command allows a caller to receive a file from the host. The caller must select the protocol as described above, and then must tell Telix the file(s) to send. The transfer is then initiated. Level 1 access callers may only download files from the 'Host Download Di- rectory' defined with QDCONFIG.

The Shell command is a very powerful but also very dangerous command. It allows the caller to run a DOS shell on your system, except that the caller receives the output, and the caller enters the keystrokes. This command is basically similar to entering 'CTTY COMx' at the DOS prompt. The remote side has complete control of your system. This is obviously very dangerous, as the caller can format disks, delete files, or perform any other operation. To provide security, a password must be entered to use the remote DOS shell. Be very careful of whom you give this password to, as they can do anything they want with your system. As well, don't leave it at the default that Telix comes with. There are a few limitations in the remote DOS shell. The caller will see program output only if the programs use standard DOS output.

Programs that write directly to the video screen will work, but will not be seen by the remote caller. As well, programs that use non-DOS meth- ods of getting keystrokes will not receive the callers keystrokes. Fi- nally, under some systems, if the caller presses Backspace at the DOS prompt when the current line is empty, DOS will hang on the Host ma- chine. As these are functions of DOS, there is nothing that can be done about these limitations.

A potentially powerful feature of the shell function is the ability to override the use of CTTY and use your own redirector, such as Dudley Marshall's DOORWAY.EXE. Do not confuse DOORWAY.EXE with Telix's DOORWAY mode. If the file RSHELL.BAT exists in the same as QDHOST.SLC, QDHost will run that batch file instead of using CTTY, and return to QDHOST when it is complete. DOORWAY.EXE is an excellent alternative to CTTY when both users need to see the screen, or when programs that write directly to the screen (such as Word Perfect) must be run from remote. The following is a sample RSHELL.BAT for use with the Doorway program: DOORWAY com1 /M:100 /O: /V:D^U /C:DOS

Note that the com port must specified by number in the batch file. However, CTTY only supports COM1 and COM2, while Doorway can support up to COM4. If you receive the message that you cannot shell due to DOS limitations, DOORWAY.EXE can be used as an alternative. The latest version of DOORWAY including complete DOORWAY.EXE documentation is available on the Telix support BBS.

The Chat command allows the caller to chat with the host operator. When the caller presses 'C' the host operator is paged for 20 seconds. Press the Space bar to chat with the caller, or any other key not to. Accepting the chat will place you in Chat Mode, exactly as if you had used the Alt-Y command. The caller's keystrokes are echoed back to him/her however, so that he/she can see them.

Finally, the Goodbye command allows the caller to log off the host. An entry noting the time and date is made in the host audit file, and Telix then waits for a new caller.

The caller may also use one other command that is not displayed in the menu. This is to shut down QDHost Mode. If the caller presses Ctrl-Z and successfully enters the shut down Host password defined in the Configuration Menu, the QDHost Mode is shut down and Telix returns to whatever it was doing before QDHost was initiated.

[TABLE OF CONTENTS ]


This document was prepared by Alexandros Belsis