SYNOPSIS
gtalkd [ -bfghsStv --version ]DESCRIPTION
gtalkd is a talk daemon which is fully compatible with ntalkd which is the BSD talk daemon. gtalkd provides a talk service via the internet. A user may use a talk client to send a UDP message to gtalkd which will then provide the services of storing invitations, and making announcements to a user's terminal.Command line switches are:
- -b, --bsd
- Emulate the BSD post 4.2 talk protocol by not accepting any GNU talk protocol extensions.
- -f, --forever
- Open a socket and loop on it forever. Unlike running under inetd during which stdin and stdout provides the socket necessary for communication, this option lets the talk daemon run as a separate self supporting process.
- -g, --gnu
- Run using the GNU talk protocol extensions. This is the default.
- -h, --help
- Print process help.
- -s, --sun
- Simulate the pre BSD 4.2 talk protocol which is commonly found on SunOS and Solaris.
- -S, --sunforward
- This option is run as an extended option for the --sun option. Instead of acting as a daemon and answering requests, all requests are sent to the n/gtalk daemon on the same machine. Answers are received and forwarded back the the requester.
- -t, --tty
- Send all error and verbose messages to the controlling TTY. In addition, create and bind the correct socket by hand instead of inheriting it through stdin and stdout.
- -v, --verbose
- Print out verbose information, or verbose syslog information.
- --version
- Print out the current version of gtalkd.
INSTALLATION
The GNU talk daemon can be placed in a system bin such as /usr/sbin or /usr/local/sbin and then installed in the inetd.conf file in place of the normal talk daemon which may be found there. The resulting configuration in inetd.conf should contain the following lines:talk dgram udp wait root /usr/sbin/tcpd /sbin/gtalkd -Ss
ntalk dgram udp wait root /usr/sbin/tcpd /sbin/gtalkd
In addition, if you are installing on SunOS or Solaris, you will have to make it aware of the ntalk service. This service is found in /etc/services. Simply find the line which says:
talk 517/udp
and add the line
ntalk 518/udp
right after it.
FILES
- /etc/inetd.conf
- Contains definitions for the Internet Super Server to start gtalkd.
- /etc/services
- This file contains information relating names socket/service information to names. It is used to determine the "[n]talk" socket used when in forever mode.
- /etc/passwd
- Accessing /etc/passwd in the usual way allows gtalkd to determine a users home directory to read their personal ringer file. The ringer file allows gtalkd to forward announcements directly to an interested process.
- ~/.ringer
- Different individuals may start applications which create and manage this file. The file contains a UDP socket definition which allows gtalkd to automatically pass the announcement information directly to a process which cares.
- ~/.talkfilter
- This is read by gtalkd to determine of a pattern matches an incomming call for the callee. If it does, then the requested response is returned. A pattern is of the form
-
username@hostname DENY_METHOD - The username is a string which must match the incomming caller's id exactly. The hostname can be a substring of the caller's host name to match. One of username or hostname can be blank, which conflicts defaulting first to username only matches, and then to complete username,hostname combinations.
- Valid DENY_METHODS are ALLOW , which allows a pattern to announce to you, and NOT_HERE , which cause gtalkd to predent you are not logged on. In addition, FAILED sends a failure message, and PERMISSION_DENIED pretends that you have permissions turned off on your tty. Lastly, SELECTIVE_REFUSAL means to send a specific message back saying that you have chosen to specifically prevent that person from calling you. If their client is not GTALK compliant, then it is downgraded to PERMISSION_DENIED
- /etc/utmp, /var/adm/utmp
- Different locations of utmp which contain login information for different users. This file is referenced to determine which TTY device to open in order to write an announcement message.
- /dev/tty*
- Terminal devices users are attached to. These devices are opened in order to write an announcement message.