home *** CD-ROM | disk | FTP | other *** search
- ------------------------------------------------------------------------
- Talk Version 1.2 11. Jan 1994
- ------------------------------------------------------------------------
-
- This is a simple talk client/server for MS-DOS. Talk's main features
- are:
-
- o Talk from PC to Unix host or to another PC running talk
- o Wait for incoming invitations
- o Answer mode to reply to talk requests while you are absent.
- o Two display modes, single screen and split screen (like Unix talk)
- o Define aliases for frequently used addresses
- o Log talk sessions to a file
-
- Talk is built upon the WATTCP library and runs directly over a packet
- driver. It is a standalone application and does not run simultaneously
- with most other tcp/ip software like NCSA, CUTCP, and Trumpet WinSock.
- It runs, reportedly, together with IPX (using IPXPKT).
-
- The program (executable and source code) is provided under the terms
- of the GNU General Public License. It may be used and distributed
- freely. There is absolutely NO WARRANTY. See the file COPYING for
- details.
-
- Comments, suggestions, improvements are welcome.
-
- Michael Ringe
- Institut fuer Theoretische Physik
- RWTH Aachen, Germany
- michael@thphys.physik.rwth-aachen.de
-
-
- ------------------------------------------------------------------------
- CHANGES FROM PREVIOUS VERSIONS
- ------------------------------------------------------------------------
-
- Version 1.2
- -----------
- o Improved error and time out checks
- o Fixed debugging code
- o Allow environment variables in wattcp.cfg
- o Added auto answer mode
- o Added log file
-
-
- Version 1.1
- -----------
- o Added edit keys (erase char, erase word, kill line)
- o Added aliases
- o Added help screen
- o Display the current time in the status line
- o Allow different color sets in WATTCP.CFG for single window and
- split screen mode
- o Alt-S toggles between single window and split screen mode
-
-
- Version 1.0
- -----------
- o Initial version
-
-
- ------------------------------------------------------------------------
- INSTALLATION
- ------------------------------------------------------------------------
-
- To run talk you need two files:
-
- talk.exe - The executable file
- wattcp.cfg - The configuration file for the WATTCP library.
-
- Wattcp.cfg may reside in the current directory, in the same directory as
- talk.exe, or in the directory specified by the environment variable
- WATTCP.CFG. If you don't use any other WATTCP applications, edit the
- wattcp.cfg which comes with talk and fill in the necessary information.
- If you already have a wattcp.cfg, you should use that. In this case you
- may want to add some entries.
-
- Refer to the CONFIGURATION section below for more details about
- wattcp.cfg settings.
-
-
- ------------------------------------------------------------------------
- USAGE
- ------------------------------------------------------------------------
-
- There are three ways of starting talk:
-
- 1) To begin a talk session with another user, enter
-
- talk [-l] <User>@<Host>
- or
- talk [-l] <Alias>
-
- where <Alias> is an alias name defined in wattcp.cfg (see
- CONFIGURATION below). If the user is logged in, talk will print
- a message and wait for the remote user to reply. <Host> may be a
- domain name or an IP address.
-
- -l enables the log file (se below).
-
- 2) If invoked without arguments, talk waits for incoming talk requests.
- Any invitation will be accepted regardless of user and terminal
- name. Since there is not much you can do with your PC while talk is
- waiting, this option is not very useful under MS-DOS.
-
- 3) Starting talk with
-
- talk -a
-
- makes talk operate as an answering machine. Talk will ask you for
- a message which will be presented to any user who tries to talk
- to your PC. The message can be up to 10 lines long. A line
- containing a single dot in the first column ends the message.
- To use the default message, just press enter on the first line.
-
- Otherwise, talk runs as under 2) with two differences:
- - the log file (see below) is automatically enabled,
- - talk does not exit after a connection is closed, but waits
- for the next invitation.
-
- During a talk session, you may press ESC to close the connection, or
- F1 to display a help screen.
-
- Alt-S switches between the two display modes, single window and split
- screen. In split screen mode local and remote text is displayed in
- separate windows, as in the Unix talk. In single window mode all text
- is written into one window.
-
- The talk protocol defines three edit keys which can be used during a
- talk session:
-
- Edit key Corresponding PC key(s) Meaning
- -------- ------------------------- --------------------------
- ERASE Del, BS, Left Delete the last character
- WERASE Ctrl-W, Ctrl-Left Delete the last word
- KILL Ctrl-U Clear the current line
-
- Note that these edit keys may have strange effects in single window
- mode, because they do not distinguish between local and remote text.
-
- Pressing Alt-L toggles the log file. When the log file is enabled, an
- `L' appears in the status line and the text on the screen is logged into
- a file. The log file name is `talk.log' by default but may be changed to
- any name (see CONFIGURATION below).
-
-
- ------------------------------------------------------------------------
- CONFIGURATION
- ------------------------------------------------------------------------
-
- Talk recognizes the following entries in wattcp.cfg:
-
- talk_localuser="PC-User"
- Sets your local username. If you talk to another user, he/she
- will be notified with a message containig this name. This
- setting has no effect if the talk was initiated by the remote
- user, because talk will always assume the requested user id.
-
- talk_screenmode="split"
- Sets the initial display mode. "split" selects split screen
- mode, any other value selects single window mode (default).
-
- talk_colors=LLRRSSllrr[,LLRRSSllrr]
- Screen colors. The value must consist of exactly 5 hex numbers
- (2 digits each), specifying the screen attributes for local
- window (LL), remote window (RR), status line (SS), local name
- on status line (ll) and remote name on status line (rr).
-
- You may specify a second color set, which must be in the same
- format and separated by exactly one character from the first
- set. In this case, the first set applies to single window mode,
- while the second set is used in split screen mode.
-
- talk_alias="alias:user@host"
- This defines an alias for user@host. With this definition,
- `talk alias' becomes equivalent to `talk user@host'. You may
- specify an arbitrary number of aliases.
-
- talk_logfile="talk.log"
- Specifies the name of the log file. Default is `talk.log'.
-
- talk_message="%s is not here. Try again later, or leave a message."
- Sets the default message for auto answer (-a) mode. This option
- can be repeated to allow multiple line messages (up to 10
- lines). `%s' may ocur once on each line and will be replaced by
- the local user name.
-
- Talk can read any of the above parameters from an environment variable.
- If the value specified in wattcp.cfg starts with a `$', the rest of the
- argument is interpreted as an environment variable name and the value is
- read from this variable. This may be useful when there is only one
- wattcp.cfg shared by many users. Note that the above mechanism applies
- ONLY to the settings listed above, not to the other definitions in
- wattcp.cfg. Note also that there is an include statement for wattcp.cfg
- which allows to include user-specific configuration files.
-
-
- ------------------------------------------------------------------------
- MESSAGES
- ------------------------------------------------------------------------
-
- Here is a short explanation of some messages you may get from talk:
-
- Your party is not logged on
- The person you want to talk to is currently not logged on, or
- does not exist on the specified machine. Check if you spelled
- the user name correctly.
-
- Your party is refusing messages
- The person you want to talk to has disabled messages. To be able
- to receive talk requests, messages must be enabled. On most Unix
- systems this is done with the command `mesg y'.
-
- Target machine does not recognize us
- The talk daemon on the target machine was not able to map your
- PC's IP address to a host name. Your PC is probably not
- registered in the official nameserver for your domain.
-
- Target machine is too confused to talk with us
- The remote talk daemon failed to process our request for some
- unspecified reason. This error may also occur if the network
- connection is very bad.
-
- ICMP: Port Unreachable
- The target machine has disabled talk or it runs an old version
- of the talk protocol.
-
- No response from target host, giving up
- The remote talk daemon does not respond to your request. This
- may be caused by bad network connections.
-
- Error: Cannot open connection.
- This is a either a network problem (try to connect to the same
- host via ftp or telnet), or your PC is incorrectly configured
- (check your wattcp.cfg settings).
-
-
- ------------------------------------------------------------------------
- KNOWN BUGS/RESTRICTIONS
- ------------------------------------------------------------------------
-
- o Supports only the new version of the talk protocol, using port 518
- (vs. 517 in old versions). You will not be able to talk to a machine
- running an old implementation of talk (many SUNs still do).
-
- o Talk is not a real talk daemon because it does not run in the
- background. There should be a small TSR programm looking for
- incoming invitations.
-
- o The remote host, if it is a Unix machine, must know about your PC's
- name. The remote talkd will try to map your IP address to a domain
- name and refuse to process your request if this fails. If you get the
- message "Target machine does not recognize us", contact your local
- network administrator to have your PC registered on an official name
- server.
-
- o Only 80x25 video mode supported.
-
- o Talk is a standalone application and does not coexist with most other
- networking software. There is no support for other protocol stacks
- like Winsock or PC/TCP.
-
- o Talk should display the remote host name instead of its IP address.
- Any volunteers for writing gethostbyaddr()?
-
- o No possibility to talk to a specific tty if a user is logged in on
- more than one terminal.
-
- o Should ring again if the remote user does not respond.
-
-
- ------------------------------------------------------------------------
- COMPILING
- ------------------------------------------------------------------------
-
- In order to build talk from the source code you need the WATTCP library,
- which is available via anonymous ftp from dorm.rutgers.edu. Place talk.c
- into the `apps' directory or into a separate directory so that
- #include "..\include\tcp.h" works.
-
- The distributed executable was compiled with Borland C++ 3.1 and linked
- with the small model library (WATTCPSM.LIB).
-
- *** IMPORTANT NOTE ***
- In order to compile correctly with BC 3.1, the file pctcp.c requires a
- patch. Change line 946 in function udp_handler() from
-
- s->myaddr = intel( ip->destination );
- to
- s->myaddr = temp;
-
- Otherwise, talk will not work! This note applies to the wattcp
- library which is currently available at dorm.rutgers.edu:
-
- 135887 Sep 30 14:27 wattcp.zip
-
-