-$Log$
+ $Log$
+ Revision 571.0 2000/04/13 02:43:24 ajc
+ * Fixed a problem that crashed the client during <G>oto commands if a room
+ existed with a name more than 32 characters (thanks to Magus for reporting
+ this one).
+ * Tagged everything and updated docs for the 5.71 release
+
+ Revision 570.18 2000/04/10 01:47:22 ajc
+ * More paginator changes. Shuffled code around, added pagination to a bunch
+ of other functions, and replaced the old, cumbersome pagination with the
+ new, easy, API-based one in everything except message output.
+
+ Revision 570.17 2000/04/09 17:51:18 ajc
+ * Added pprintf() (paginated version of printf) to the client-side API. Now
+ any client side function can be paginated simply by changing all of the
+ printf's to pprintf's. I've already done this for the user list and wholist
+ (removing the old style pagination) and for "read directory."
+
+ Revision 570.16 2000/04/08 04:52:48 ajc
+ * Another minor stoopid little time display fix
+
+ Revision 570.15 2000/04/08 03:58:12 nbryant
+ * backed out the previous changes since they didn't look good on some
+ xterms with a blue bold mode. just set the background color to black
+ instead. this makes black-on-white terminals actually readable, if not
+ particularly good looking.
+
+ Revision 570.14 2000/04/08 01:36:30 nbryant
+ * citadel.c, commands.c: comment out cls() as this wasn't called if
+ ansi_color=user anyway, and we have no way of knowing whether the user's
+ terminal does background color erase, which was the reason for adding this
+ in the first place. with the recent changes to color(), the display will get
+ screwed up if they *do* have background color erase. perhaps this is a job
+ for terminfo.
+
+ Revision 570.13 2000/04/08 00:37:42 nbryant
+ * commands.c: fix color support for black-on-white color terminals such as
+ CDE's dtterm. this just avoids white-on-white text; some color combinations
+ such as yellow-on-white still aren't very legible due to contrast. There's
+ not much I can think to do about that without affecting the look on the
+ white-on-black terminals which probably account for most users.
+
+ Revision 570.12 2000/04/07 20:22:34 ajc
+ * Fixed am/pm bug in time display
+
+ Revision 570.11 2000/04/07 19:22:45 ajc
+ * For services disabled by setting port number to -1, administratively skip
+ the bind instead of just allowing it to fail.
+
+ Revision 570.10 2000/03/31 04:31:02 ajc
+ * Quick fix to 'stats' utility to purge records with bogus timestamps
+
+ Revision 570.9 2000/03/31 02:10:52 ajc
+ * Caved in to pressure and enabled <R>eply in public rooms.
+
+ Revision 570.8 2000/03/28 03:55:53 ajc
+ * Modified <.RU> to allow search for partial match
+
+ Revision 570.7 2000/03/27 03:08:19 ajc
+ * Third parameter of CtdlDeleteMessages() now takes "" instead of NULL to
+ specify 'any MIME type'.
+
+ Revision 570.6 2000/03/27 01:14:08 nbryant
+ * Makefile.in: generate parsedate.c automatically
+ * configure.in: check for bison/byacc/yacc. bison seems to build cleaner
+ code.
+ * parsedate.c: removed from CVS
+ * parsedate.y: added #include <stdlib.h> so it builds with bison
+
+ Revision 570.5 2000/03/27 00:46:10 nbryant
+ * First cut at Solaris fixes. There may still be some *printf("%s", NULL)
+ type of issues lurking in the shadows.
+
+ Revision 570.4 2000/03/25 18:29:58 nbryant
+ changed my email address
+
+ Revision 570.3 2000/03/23 02:41:50 ajc
+ *** empty log message ***
+
+ Revision 570.2 2000/03/21 03:23:24 ajc
+ * Experimental new linebreak mode
+
+ Revision 570.1 2000/03/20 14:43:19 ajc
+ * "Brown paper bag" fix for SMTP bug (incoming long fields crash logger)
+
+ Revision 570.0 2000/03/19 23:42:34 ajc
+ * This is the official 5.70 release.
+
+ Revision 1.494 2000/03/19 23:04:08 ajc
+ * Small cosmetic change to date/time output
+
+ Revision 1.493 2000/03/19 05:02:39 ajc
+ * SMTP hacks to deal with AOL braindamage
+
+ Revision 1.492 2000/03/18 18:18:04 ajc
+ * Support multiline responses from SMTP servers when sending mail
+
+ Revision 1.491 2000/03/17 16:26:57 ajc
+ * Set up a private "Sent/Received Pages" room for each user
+
+ Revision 1.490 2000/03/17 04:11:24 ajc
+ * Moved bio-related commands out to a loadable module
+
+ Revision 1.489 2000/03/16 17:58:54 smw
+ Created a docs directory.
+ Moved install.txt to docs.
+ Added inetmailsetup.txt (BBS server side e-mail)
+ Added inetmailsetupmx.txt (local mail AND bbs e-mail
+ Added inetsiteconfig.txt (describes the .asi command)
+ Added siteconfig.txt (describes .asg)
+ Added chat.txt (describes changes and new chat functionality)
+ Made a couple of changes to install.txt (references to new documentation)
+ Added Steve Williams to copyright.txt as the document writer.
+
+Revision 1.488 2000/03/15 03:04:51 ajc
+* Added DEXP server command to disable incoming express messages.
+* <Q>uiet mode client side command to set/clear DEXP mode.
+* <K>nown rooms list displays through the paginator.
+
+Revision 1.487 2000/03/12 00:21:35 ajc
+* Removed the semi-broken "chat room" functionality in the chat system, and
+ replaced it with direct mapping to the actual Citadel room the user is in.
+* Display masqueraded roomname in chat, if applicable. Fixes bug #19.
+
+Revision 1.486 2000/03/11 21:29:37 ajc
+* SM_ flags for CtdlSaveMsgPointerInRoom() need to be a bit bucket, not an
+ enum, since more than one can be passed. Changed SM_DONT_BUMP_REF_COUNT
+ from 3 to 4. This also fixes bug #33.
+
+Revision 1.485 2000/03/11 20:26:03 ajc
+* Reworked the <R>eply logic in messages.c - fixes bug #34
+
+Revision 1.484 2000/03/11 19:22:19 nbryant
+ * commands.c: improved timing of background keepalives if connection is
+ lagged
+
+Revision 1.483 2000/03/11 05:08:48 nbryant
+ * commands.c: oops, that mutex stuff wasn't necessary
+
+Revision 1.482 2000/03/11 04:09:03 nbryant
+ * new threaded client code for background keepalives
+
+Revision 1.481 2000/03/10 21:40:04 ajc
+* Changes to message base and networker to support Internet-style message
+ ID's instead of the conventional Citadel style.
+
+Revision 1.480 2000/03/08 03:36:37 ajc
+* Shut off hostname resolution when dealing with Unix domain sockets
+* Cleaned up the 'citmail' MDA tool
+* Added POP3 and SMTP port numbers to global system configuration
+
+Revision 1.479 2000/03/07 21:54:58 ajc
+* Fixed the naming conventions and permissions for unix domain sockets.
+
+Revision 1.478 2000/03/05 07:33:23 ajc
+* Added support for protocols over Unix domain sockets.
+
+Revision 1.477 2000/03/04 22:36:23 ajc
+* Remove nulls appended to editor files during replace, edit, and print
+ operations. Truncate temp files during same operations.
+ Closes bugs #6 and #7.
+
+Revision 1.476 2000/03/04 05:29:18 ajc
+* Relax restrictions on editing of base rooms. Renaming is not allowed but
+ all other attributes can be edited. Closes feature request #21.
+* Sending pages from the client now uses the same message editing functions
+ as entering messages, allowing edit/abort. Closes feature request #25.
+
+Revision 1.475 2000/03/03 04:50:14 ajc
+* Moved all of the wholist masquerading commands into the serv_rwho module
+
+Revision 1.474 2000/03/03 04:12:37 ajc
+* Finished the inbound side of gateway domain service
+
+Revision 1.473 2000/02/27 04:55:51 ajc
+* Added "keymenu()" generic menu-maker to commands.c
+* Blocked non-numeric input to intprompt() (fixes bug #16)
+
+Revision 1.472 2000/02/27 03:57:35 ajc
+* Completed 'fsck'-like reference count verifier (server and client)
+
+Revision 1.471 2000/02/26 18:30:40 ajc
+* Properly handle all aliases specified in network/mail.aliases for incoming
+ SMTP mail (uses the alias() function, so if we replace that function with
+ something that uses the same calling convention, it'll still work)
+
+Revision 1.470 2000/02/26 05:15:38 ajc
+* Fortified the message base and SMTP code so that misdirected bounce messages
+ end up in the Aide> room instead of getting dereferenced
+* Started writing a message reference count verifier ('fsck' for message base)
+
+Revision 1.469 2000/02/25 06:14:05 ajc
+* Modularized the RWHO (Read WHO is online) command, basically as a pilot
+ for modularizing all "non-API" functionality.
+
+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.
+
+Revision 1.441 2000/01/15 04:07:17 ajc
+* Fixed the access rights on auto-created rooms (the same changes that were
+ made to version 5.62 in the stable tree)
+
+Revision 1.440 2000/01/13 03:32:36 ajc
+* techdoc/delivery-list.txt: added (syntax for delivery lists)
+* domain.*: added (will contain MX lookup code)
+* internet_addressing.c, logging.c: fixed some buffer overflow bugs
+
+Revision 1.439 2000/01/12 03:56:27 ajc
+* sysdep.c: start the housekeeping thread *after* dropping root perms.
+
+Revision 1.438 2000/01/09 19:03:16 ajc
+* Removed the fifo-based protocol downloads and replaced it with a less
+ elegant "download temporary file to client, then sx/sb/sz" because
+ downloading through a fifo was confusing some software.
+
+Revision 1.437 2000/01/08 22:19:44 ajc
+* Completed spool to outbound delivery queue (still no queue sender implemented)
+
+Revision 1.436 2000/01/08 05:00:09 ajc
+* Reworked some of the data structures to handle multiple recipients
+* Began implementation of the delivery queue
+* Added CtdlReallocUserData()
+* CtdlSaveMsg() now returns the local message ID in the database
+
+Revision 1.435 2000/01/06 03:50:34 ajc
+* Replaced citmail.c with a new one that simply SMTP-forwards to Citadel
+* Started outbound SMTP queue work
+
+Revision 1.434 1999/12/30 04:56:29 ajc
+* Got initial SMTP delivery working in a very specific situation (delivery
+ to a single, local user)
+
+Revision 1.433 1999/12/29 04:44:00 ajc
+* client_chat.c: display "No message sent" if a send page is aborted.
+ Closes bug #2 in bugzilla.
+
+Revision 1.432 1999/12/26 21:50:07 ajc
+* serv_vcard: don't run hooks when not logged in (such as in SMTP sessions)
+* serv_pop3: added. This is the skeleton for a module implementing POP3.
+
+Revision 1.431 1999/12/23 04:46:23 ajc
+* "Finished" initial hack of RFC822 import
+
Revision 1.430 1999/12/22 04:46:34 ajc
* Fixed up the "Date:" headers to be RFC822-compliant
Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
* Initial CVS import
-