$Log$
+Revision 1.468 2000/02/24 03:44:00 ajc
+* Implemented holdoff time (15 minutes) for SMTP send retry.
+* Implemented "try for 3 days and then give up" on SMTP send.
+
+Revision 1.467 2000/02/24 00:51:48 ajc
+* Client protocol synchronization check during exit from chat.
+ This closes Bug #15.
+
+Revision 1.466 2000/02/22 16:37:28 ajc
+* Minor tweaks to RFC822 output to keep brain-damanged MS Outlook from dying
+
+Revision 1.465 2000/02/22 04:17:56 ajc
+* Got bounce messages working (mostly ... testers, please beat this up!)
+* Changed 'FIX' comments to 'FIXME' (less conflict, plus vim highlights it!)
+
+Revision 1.464 2000/02/18 22:29:18 ajc
+* Coded up the "bounce" functions. Still a coupla bugs.
+
+Revision 1.463 2000/02/18 05:10:50 ajc
+* Made the <.ASI> command a bit friendlier.
+* SMTP sender now pays attention to "smarthost" entries in the system's
+ Internet configuration, using them if one or more is present.
+
+Revision 1.462 2000/02/17 05:27:39 ajc
+* Got the "MAIL From:" command sending the correct data. (unnnhhhhnnhhhh...)
+
+Revision 1.461 2000/02/16 22:06:26 ajc
+* Altered the display and conversion of RFC822 messages
+
+Revision 1.460 2000/02/16 03:43:28 ajc
+* Added the resolver library to the configure script
+
+Revision 1.459 2000/02/16 01:19:39 ajc
+* Vanquished the evil dn_expand() beast. getmx() now seems to be working.
+
+Revision 1.458 2000/02/14 04:36:14 ajc
+* sysdep.c: added new event hook type EVT_TIMER. Timer event hooks are called
+ once per minute by any worker thread.
+* msgbase.c: removed dependence on nested functions in CtdlOutputMsg() by
+ replacing them with an API call CtdlRedirectOutput() in sysdep.c, which
+ can temporarily redirect a session's output to an arbitrary file or socket.
+* serv_smtp.c: implemented the purging of messages in the queue for which all
+ deliveries have been completed.
+* serv_smtp.c: removed temporary 'QQQQ' server command and replaced it with
+ a timer event hook that runs the queue once per minute (this needs to be
+ made more robust)
+
+Revision 1.457 2000/02/08 21:00:47 ajc
+* Implemented the deprecated "LAST" command in POP3. Some clients need it.
+* POP3 sessions now set the last-read pointer in Mail>.
+
+Revision 1.456 2000/02/07 05:15:00 ajc
+* Renamed CtdlLocalHost() to CtdlHostAlias() and worked it a little deeper into
+ the message routing logic. Still needs some work on the gateway-domain
+ stuff.
+* Twiddled CtdlOutputMsg() a bit for 'all Internet' situations. Still needs
+ some work to avoid printing dual headers when both Cit and RFC822 exist.
+
+Revision 1.455 2000/02/03 03:57:35 ajc
+* Formalized the 'Internet Configuration' logistics. Added new API call
+ CtdlLocalHost() to detect aliases for the local host. Used in SMTP listener.
+
+Revision 1.454 2000/01/31 02:13:05 ajc
+* <.A>ide <S>ystem configuration <I>nternet in the client (unfinished)
+
+Revision 1.453 2000/01/26 02:41:27 ajc
+* SMTP delivery is working but still *very* rough.
+
+Revision 1.452 2000/01/25 04:45:50 ajc
+* Wrote enough of the SMTP sender to get Patriot drooling over it, but not
+ enough to complete the transmission of mail.
+
+Revision 1.451 2000/01/23 21:25:45 ajc
+* Temporary hack to ig_tcp_server() to listen on an arbitrary port if the
+ one specified is not bindable (for development only)
+* Added SM_DONT_BUMP_REF flag to CtdlSaveMsgPointerInRoom() to be used only
+ in very specific and special situations
+* Generate delivery instructions when outbound SMTP mail is created from
+ within Citadel (as opposed to being from the SMTP module)
+
+Revision 1.450 2000/01/23 05:22:41 ajc
+* Coded up some more of the SMTP-sender (still not done)
+
+Revision 1.449 2000/01/22 05:13:56 ajc
+* Added some more functionality to the string tokenizer
+
+Revision 1.448 2000/01/17 20:57:43 ajc
+* CR to CRLF hacks (lose, lose, lose)
+
+Revision 1.447 2000/01/17 18:30:27 ajc
+* Completed POP3 server. All RFC1939 commands except APOP are implemented.
+
+Revision 1.446 2000/01/17 17:09:23 ajc
+* Implemented LIST and STAT commands in the pop3 server
+
+Revision 1.445 2000/01/17 05:38:14 ajc
+* citserver.c: cleanup hook functions are now run under the proper context,
+ even when initiated by the housekeeper thread
+* serv_pop3.c: establish a place to hold the message list
+
+Revision 1.444 2000/01/17 04:26:39 ajc
+* Modified CtdlOutputMsg() to handle output to arbitrary sockets or files.
+ This uses nested functions and may not be portable beyond GCC...
+
+Revision 1.443 2000/01/15 18:29:15 ajc
+* Added a generic (void *) parameter to the ForEachUser() and ForEachRoom()
+ callback mechanisms, to allow callers and callbacks to pass arbitrary data
+ between each other without requiring TSD variables.
+* room_ops.c: eliminated the need for 'FloorBeingSearched' TSD variable
+* internet_addressing.c: eliminated 'buffer1' and 'buffer2' TSD variables
+
Revision 1.442 2000/01/15 04:31:44 ajc
* Removed UI_DIALOG mode in setup. Can't count on 'dialog' to be consistent.