]> code.citadel.org Git - citadel.git/blobdiff - citadel/ChangeLog
* There is now a dedicated thread for doing database checkpoints.
[citadel.git] / citadel / ChangeLog
index a21f20909c9a9ce11de7399799859023246ffdbc..a94045b0704e9859e5a8c6d4a3db030bbc651464 100644 (file)
@@ -1,4 +1,441 @@
- $Log$
+$Log$
+Revision 651.1  2005/06/16 02:42:58  ajc
+* There is now a dedicated thread for doing database checkpoints.
+
+Revision 651.0  2005/06/12 03:46:30  ajc
+* THIS IS 6.51
+
+Revision 647.42  2005/06/12 03:31:33  ajc
+* ChangeLog: restored automatic prepending of CVS commit log messages
+  to the top of this file.  Somehow it got lost somewhere around 647.20
+
+Revision 647.41  2005/06/12 03:30:20  ajc
+* Test
+
+revision 647.40
+date: 2005/06/12 03:24:15;  author: ajc;  state: Exp;  lines: +0 -1
+* When delivering list digests, put the name of the room in [brackets]
+  in the subject line.  This makes lots of other software happy.  (We
+  need to do this for non-digest list subscribers too.)
+
+revision 647.39
+date: 2005/06/12 01:15:33;  author: ajc;  state: Exp;  lines: +1 -0
+* Provide separate filtered and unfiltered LMTP sockets.
+
+revision 647.38
+date: 2005/06/09 20:10:02;  author: ajc;  state: Exp;  lines: +0 -1
+* Easy Install requires gmake
+
+revision 647.37
+date: 2005/06/09 03:35:58;  author: ajc;  state: Exp;  lines: +1 -0
+* Allow IMAP DELETE of a zapped/forgotten/unsubscribed room
+
+revision 647.36
+date: 2005/06/09 03:20:21;  author: ajc;  state: Exp;  lines: +0 -1
+* Do not log IMAP/POP/SMTP password commands
+
+revision 647.35
+date: 2005/06/07 21:45:14;  author: ajc;  state: Exp;  lines: +1 -0
+* bounce messages need subjects
+
+revision 647.34
+date: 2005/06/06 23:50:01;  author: ajc;  state: Exp;  lines: +0 -1
+* Made some changes to the calendar/uuid logic to fix a bug that caused
+  duplicate entries for an event to appear in some situations
+
+revision 647.33
+date: 2005/06/03 22:26:03;  author: ajc;  state: Exp;  lines: +1 -0
+* When saving a vCard to a dedicated contacts room, always set the subject
+  to the name in the vCard.
+
+revision 647.32
+date: 2005/06/03 22:22:36;  author: ajc;  state: Exp;  lines: +0 -1
+* Removed old Aethera hacks
+
+revision 647.31
+date: 2005/06/03 04:01:27;  author: ajc;  state: Exp;  lines: +1 -0
+* Documentation update
+
+revision 647.30
+date: 2005/06/02 19:32:30;  author: ajc;  state: Exp;  lines: +0 -1
+* Set the correct flags in the target room after an IMAP COPY command.
+
+revision 647.29
+date: 2005/06/02 16:09:32;  author: ajc;  state: Exp;  lines: +1 -0
+* tools.c: generated uuid's no longer contain "{" and "}" characters.
+
+revision 647.28
+date: 2005/06/02 03:39:44;  author: ajc;  state: Exp;  lines: +0 -1
+* Do not turn the initial thread into a worker thread after initialization.
+  Its stack size is too small, which could cause crashes.
+
+revision 647.27
+date: 2005/06/01 22:32:57;  author: ajc;  state: Exp;  lines: +1 -0
+* Implemented a workaround for the IMAP "expungebob bug."  Specifically, since
+  we don't store the \Deleted flag persistently (and instead auto-expunge
+  folders when they are de-selected) we were not advertising \Deleted as
+  a PERMANENTFLAGS flag.  This was causing some clients (particularly
+  Thunderbird) to misbehave -- they were simply electing not to transmit the
+  flag at all.  As a workaround, \Deleted is now advertised as a
+  PERMANENTFLAGS flag, even though it technically isn't.
+
+revision 647.26
+date: 2005/06/01 18:31:50;  author: ajc;  state: Exp;  lines: +0 -1
+* serv_vandelay.c: updated the export format to include some of the config
+  items we missed.
+
+revision 647.25
+date: 2005/06/01 05:23:26;  author: ajc;  state: Exp;  lines: +1 -0
+* The full text indexer now runs in its own dedicated thread instead of
+  in the housekeeping thread.  The main indexer loop now also has the ability
+  to save its place and bail out early when it discovers that the server is
+  trying to shut down.  The main server loop will pthread_join() the indexer
+  thread and patiently wait for it to complete before exiting.  These changes
+  all put together mean that citserver will not hang when it is terminated
+  during an indexing operation.
+
+revision 647.24
+date: 2005/05/27 23:46:57;  author: ajc;  state: Exp;  lines: +0 -1
+* Removed OpenLDAP from Easy Install, because it was just too problematic.
+
+revision 647.23
+date: 2005/05/26 04:25:29;  author: ajc;  state: Exp;  lines: +1 -0
+* Applied xmlns and etag patches sent in by Johannes Schneider that improve
+  GroupDAV support.
+* Located and fixed a MIME Content-type bug that I accidentally created
+  while removing a temporary hack that was in place during the last KDE beta.
+
+revision 647.22
+date: 2005/05/23 19:33:56;  author: ajc;  state: Exp;  lines: +0 -1
+* database_sleepycat.c: cdb_truncate() no longer encapsulated in a
+  transaction.  Truncating a database in Citadel is always synchronous,
+  and with big tables (such as when the full text indexer is switched off
+  or reinitialized) it was running out of memory.
+
+revision 647.21
+date: 2005/05/23 19:31:52;  author: ajc;  state: Exp;  lines: +5 -1
+* test
+
+ Revision 647.20  2005/05/23 19:26:04  ajc
+ * Move the location of the "enable full text index" configuration item to
+   a new location.  Reusing an old location was a stupid idea because old
+   clients can inadvertently switch it on.
+
+ Revision 647.19  2005/05/23 14:07:39  ajc
+ * serv_imap.c: improve SELECT time by fetching the msglist directly out of
+   the database instead of doing a CtdlForEachMessage() loop.
+
+ Revision 647.18  2005/05/22 16:12:25  ajc
+ * Full text indexer is now switchable on/off
+
+ Revision 647.17  2005/05/20 20:02:50  ajc
+ * The IGnet map is now rewritten to disk only when it changes.
+ * When processing inbound network spool, ignore "." and ".." instead of
+   failing on them.
+
+ Revision 647.16  2005/05/20 16:22:33  ajc
+ Fixed some errors in the ChangeLog
+
+ Revision 647.15  2005/05/20 16:14:43  ajc
+ * Dramatically improved the time it takes to goto (or select) a room which
+   contains a very long and complex seen/unseen list.  Our test folder,
+   containing 359 new of 3162 messages, formerly took 22 seconds to select;
+   now it takes 1 to 2 seconds.
+
+ Revision 647.14  2005/05/20 02:37:17  ajc
+ * Performance-optimized the full text indexer.
+
+ Revision 647.13  2005/05/20 01:20:24  ajc
+ * Cull logs immediately after a successful db checkpoint instead of only
+   once every 24 hours.  During big db write operations (such as building
+   the full text index) they were just piling up too much.
+
+ Revision 647.12  2005/05/19 21:10:03  ajc
+ * Altered the full text indexer to output messages as text before running
+   through the wordbreaker.  This prevents the inclusion of encoded base64
+   strings in the index, and also allows legitimate text encoded inside
+   base64 to be decoded and then indexed.
+
+ Revision 647.11  2005/05/19 03:42:29  ajc
+ * Bound the full text index to IMAP search
+
+ Revision 647.10  2005/05/18 22:09:01  ajc
+ * Finished the indexer *and* deindexer!  The search API is now working
+   flawlessly too.  Now all we have to do is glue it to IMAP and other
+   user-facing functionality.  (The SRCH command is for testing only.)
+
+ Revision 647.9  2005/05/18 04:02:54  ajc
+ * Completed the "search for all of these words" functionality.  All we need
+   to do now is generalize its calling syntax so it can be called from the
+   IMAP service.
+
+ Revision 647.8  2005/05/18 03:22:27  ajc
+ * Finished the indexer and the first part of the search function...
+
+ Revision 647.7  2005/05/17 20:36:48  ajc
+ * Indexer is completed; also began work on the search function itself.
+   Still need to add de-indexing so deleted messages are removed from index.
+
+ Revision 647.6  2005/05/17 16:25:23  ajc
+ * Completed the wordbreaker for the full text indexer.
+
+ Revision 647.5  2005/05/17 04:04:46  ajc
+ * Began some glue code for the full text indexer.
+
+ Revision 647.4  2005/05/16 20:03:33  ajc
+ * definition of struct CitControl moved from citadel.h to server.h
+
+ Revision 647.3  2005/05/16 18:48:45  ajc
+ * Don't prompt the user for screen dimensions anymore.  Nobody is using
+   dialup terminals with arbitrary screen sizes anymore; nearly everyone (or
+   more likely, *absolutely* everyone) is now using networked displays which
+   can be automatically queried for their screen dimensions.  For now, we'll
+   keep the screen size properties in the database and in the protocol, but
+   the prompts have been commented out.
+
+ Revision 647.2  2005/05/16 18:25:56  ajc
+ * Avoid re-creating the default-named baseroom (Lobby) upon subsequent
+   startups after it's been renamed to something else.
+
+ Revision 647.1  2005/05/16 16:59:39  ajc
+ * Default expire policy is now 'manual' (no automatic expiry of messages
+   under any circumstances).  Implemented as per David Given's suggestion
+   that we should operate using the element of least surprise.
+
+ Revision 647.0  2005/05/12 16:54:10  ajc
+ * THIS IS 6.47
+
+ Revision 646.1  2005/05/12 16:53:18  ajc
+ * Fixed a minor bug discovered in SMTP at one site
+
+ Revision 646.0  2005/05/11 17:06:04  ajc
+ * THIS IS 6.46
+
+ Revision 645.20  2005/05/09 22:17:30  ajc
+ * Interactive room deletions are now deferred.  The server reconfigures the
+   room to be a mailbox owned by a nonexistent user and immediately returns
+   control back to the client.  Later, THE DREADED AUTO-PURGER will see the
+   dangling room and erase its contents.
+
+ Revision 645.19  2005/05/08 03:43:22  ajc
+ * Set the internal version number to 6.46 in preparation for a release
+
+ Revision 645.18  2005/05/02 20:52:42  ajc
+ * More IMAP optimizations, including the application of our latest "don't
+   fetch the message body" trick to ENVELOPE and INTERNALDATE fetches, to
+   make MS-Outbreak spread email viruses faster.
+
+ Revision 645.17  2005/05/02 16:09:52  ajc
+ * serv_imap.c: implemented the RFC 3501 suggestion that the initial
+   greeting, and the response to the LOGIN command, include an output
+   of the server's CAPABILITY string.  I find this to be gratuitous but
+   the UW IMAP server does it, so we are also doing it in order to better
+   interoperate with clients which make assumptions...
+
+ Revision 645.16  2005/04/29 22:02:20  ajc
+ * More IMAP tuning
+
+ Revision 645.15  2005/04/29 20:47:45  ajc
+ * More complex cache handling for IMAP fetch operations -- now we can
+   fetch/cache "just the headers" and remember whether we did so, so we can
+   burn the cache if the client then comes around and requests something
+   that requires the body.  Still needs some testing and tuning.
+
+ Revision 645.14  2005/04/29 16:50:03  ajc
+ * Significantly reduced the memory footprint of struct CitContext.
+
+ Revision 645.13  2005/04/29 16:26:00  ajc
+ * Removed the CtdlRedirectOutput() API, as we are no longer using it.
+   (Oh happy day; no more temp files!)
+
+ Revision 645.12  2005/04/27 19:22:57  ajc
+ * .ASG command: made better use of memory to avoid crashes
+
+ Revision 645.11  2005/04/23 04:38:26  ajc
+ * Substantially improved the appearance of mailing list digests.
+   Superfluous RFC822 headers no longer appear, and all messages are
+   converted to plain text using the preferred_formats framework.
+ * CtdlOutputPreLoadedMsg() -- fixed bug that caused Citadel protocol
+   headers to appear for MIME prefix, suffix, etc. even when do_proto is 0.
+
+ Revision 645.10  2005/04/23 02:04:11  ajc
+ * serv_imap.c: don't respond "OK DELETE completed" until after the room
+   delete operation actually completes.
+
+ Revision 645.9  2005/04/23 01:59:58  ajc
+ * Big performance optimization on CtdlSetSeen()
+
+ Revision 645.8  2005/04/22 04:26:34  ajc
+ * is_msg_is_mset() has been renamed to is_msg_in_sequence_set() because
+   "sequence set" is now the official terminology as of RFC3501.
+ * imap_set_seen_flags() no longer calls is_msg_in_sequence_set() for each
+   message and for each flag.  It's just too expensive.  We now parse each
+   flag's sequence set manually, marking the relevant messages as we go.
+
+ Revision 645.7  2005/04/22 00:52:03  ajc
+ * small fix to previous commit
+
+ Revision 645.6  2005/04/21 17:28:51  ajc
+ * msgbase.c: when committing a new message to the store, save its RFC822
+   length to the metadata record immediately.  This will eliminate the need
+   to calculate it later during a fetch operation.
+
+ Revision 645.5  2005/04/14 15:53:55  ajc
+ * Variable names, comments, documentation, etc...  removed the acronym 'BBS'
+   in places where functionality is not specific to the use of Citadel as
+   a BBS platform.
+
+ Revision 645.4  2005/04/13 20:42:44  ajc
+ * citmail.c: changes to citmail to make it usable as a /usr/sbin/sendmail
+   replacement; i.e. /bin/mail calls /usr/sbin/sendmail which sends mail
+   through Citadel.
+
+ Revision 645.3  2005/04/13 17:03:07  ajc
+ * Reverted database changes because the cull_logs function wasn't working
+   with the separate log directory.
+ * citmail.c: started some fixes to make it able to work from
+
+ Revision 645.2  2005/04/12 21:19:52  ajc
+ * 'make install' now installs citadel-openldap.schema
+
+ Revision 645.1  2005/04/11 16:31:57  ajc
+ * Database logs are now kept in the "data_logs" directory instead of in
+   the "data" directory.  If no "data_logs" directory is found, a symlink
+   to "data" will be created, in order to preserve access to any existing
+   log files -- a savvy sysadmin (or a storage management wizard script)
+   will know what to do if a different location is desirable.
+
+ Revision 645.0  2005/04/01 03:02:44  ajc
+ * THIS IS 6.45
+
+ Revision 641.34  2005/03/31 04:31:42  ajc
+ * Bumped the internal version number to 6.45 in preparation for
+   an upcoming release.
+
+ Revision 641.33  2005/03/24 22:52:40  ajc
+ * More extermination of the dreaded SIZ moby-buffers.
+
+ Revision 641.32  2005/03/24 22:13:56  ajc
+ * extract_token() now expects to be supplied with the size of the
+   destination string buffer.  This, along with the elimination of other
+   unbounded functions like strcpy(), will allow the removal of the
+   "all string buffers are of size SIZ" assumption (a process which I have
+   already begun), which will hopefully reduce stack consumption.
+
+ Revision 641.31  2005/03/22 21:53:48  ajc
+ * Oops, forgot to initialize some data structures...
+
+ Revision 641.30  2005/03/22 16:49:29  ajc
+ * Fixed a couple of memory allocation bugs
+
+ Revision 641.29  2005/03/20 22:55:58  ajc
+ * Logging to stderr no longer uses syslog()
+ * Reworked the way dead sessions are purged.  More efficient and more
+   reliable now.
+
+ Revision 641.28  2005/03/18 21:40:36  ajc
+ * Minor bugfix to previous checkin
+
+ Revision 641.27  2005/03/18 21:25:06  ajc
+ * Finished removing all the "dynamic session data" stuff in order to
+   boost reliability, improve performance, and reduce complexity.
+
+ Revision 641.26  2005/03/12 05:42:35  ajc
+ * Trying to fix a memory bug somewhere.
+ * While working on the above, noticed that the way we did the per-session
+   dynamic symbols loses badly in terms of performance.  Began moving to
+   a less modular but better performing way of doing the same.
+
+ Revision 641.25  2005/03/10 03:36:25  ajc
+ * Silenced a compiler warning
+ * Our graceful cleanup handler no longer gracefully cleans up after
+   receiving SIGSEGV or its friends.  Unfortunately we need the core dump.
+
+ Revision 641.24  2005/03/10 03:11:07  ajc
+ * Altered the algorithm by which the doubly-linked session list is
+   amended and culled.  Decided that performance is better than cute
+   session numbers (which we don't display to the users anymore anyway)
+   and we now assign a session number (CC->cs_pid) starting with 1 when the
+   server starts and incrementing indefinitely.  Need to test this more.
+
+ Revision 641.23  2005/03/07 04:08:07  ajc
+ * vcard.c: realloc fix
+
+ Revision 641.22  2005/03/05 22:31:01  ajc
+ * Allow the use of chained certificates for crypto
+
+ Revision 641.21  2005/03/04 20:04:00  ajc
+ * IMAP FETCH RFC822.SIZE now honors the cached rfc822 size in each
+   message's metadata, using it if present and storing it for next time
+   otherwise.
+ * Fixed bug in POP3 server that was causing it to fail to store the
+   correct RFC822 size in metadata.  Fortunately it was failing in a way
+   that merely affected performance rather than corrupting the data on
+   existing installations.
+
+ Revision 641.20  2005/03/04 02:24:31  ajc
+ * SMTP: only offer TLS on the MSA port (587), not on the MTA port (25).
+   There seem to be some other MTA's out there that make things go haywire
+   when TLS is offered.
+
+ Revision 641.19  2005/03/04 02:18:46  ajc
+ * config.c: default setting for "maxmsglen" is now 10 megabytes, not INT_MAX
+
+ Revision 641.18  2005/03/03 18:10:27  ajc
+ * sysdep.c: change the algorithm for dynamically expanding the redirect
+   buffer's size.  Large writes were overflowing it.
+
+ Revision 641.17  2005/03/03 17:56:53  ajc
+ * Finished removing the use of temp files in IMAP.
+   WARNING: DON'T USE THIS ON A PRODUCTION SYSTEM, IT HAS NOT BEEN
+   FULLY TESTED WITH VARIOUS IMAP CLIENTS YET!
+
+ Revision 641.16  2005/03/03 05:14:06  ajc
+ * Realized that memreadline() does NOT return a NULL pointer when it hits
+   a null character, and adjusted all the code I wrote yesterday under that
+   assumption.
+ * Removed the use of a temp file for IMAP FETCH BODYSTRUCTURE on a
+   non-RFC822 message.
+
+ Revision 641.15  2005/03/02 17:33:03  ajc
+ * msgbase.c: fixed a buffer overflow error
+ * imap_fetch.c, serv_imap.c, serv_imap.h: migrated imap_fetch_rfc822() to
+   use the new in-memory message buffering.  BODY comes next...
+
+ Revision 641.14  2005/03/02 03:35:18  ajc
+ * serv_smtp.c: removed use of temporary file for SMTP transmission
+
+ Revision 641.13  2005/03/02 03:01:18  ajc
+ * serv_spam.c: use redirect_buffer instead of redirect_sock
+ * Removed redirect_sock from the API.  redirect_fp is next!
+
+ Revision 641.12  2005/03/02 02:42:06  ajc
+ * Finished moving the POP3 server to the new redirect_buffer semantics
+
+ Revision 641.11  2005/03/02 02:16:10  ajc
+ * Toned down some of the hostility in the code's comments :)
+
+ Revision 641.10  2005/03/01 22:03:35  ajc
+ * Began implementation of a third RedirectOutput mode -- one which writes
+   to a memory buffer.  This will replace the other two.
+ * serv_pop3.c: began migration to the new redirect mode.
+
+ Revision 641.9  2005/03/01 04:24:52  ajc
+ * When saving an RFC822 message, use a less expensive algorithm to
+   search for the Content Type
+
+ Revision 641.8  2005/02/28 20:32:50  ajc
+ * IMAP APPEND command now accepts the message text using one big
+   client_read() call instead of a bunch of smaller ones.
+
+ Revision 641.7  2005/02/28 02:25:29  ajc
+ * added pid file writing
+
+ Revision 641.6  2005/02/27 15:36:28  ajc
+ * database_cleanup.sh: look for /usr/local/ctdlsupport/bin/db_dump and
+   prepend that directory to the PATH if found.
+ * database_cleanup.sh: add more warnings about how dangerous this tool is
+
  Revision 641.5  2005/02/26 16:27:54  ajc
  * setup.c: added "hula" to the list of non-Citadel MTA's which can be
    disabled during setup.
  Revision 640.3  2005/02/13 03:39:21  ajc
  * IMAP flag twiddling with STORE was broken because of the \Flag leading
    backslash getting stripped out.  Located problem and worked around.  Said
-   many nasty things about that piece of crap Mark Crispin and his deranged,
-   stupid, moronic idea to put backslashes in a place where they were
-   completely unnecessary.
+   many nasty things about IMAP's gratuitous complexity, particularly the
+   moronic idea to put backslashes in a place where they were completely
+   unnecessary.
 
  Revision 640.2  2005/02/12 16:58:36  ajc
  * Changes to lprintf() and start_daemon() submitted by Kevin Kilbride
  Revision 626.9  2004/10/12 02:17:49  ajc
  * Cleaned up some things that generated compiler warnings
  * crypto keys directory is now relative to the server's working directory,
-   not to the compiled-in BBSDIR
+   not to the compiled-in CTDLDIR
  * Re-ordered the security checks in CtdlAccessCheck()
 
  Revision 626.8  2004/10/06 21:23:21  error
 
  Revision 621.6  2004/06/03 02:49:14  ajc
  * html.c: allow parsing of tags even when they're qualified
-           (i.e. <TAG foo=bar> instead of just <TAG> )
+          (i.e. <TAG foo=bar> instead of just <TAG> )
  * html.c: handle escaped decimal characters (such as &#39; for an apostrophe)
 
  Revision 621.5  2004/06/03 02:28:16  ajc
  Revision 614.75  2004/03/13 23:26:10  ajc
  * imap_fetch.c: don't fetch the message from disk at all for UID and FLAGS
    fetch items.  (It's rare, but sometimes IMAP optimizations are actually
-   possible, despite Mark DIE DIE DIE Crispin's brain-dead design!)
+   possible, despite IMAP's brain-dead design!)
 
  Revision 614.74  2004/03/13 22:52:05  ajc
  * Documented the GNET and SNET commands  :)
    not record an "internal date" of a message, so the "sent date" and "internal
    date" searches perform identically.
  * Date search comparisons available: "before," "on," or "on or after."  Yet
-   another example of why Mark Crispin needs to be taken outside and shot.
+   another example of IMAP's gratuitous complexity.
 
  Revision 608.9  2003/07/26 04:49:40  ajc
  * Implemented a bunch of the IMAP SEARCH keywords
    parser working and stubbed all the search criteria.  Next step is to
    implement the functionality of each criterion keyword.
  * Implemented the functionality for the ALL (wow!) and UID criteria.
- * Mark Crispin is an idiot.
 
  Revision 608.6  2003/07/23 03:57:05  ajc
  * Optimized the updating of visit records in several places by checking to
 
  Revision 607.10  2003/06/28 05:12:56  ajc
  * Bump internal version number to 6.08
- * Use (-1) instead of BBSUID as the uid of user records which exist only
+ * Use (-1) instead of CTDLUID as the uid of user records which exist only
    in Citadel and not in the system password database.  serv_upgrade also
    changes this setting for ALL such users, the first time the server is run
    after upgrading to 6.08
 
  Revision 605.45  2003/05/02 04:02:47  ajc
  * setup.c: allow specification of the Citadel system account by either
-            username or uid
+           username or uid
  * setup.c: tell init to re-read /etc/inittab by sending a SIGHUP to pid 1
-            instead of hunting around for the correct init or telinit command
+           instead of hunting around for the correct init or telinit command
  * docs/citadel.html: documented the above change, and also rewrote some
-                      other stuff to be less BBS-specific
+                     other stuff to be less BBS-specific
 
  Revision 605.44  2003/04/30 16:16:13  ajc
  * Minor fix to ESMTP greeting (missing '-' screwed up pipelining)
  * Optimized CtdlReadMessageBody() and also gave it an option to store
    messages with CRLF newlines instead of LF.  This option is used when
    reading SMTP in order to keep Pine from barfing on LF-terminated newlines
-   while decoding quoted-printable.  Once again, Mark Crispin is an idiot.
+   while decoding quoted-printable.  *sigh*
 
  Revision 605.28  2003/03/26 05:17:12  ajc
  * Downloading of attachments was completely broken by the change to the new
 
  Revision 601.115  2003/01/17 04:36:04  ajc
  * whobbs.c: fix bad call to CtdlGetServInfo() so we can get our session ID
-   and the name of the BBS
+   and the name of the Citadel site
 
  Revision 601.114  2003/01/16 21:16:23  error
  * CtdlIPCGetMessages(): Fix message read failing on first attempt to read
  Revision 573.71  2001/01/16 00:46:40  ajc
  * Changed the MIME parser API *again* because we now need the ability to
    supply callback functions to be executed before and/or after parsing a
-   multipart.  (Need this for IMAP BODYSTRUCTURE output.  Crispin sucks.)
+   multipart.  (Need this for IMAP BODYSTRUCTURE output.)
 
  Revision 573.70  2001/01/15 23:59:26  ajc
  * user_ops.c: reject NULL password in CtdlTryPassword() instead of crashing
  * Added support of macros ALL, BODY, FAST, and FULL to the IMAP FETCH command
 
  Revision 573.9  2000/10/06 03:31:55  ajc
- * Mark Crispin is a fscking idiot.  IMAP is a convoluted mess.
+ * IMAP is a convoluted mess.
 
  Revision 573.8  2000/10/05 22:23:16  ajc
  * Slowly and painfully writing IMAP support
    null string)
 
  Revision 573.4  2000/09/28 10:27:38  error
- * commands.c: changed sttybbs() to support HP/UX termios VMIN and VTIME
+ * commands.c: changed stty_ctdl() to support HP/UX termios VMIN and VTIME
 
  Revision 573.3  2000/09/24 22:01:45  ajc
- * ipc_c_tcp.c: don't hardcode BBSDIR path for unix domain sockets
+ * ipc_c_tcp.c: don't hardcode CTDLDIR path for unix domain sockets
 
  Revision 573.2  2000/09/21 04:16:44  ajc
  * Fixed logged_in_response() so it only displays responses during Citadel
 
  Revision 572.39  2000/09/04 03:59:15  ajc
  IO's changes:
- ----------------------------
  revision 572.4
  date: 2000/09/03 06:36:01;  author: error;  state: Exp;  lines: +5 -1
  Added HP/UX linker flag for dynamic modules to work
- ----------------------------
  revision 572.3
  date: 2000/09/01 06:50:00;  author: error;  state: Exp;  lines: +8 -1
  Changed to use integer macros from typesize.h for specific bit widths
- ----------------------------
 
  Revision 572.38  2000/09/01 20:17:08  ajc
  * msgbase.c: cmd_opna() - increase desired_section buffer from 64 to 256 bytes
  * Fixed oopseth in control.c that might call fileno(NULL)
 
  Revision 572.36  2000/09/01 13:37:16  ajc
- * control.c: chown citadel.control to bbsuid when opening/creating as root
+ * control.c: chown citadel.control to ctdluid when opening/creating as root
 
  Revision 572.35  2000/09/01 03:55:44  ajc
  * Fixed a few more references to the deprecated uncnsrd.mt-kisco.ny.us name
 
  Revision 572.23  2000/08/09 17:14:34  ajc
  msgbase.c: fixed a bug in
-            remove_any_whitespace_to_the_left_or_right_of_at_symbol() that was
-            causing the <R>eply function to fail on names with whitespace in
-            certain parts of the string.  This closes Bug #56.
+           remove_any_whitespace_to_the_left_or_right_of_at_symbol() that was
+           causing the <R>eply function to fail on names with whitespace in
+           certain parts of the string.  This closes Bug #56.
 
  Revision 572.22  2000/08/05 04:24:00  ajc
  * Added [idle] to client wholist display for sessions idle >15 minutes
  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 inetmailsetup.txt (Citadel server side e-mail)
+ Added inetmailsetupmx.txt (local mail AND Citadel e-mail
  Added inetsiteconfig.txt (describes the .asi command)
  Added siteconfig.txt (describes .asg)
  Added chat.txt (describes changes and new chat functionality)
@@ -4726,7 +5161,7 @@ Revision 1.485  2000/03/11 20:26:03  ajc
 
 Revision 1.484  2000/03/11 19:22:19  nbryant
  * commands.c: improved timing of background keepalives if connection is
-               lagged
+              lagged
 
 Revision 1.483  2000/03/11 05:08:48  nbryant
  * commands.c: oops, that mutex stuff wasn't necessary
@@ -4884,7 +5319,7 @@ Revision 1.446  2000/01/17 17:09:23  ajc
 
 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
+              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
@@ -5008,7 +5443,7 @@ Revision 1.416  1999/11/17 04:15:05  ajc
 
 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
+  to exist, nor is it guaranteed to be writable by CTDLUID
   (Resolves bug #11 from the Bugzilla repository)
 
 Revision 1.414  1999/11/15 03:07:24  ajc
@@ -5165,7 +5600,7 @@ Revision 1.375  1999/09/29 21:13:17  ajc
 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.
+          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)
@@ -5466,7 +5901,7 @@ Wed May 19 19:30:28 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
 
 1999-05-11 Nathan Bryant <bryant@cs.usm.maine.edu>
        * chkpwd.c: fixed excessive paranoia; it used to refuse to run when
-         invoked by root and BBSUID != 0
+         invoked by root and CTDLUID != 0
        * Makefile.in: ignore errors while installing /etc/pam.d/citadel
 
 1999-04-27 Art Cancro <ajc@uncensored.citadel.org>
@@ -5594,7 +6029,7 @@ Sat Mar  6 01:55:55 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
 
 1999-03-04 Nathan Bryant <bryant@cs.usm.maine.edu>
        * config.c: error checking in put_config()
-       * setup.c: chgrp files to the login group associated with BBSUID
+       * setup.c: chgrp files to the login group associated with CTDLUID
        * sysdep.c: copyright 1987-1999; drop root perms; load modules and call
          master_startup() after dropping perms
 
@@ -5687,7 +6122,7 @@ Sat Jan 23 14:32:19 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
 Wed Jan 20 19:21:51 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
        * Added some more code to the unfinished MIME parser
        * Changed module loading path to simply "modules" because after calling
-         get_config(), the cwd is guaranteed to be the correct BBS directory.
+         get_config(), the cwd is guaranteed to be the correct Citadel directory.
 
 Tue Jan 19 21:28:29 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
        * Fixed a bug in the user editing command (client side)
@@ -5702,8 +6137,8 @@ Tue Jan 12 22:30:00 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
                - Defined format type 4 for MIME
                - msgbase.c: *temporary* hacks in output_message() for Type 4
                - citmail.c: added more robust header parsing, and support
-                            for Type 4.  Also eliminated the crappy built-in
-                            SMTP server.
+                            for Type 4.  Also eliminated the crappy built-in
+                            SMTP server.
                - Updated some of the technical documentation
 
 Sun Jan 10 13:34:36 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
@@ -5919,7 +6354,7 @@ Sun Nov  8 13:19:36 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
 
 Fri Nov  6 20:22:20 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
        * citadel.h (and related files): removed defunct parameters,
-         c_defent and c_msgbase (erase your test bbs)
+         c_defent and c_msgbase (erase your test system)
        * Implemented CONF server command for site-global configs
        * Shuffled yesno() and yesno_d() from routines.c to commands.c
        * commands.c: implemented boolprompt()
@@ -5939,7 +6374,7 @@ Wed Nov  4 10:53:13 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
 
 Mon Nov  2 12:59:03 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
        * setup.c: looks for 'citadel', 'bbs', or 'guest' in /etc/passwd to
-         try to get a default for bbsuid if it's currently set to 0
+         try to get a default for ctdluid if it's currently set to 0
        * citmail.c: changed usersupp.eternal to usersupp.usernum (why didn't
          it complain about this before?)
        * serv_upgrade.c: began writing an "export" command to do sidegrades
@@ -6356,8 +6791,8 @@ Mon Aug 24 23:45:01 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
        * citadelapi.c: Added CtdlForEachRoom() function
 
 Mon Aug 24 20:04:04 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
-        * Makefile.in: new target `cleaner' does the same as `realclean' 
-          without removing sysdep.h
+       * Makefile.in: new target `cleaner' does the same as `realclean' 
+         without removing sysdep.h
        * proto.h: is bad. eliminate. I've moved the prototypes into several
          header files, one per .c file
 
@@ -6422,7 +6857,7 @@ Sun Aug  2 21:09:09 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 Sun Aug  2 18:52:05 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
        * config_defs.h: new file, contains external declarations from config.c
        * config.c: moved defs to config_defs.h, use PATH_MAX from <limits.h>
-         for bbs_home_directory
+         for ctdl_home_directory
        * mailinglist.c, support.c: include <string.h>
        * sysoputil.c: include <string.h>, <limits.h>, "config_defs.h", remove
          duplicated defs, replace gets() call with fgets()
@@ -6437,12 +6872,13 @@ Sun Jul 19 17:26:12 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
        * .cvsignore: added userlist
 
 Sun Jul 12 20:58:59 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
-        * Finished migrating everything to the new data store.
-        * Replaced the binary "calllog" with the ASCII "citadel.log"
-        * Began converting broken utilities that depend on the old data store
+       * Finished migrating everything to the new data store.
+       * Replaced the binary "calllog" with the ASCII "citadel.log"
+       * Began converting broken utilities that depend on the old data store
 
 Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
        * Makefile.in: removed msgstats
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import
+