$Log$
+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. There is
+ also a problem with worker threads waking up too quickly when a client
+ command is entered (race condition?). More cleanup to follow.
+
+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,
+ otherwise begin_critical_section() and end_critical_section() try to
+ manipulate the context's mutex count when there isn't any context.
+
+Revision 1.394 1999/10/26 03:21:16 ajc
+* Changed a lot of strncpy() calls to safestrncpy() and replaced most of their
+ hardcoded size arguments with 'sizeof' based arguments.
+
+Revision 1.393 1999/10/24 19:22:51 nbryant
+ * Makefile.in, configure.in: added --enable-icq flag; made checks for
+ authentication libraries more intelligent.
+
+Revision 1.392 1999/10/23 03:39:12 ajc
+* Finished moving vCard functionality to the new message base functions.
+
+Revision 1.391 1999/10/21 00:50:14 ajc
+* Finished up the flags and replication checks in CtdlSaveMsgPointerInRoom().
+
+Revision 1.390 1999/10/20 16:46:27 ajc
+* More code shuffle. Added some flags to CtdlSaveMessagePointerInRoom() and
+ enabled the MOVE command to also do a "copy" operation (actually just
+ creates a second link and bumps the ref count). Implemented "<C>opy" in
+ the client.
+
+Revision 1.389 1999/10/20 16:07:48 ajc
+* Wholist fixes for users who are in chat mode
+
+Revision 1.388 1999/10/20 03:42:29 ajc
+* In the wholist, only show <private room> if the user viewing the list
+ doesn't know that room. Otherwise show the name.
+
+Revision 1.387 1999/10/20 02:59:22 ajc
+* Code reorganization. Making it easier to move/copy messages without
+ duplicating existing code.
+
+Revision 1.386 1999/10/17 02:25:18 ajc
+* Discovered a huge design flaw in the replication algorithm. Ripped it
+ out and replaced it with something a bit more robust.
+
+Revision 1.385 1999/10/16 05:30:17 ajc
+* Changes to message replication code. Don't do server-side hooks during
+ an ENT3 command. Also fixed a bug in cmd_whok() that caused crashes
+ after a file format change.
+
+Revision 1.384 1999/10/14 03:04:16 ajc
+* Finished the netproc side of Z (zap/supersede) processing for replication
+
+Revision 1.383 1999/10/13 04:24:18 ajc
+* Added search-by-header-fields to CtdlForEachMessage(), and then to the
+ server MSGS command. This will have lots of uses.
+
+Revision 1.382 1999/10/13 01:36:39 ajc
+* Starting some work on network zap (supersede) mode for replication
+
+Revision 1.381 1999/10/08 02:55:57 ajc
+* More vCard-related debugging
+
+Revision 1.380 1999/10/07 02:58:46 ajc
+* Semi-broken vCard replacement implementation in place.
+* Added "Z" (Zap, supersede) field to message format
+
+Revision 1.377 1999/10/04 03:19:52 ajc
+* We now have a housekeeping thread and a housekeeping queue.
+
+Revision 1.376 1999/10/03 21:48:21 ajc
+* Added serv_upgrade.h to automagically convert pre-5.55 format user records
+ to 5.55 format user records and generate vCards.
+
+Revision 1.375 1999/09/29 21:13:17 ajc
+* CtdlWriteObject() can now store objects in personal rooms for any specified
+ user -- rather than only the current user or non-personal rooms.
+
+Revision 1.374 1999/09/29 17:26:56 ajc
+* serv_vcard.c: fixed crashola bug in cmd_greg()
+* tools.c: simplified and improved the string tokenizer. Now it runs in a
+ single pass with no intermediate buffer.
+
+Revision 1.373 1999/09/28 03:27:37 ajc
+* Fully migrated cmd_greg() and cmd_regi() into serv_vcard (still has bugs)
+
+Revision 1.372 1999/09/27 03:33:40 ajc
+* cmd_regi() is now in serv_vcard and writes to the vcard instead of to the
+ usersupp file. Still needs tweaking.
+
+Revision 1.371 1999/09/24 03:32:19 ajc
+* "read my vCard" and "write my vCard" are written and tested.
+
+Revision 1.370 1999/09/24 02:54:17 ajc
+* Worked a little more on the vCard stuff. The serv_vcard module is now in
+ place, and a "read my vcard" function is there; "write my" is next...
+
+Revision 1.369 1999/09/23 03:07:56 ajc
+* The vCard 'class' is now linked into the server, though it's not really
+ functional yet. Its constructors/destructors are debugged, though.
+
+Revision 1.368 1999/09/19 21:28:33 ajc
+* Finished off the message architecture stuff with a new class of hooks to
+ enable future server-side handlers.
+
+Revision 1.367 1999/09/19 15:57:06 ajc
+* migrated cmd_ent3() to CtdlSaveMessage()
+
+Revision 1.366 1999/09/19 05:13:57 ajc
+* Debugged the new version of CtdlWriteObject()
+
+Revision 1.365 1999/09/16 03:23:23 ajc
+* Did most of the migration from save_message() to CtdlSaveMsg(). The
+ latter builds a "struct CtdlMessage" (so we can run server-side handlers
+ against it later on), then serializes it and stores to disk.
+* BROKEN BUILD ALERT!! cmd_ent3() and CtdlWriteObject() are still not
+ migrated. They are stubbed out and will MALFUNCTION if used right now!!
+
+Revision 1.364 1999/09/07 01:42:42 ajc
+* cmd_msg3() now uses serialize_message() for its output. All message
+ commands will eventually exist as a "struct CtdlMessage" at some point
+ so that we can install server-side handler hooks.
+
+Revision 1.363 1999/09/07 00:04:13 ajc
+* netproc.c: put outgoing messages into the use table, too -- this prevents
+ locally originated messages from showing up again if a remote system is
+ misconfigured and spools them back to us.
+
+Revision 1.362 1999/09/06 03:39:15 ajc
+* citadel.c: run strproc() on new passwords
+
+Revision 1.361 1999/09/03 17:50:26 playcow
+For URL view, don't prompt user to select url if there is only one. Display
+<U>RL View prompt if message contains url(s). -Ben
+
+Revision 1.360 1999/09/02 02:09:59 ajc
+* msgbase.c: new function serialize_message() for future use
+
+Revision 1.359 1999/09/01 21:09:25 ajc
+* database.c: display the GDBM version string on startup
+
+Revision 1.358 1999/09/01 02:36:34 ajc
+* Actually _enforce_ the max msg len limit
+
+Revision 1.357 1999/09/01 01:51:48 ajc
+* Added the ability to handle embedded URL's from the text client
+
+Revision 1.356 1999/09/01 01:02:47 ajc
+* Implemented "maximum message length" in global system config
+
+Revision 1.355 1999/08/31 00:57:17 ajc
+* Handle multipart/alternative properly during legacy message outputs.
+ Basically it just prints the first alternative and skips the rest.
+
+Revision 1.354 1999/08/29 21:12:24 ajc
+* Made some changes to the output of MIME (especially multipart) messages.
+
+Revision 1.353 1999/08/29 19:56:43 ajc
+* HTML updates
+
+Revision 1.352 1999/08/24 02:01:03 ajc
+* html.c: added. This is an overly simplistic HTML-to-text converter.
+
+Revision 1.351 1999/08/21 18:37:29 ajc
+* Minor cosmetic cleanup. No code changes.
+
+Revision 1.350 1999/08/21 05:15:34 ajc
+* mailinglist.c, netmailer.c: fixed to allow list submissions from all posters
+ on a Citadel network rather than only on the local system.
+
+Revision 1.349 1999/08/08 00:25:45 ajc
+* Made one more byte available in locate_host() and in all the structs which
+ its output gets written to (client can display 24 positions but we were only
+ saving 23).
+
+Revision 1.348 1999/08/07 16:34:38 nbryant
+* serv_icq.c: warning fixes
+
+Revision 1.347 1999/08/06 02:57:26 ajc
+* locate_host.c: use strdoop() and phree() instead of strdup() and free()
+* serv_icq.c: run learned IP's through Citadel's locate_host() & put in Wholist
+
+Revision 1.346 1999/08/05 17:58:59 ajc
+* RWHO command now returns express message code in postion 3
+
+Revision 1.345 1999/08/04 02:21:45 ajc
+* Fixed some bugs in the ICQ metaclient, and documented the new protocol cmds
+
+Revision 1.344 1999/08/03 11:34:35 ajc
+* Added client_icq.c and client_icq.h
+
+Revision 1.343 1999/08/03 03:14:51 ajc
+* Wrote the client side of the ICQ gateway. Now on to other projects. :)
+
+Revision 1.342 1999/08/03 01:52:06 ajc
+* Redesigned the client protocol commands for dealing with ICQ
+* Implemented page function priority ordering to prevent pages from being
+ simultaneously delivered over multiple IM systems
+* Migrated serv_icq.* into the Makefile
+
Revision 1.341 1999/08/01 21:36:30 ajc
* EXTREME coolness. The server side of the ICQ metaclient is now working.
It is set up using ICQL and ICQA commands, it automatically logs the user
Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
* Initial CVS import
+