The MSG system

The msg system is a collection of programs for the UNIX operating system that implements an instant messaging tool.  I wrote this as a learning excercise, to better understand threads and sockets and have found it to be a reasonably useful system.  Most of the source code is written in C++, with one program in Perl/Tk and one in the Bourne shell.

The system consists of 6 programs:

  1. msg_server  This program provides a name server.  Required information about each registered user is stored in this server.
  2. msgd  This is a daemon program that manages each user's access into the system.  The daemon receives each message and displays it in a window, as well as logging it in a text file.
  3. msg_locate  This program queries the name server for information about registered users.
  4. msg  This program does the work of delivering a message.  A copy of the message will be delivered to the sender's daemon as well, marked as a copy.  This allows the user to follow both sides of a conversation.
  5. xmsg  This program is an Xwindow interface to the msg program, providing facilities for spell checking, user id aliases, and distribution to multiple recipients.  The program also provides a convenient display of the log file.
  6. msg_autoreply Added in release 1.1, this program allows a user to tell his/her daemon to send an automatic reply to all incoming messages.  The -set option (followed by some string) sets the daemon to autoreply mode with this string as the automatic reply, the -unset option returns the daemon to normal mode.  When in autoreply mode, messages are received and displayed by the daemon normally.
System requirements: You may download the source code free of charge.  I only ask that if you do, please let me know.  It's nice to know that others are using it.  If you have any suggestions for improvements, please forward them on to me.
 
 
Currently available releases of the msg package
1.0
original release
1.1
Many improvements in the internals, especially the mutex.  Added an autoreply mechanism for msgd, set by the msg_autoreply program.
1.1.1
Fixed some bugs in the autoreply system.
1