$Log$
+Revision 1.429 1999/12/13 05:30:57 ajc
+* Removed our naive 'conv_date()' RFC822-to-unixtime conversion function
+ and replaced it with the public domain 'parsedate()' function from UseNet
+
+Revision 1.428 1999/12/10 23:58:25 ajc
+* internet_addressing.c: added. (Internet address to Citadel mapping)
+
+Revision 1.427 1999/12/10 21:34:19 ajc
+* serv_smtp: implemented RFC821 "VRFY" and "EXPN" commands
+
+Revision 1.426 1999/12/09 05:01:14 ajc
+* Split cmd_user() and cmd_pass() into frontend/backend functions
+* serv_smtp: implemented AUTH LOGIN for client authentication
+
+Revision 1.425 1999/12/09 00:22:58 ajc
+* Finished the "arbitrary service" registration.
+* Eliminated "special" master socket for Citadel protocol - just register it
+ like any other protocol.
+* Began initial implementation of native SMTP service.
+
+Revision 1.424 1999/12/08 18:09:10 ajc
+* Added CtdlRegisterServiceHook() and its data type, for implementing arbitrary
+ TCP-based services directly in the Citadel server. Not finished yet.
+
+Revision 1.423 1999/11/29 17:39:07 nbryant
+* citserver.c: Solaris lacks inet_aton; use inet_addr instead
+
+Revision 1.422 1999/11/29 17:26:15 nbryant
+* citserver.c: include <sys/types.h>; may help portability to Solaris
+
+Revision 1.421 1999/11/22 00:27:42 ajc
+* Added some temporary variables to OpenCmdResult(). Hopefully fixes
+ bug #14 when running on FreeBSD.
+
+Revision 1.420 1999/11/21 18:30:16 ajc
+* Protected cmd_move() from buffer overrun (no longer crashes the server)
+* cmd_chat() -- truncate input at 100 characters to prevent buffer overruns.
+ Also handle broken client sockets properly. (Thanks to DME for bug report)
+
+Revision 1.419 1999/11/19 01:57:40 ajc
+* Fixed a *serious* memory leak in the database function wrappers.
+* Updated version number to 5.60 -- run setup when installing this version.
+
+Revision 1.418 1999/11/18 03:29:20 ajc
+* Changed the order of parameters in <.A>ide <S>ystem config into a more
+ logical grouping.
+
+Revision 1.417 1999/11/18 02:31:50 ajc
+* Updated some of the documentation
+* Brought the internal version number up to 5.60
+
+Revision 1.416 1999/11/17 04:15:05 ajc
+* Removed the session_count() function. Instead, keep a reference count
+ updated when sessions begin and end.
+* Replaced fixed number of worker threads with lower and upper limits; current
+ code now tries to make thread count == session count, within these limits
+
+Revision 1.415 1999/11/15 03:17:39 ajc
+* Put lockfile in /tmp instead of in /var/lock. The latter is not guaranteed
+ to exist, nor is it guaranteed to be writable by BBSUID
+ (Resolves bug #11 from the Bugzilla repository)
+
+Revision 1.414 1999/11/15 03:07:24 ajc
+* Fixed the network-wide vCard purge logic so that it (1) actually works,
+ and (2) forces a netproc run immediately when a purge is entered
+
+Revision 1.413 1999/11/09 21:20:44 nbryant
+* configure.in: include <sys/types.h> when doing checks which require <utmp.h>
+ (should fix Bug #10 on FreeBSD)
+
+Revision 1.412 1999/11/05 03:53:47 ajc
+* Issue 'cancel' messages for vCard when a user is deleted.
+* Try to delete 'cancel' messages locally after they've been distributed.
+
+Revision 1.411 1999/11/03 04:01:20 ajc
+* Fixed buffer overrun problems in cmd_rchg(), cmd_hchg(), and cmd_uchg()
+* Removed my email address as the feedback content from the docs; replaced
+ it with a reference to the Citadel/UX web site.
+
+Revision 1.410 1999/11/02 19:51:23 ajc
+* Fixed timeout problem for remote client sessions (all timeouts were set to
+ 1 second ... probably a temporary hack that was missed in the cleanup)
+
+Revision 1.409 1999/11/02 03:03:27 ajc
+* Several fixes to msgbase.c and netproc.c to prevent corrupted incoming
+ network traffic from crashing the server. Reject bad messages.
+
+Revision 1.408 1999/11/01 04:21:34 ajc
+* Fixed a concurrency bug which crashed the server when multiple sessions
+ terminated simultaneously.
+
+Revision 1.407 1999/11/01 00:54:02 ajc
+* CtdlFetchMessage() - generate a "<no text>" message body if there's none
+ on disk. Too much stuff goes haywire if there's no M field.
+
+Revision 1.406 1999/10/31 18:17:17 ajc
+* Fixed buffer overrun in cmd_rchg()
+* Call master_cleanup() when time_to_die==1 for proper shutdown
+
+Revision 1.405 1999/10/31 16:26:55 ajc
+* Fixed incorrect assignment of new session ID's
+
+Revision 1.404 1999/10/31 04:17:17 ajc
+* Fixed a bug which was crashing the server during very long message entry.
+
+Revision 1.403 1999/10/29 01:48:45 ajc
+* database.c: Removed arbitrary limit on maximum number of sessions
+
+Revision 1.402 1999/10/29 01:03:03 ajc
+* Debugged all possible ways for a session to terminate; do them cleanly.
+* Assign session numbers in a more portable and less arbitrary way.
+
+Revision 1.401 1999/10/28 19:50:55 ajc
+* Fixed a problem where the client protocol would spit out two responses
+ and therefore get out of sync if ASUP command set the access level to
+ 0 and therefore deleted the user (thanks to Eric McDonald)
+
+Revision 1.400 1999/10/28 05:08:49 ajc
+* Removed all of the thread cancellation cruft that is no longer necessary
+* Moved the now non-system-dependent RemoveContext() out of sysdep.c (now
+ it's part of cleanup() in citserver.c)
+* Removed all references to pthread_* from all modules except sysdep.c
+
+Revision 1.399 1999/10/28 03:20:17 ajc
+* Fixed the problem of worker threads waking up prematurely.
+* 'QUIT'-terminated sessions now exit properly.
+
+Revision 1.398 1999/10/27 04:26:58 ajc
+* Initial hack of worker-thread rearchitecture. Right now it is successfully
+ dispatching worker threads to active client sockets (and to the master
+ socket too, of course). Removing sessions is currently broken.
+
+Revision 1.397 1999/10/26 20:20:29 ajc
+* Removed the auto-reconnect stuff... it was locking the client in an active
+ loop more often than it was reconnecting.
+
+Revision 1.396 1999/10/26 13:59:11 ajc
+damn bugs
+
Revision 1.395 1999/10/26 03:48:39 ajc
* Shuffled around the order of events when a thread is terminating. All
mutex operations now happen prior to the freeing of the CitContext structure,