- $Log$
+$Id$
+
+Thu Jan 5 16:08:47 EST 2006 ajc
+* Implemented configuration settings for journaling.
+
+Wed Jan 4 22:05:49 EST 2006 ajc
+* Journaling code is finished. Still needs configuration settings.
+
+Wed Jan 4 18:14:13 EST 2006 ajc
+* Began implementation of Journaling and Envelope Journaling.
+
+Thu Dec 15 23:12:05 EST 2005 ajc
+* Include a pre-fixed parsedate.c in the source tree in order to eliminate
+ the requirement for yacc or bison to build Citadel. Also, 'make clean'
+ no longer deletes parsedate.c
+
+Thu Dec 15 10:51:45 EST 2005 ajc
+* newinstall.sh: be smarter about how wget and curl are used
+
+Thu Dec 15 00:03:53 EST 2005 ajc
+* room_ops.c: when granting a room creator access to a new room, omit the
+ lgetuser/lputuser calls because they are not needed. Also, don't perform
+ access grant if no user is logged in.
+
+Sun Dec 11 23:04:31 EST 2005 ajc
+* THIS IS 6.63
+
+Fri Dec 9 14:14:37 EST 2005 ajc
+* Updated the output of server GOTO command; new parameter indicates whether
+ the user is in his Trash folder.
+* Updated internal version number to 6.63 so WebCit knows this is available.
+
+Mon Nov 28 10:45:21 EST 2005 ajc
+* control.c: fixed a potential concurrency/race condition in
+ the get_new_[message|room|user]_number() functions.
+
+Sun Nov 27 21:20:27 EST 2005 ajc
+* Eliminated the use of tmpnam() to shut up the compiler warnings.
+
+Mon Nov 21 16:59:43 CET 2005 dothebart
+* add some script to wrap the debian package build that does some magic about
+ the versioning in the package and the citadel system
+* Many fixups to the debian packages
+* added Unixlogin Package
+
+Tue Nov 15 21:18:01 EST 2005 ajc
+* THIS IS 6.62
+
+Sun Nov 13 23:35:55 EST 2005 ajc
+* serv_extensions.c: serv_upgrade_init() must be called prior to
+ serv_inetcfg_init() in order to ensure that citadel.control is created
+ at the correct time. (Patch sent in by Wilifried Goesgens.)
+
+Sat Nov 5 22:56:30 EST 2005 ajc
+* More changes to batch mode setup
+
+Thu Nov 3 23:02:01 EST 2005 ajc
+* Updated setup to allow more batch mode control of it;
+ see techdoc/package-setup.txt
+
+Sun Oct 30 23:03:49 EST 2005 ajc
+* When logging to syslog is enabled, SMTP transactions are now logged to
+ LOG_MAIL as well as whatever the normal facility is, in a format
+ similar to what conventional MTA's use. Resolves bugzilla issue #153.
+
+Sun Oct 30 22:22:00 EST 2005 ajc
+* syslog messages are now sent to the desired facility rather than always
+ going to LOG_DAEMON. There was a command line parsing bug.
+
+Sun Oct 30 21:17:57 EST 2005 ajc
+* Log messages posted to the Aide> room indicating activity such as room
+ create/delete/edit operations now use "Room Name" rather than Room Name>
+ because users unfamiliar with the text-mode Citadel tradition may think
+ that the latter syntax is an output error. Resolves bugzilla issue #166.
+
+Thu Oct 27 16:56:09 EDT 2005 ajc
+* THIS IS 6.61
+
+Thu Oct 27 16:44:36 EDT 2005 ajc
+* Allow "host:port" syntax when specifying an outbound SMTP smart-host
+
+Wed Oct 26 13:22:02 EDT 2005 ajc
+* msgbase.c: Yet Another Fix to the handling of embedded message/rfc822
+
+Tue Oct 25 17:29:12 EDT 2005 ajc
+* msgbase.c: when a summary mode message list is requested, and the room
+ contains a pointer to a message which does not exist (this normally should
+ not happen), return an empty message summary line instead of crashing.
+* removed the remaining vestiges of the libtool stuff in .c and .y files
+
+Mon Oct 24 22:52:33 EDT 2005 ajc
+* Every user gets a Trash folder. Clients can also use _TRASH_
+
+Mon Oct 24 11:19:47 EDT 2005 ajc
+* serv_listsub.c: web subscription/confirmation address no longer has http://
+ prepended to it. This means that clients now must supply that. This was
+ done because we can no longer assume http -- it was breaking on https.
+
+Sun Oct 23 23:28:23 EDT 2005 ajc
+* "day start" and "day end" preferences for calendar day view.
+
+Sun Oct 23 01:37:00 EDT 2005 ajc
+* ft_wordbreaker.c: don't clobber memory when reading in tokens bigger
+ than the token word buffer.
+
+Sat Oct 22 22:55:49 EDT 2005 ajc
+* Set a maximum number of messages which may be indexed before we force
+ a cache flush to disk. Currently 2500.
+
+Sat Oct 22 00:48:47 EDT 2005 ajc
+* msgbase.c: allow multipart/alternative part-swapping only at the top
+ level, because if we recursed into another one then it's going to stomp
+ all over our preferred part. (even more uuuuunnnhhhhh...)
+
+Sat Oct 22 00:46:52 EDT 2005 ajc
+* mime_parser.c: recurse into message/rfc822 parts as if they were
+ multipart, because we may need to extract attachments from the embedded
+ submessage, etc. (uuuuunnnhhhh...)
+
+Fri Oct 21 15:12:45 EDT 2005 ajc
+* MSG4 (and CtdlOutputMsg() as well) now accepts an optional MIME part
+ specifier, allowing the client to fetch an encapsulated message
+ attached as message/rfc822 instead of the top-level message.
+
+Thu Oct 20 17:55:12 EDT 2005 ajc
+* ft_wordbreaker.c: added a list of "noise words" to ignore. This is
+ admittedly EN/US specific, so if anyone wants to contribute noise words
+ for other languages...
+
+Wed Oct 19 22:55:19 EDT 2005 ajc
+* serv_calendar.c: registered a fixed output hook for text/calendar.
+
+Wed Oct 19 13:30:16 EDT 2005 ajc
+* New type of server hook: CtdlRegisterFixedOutputHook(). This is for
+ extending the fixed_output() function for arbitrary new MIME types. The
+ usefulness of this for end users is limited, since no clients use MSG0
+ anymore. The real purpose of converting various MIME types to text is to
+ make them visible to the full text indexer.
+* serv_vcard.c: registered a fixed output hook for text/x-vcard.
+
+Tue Oct 18 22:46:41 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* msgbase.c, messages.c, html.c: conversion of HTML to plain text now accepts
+ a maximum source length. MSG0 output of multipart messages was running
+ right past the end of the HTML and into, for example, a subsequent base64
+ encoded attachment, which was then output -- or worse, indexed.
+* Since everyone's fulltext indices probably contain a lot of base64 junk, the
+ FT_WORDBREAKER_ID has been bumped. This will force an index rebuild on any
+ sites that are upgraded.
+
+Tue Oct 18 13:11:38 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* serv_fulltext.c: index records are now cached in memory. This
+ significantly speeds up indexing of an existing message base. We
+ flush the cache to disk when finished.
+
+Mon Oct 17 22:10:57 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* Easy Install now uses db-4.3.29
+
+Mon Oct 17 10:59:55 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* THIS IS 6.60
+
+Sun Oct 16 00:23:19 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* msgbase.c: alias() now handles addresses such as
+ Display Name <user@host.org>
+ ...when user@host.org resolves to a user on the local Citadel server
+ or network, without trying to loop out and back in again via SMTP.
+
+Sun Oct 16 00:11:16 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* Handle email addresses with commas inside quotes, such as
+ "Cancro, Art" <ajc@uncensored.citadel.org>
+ ...without thinking that the comma is a separator between addresses
+
+Thu Oct 13 00:02:23 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* citadel.c: don't crash when <.R>ead <U>serlist results in an empty
+ list. The ClientIPC API returns NULL if the search returned no results,
+ which we have to handle. This resolves Bugzilla issue #154.
+
+Wed Oct 12 23:30:18 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* newinstall.sh: once again, prefer wget over curl. At least one user
+ reported a problem where the -O option to curl was not available. Also
+ changed -O to --remote-name in the hope that this works better.
+
+Wed Oct 12 17:32:05 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* imap_search.c: when fulltext index is enabled, avoid doing a slow search
+ on each message when BODY is requested. Messages are already qualified
+ by the indexer.
+
+Wed Oct 12 10:30:22 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* html.c: added support for some additional character entity references.
+
+Tue Oct 11 23:13:53 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* Default for autologin is now DISABLED! If you are upgrading an existing
+ site and are using this function, you must --enable-autologin
+* newinstall.sh: --enable-autologin if upgrading an existing installation
+ that we think is set to autologin. It checks for chkpwd to find out.
+
+Tue Oct 11 12:55:43 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* The "set the flags" portion of IMAP COPY now sets the flags of all messages
+ in bulk, instead of one message at a time. Big performance boost.
+
+Tue Oct 11 01:09:59 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* Fixed a problem with replication. I believe we've got it now but it needs
+ another round of testing.
+
+Tue Oct 11 00:45:02 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* Replication checks and EUID indexing are now only enabled for rooms whose
+ default view is set to a groupware type of room. This speeds up the saving
+ and moving of messages for message and mail rooms.
+
+Mon Oct 10 00:22:49 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* IMAP STORE now calls CtdlSetSeen() with an entire list of message numbers.
+
+Sun Oct 9 22:37:44 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+ * CtdlSetSeen() now accepts a list of message numbers instead of just one.
+
+Sat Oct 8 18:40:50 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* Replaced the various "socket is broken" messages with the message
+ "Client disconnected: ending session." The previous messages were concerning
+ some site operators that there might have been something wrong with
+ the system. (Bugzilla #164)
+
+Fri Oct 7 23:07:38 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
+* Makefile.in: change "CVS" references to ".svn" to avoid errors
+ during install.
+
+Revision 655.25 2005/10/06 19:47:00 ajc
+* Change to EUID command syntax: returned msg num is now guaranteed to
+ exist.
+
+Revision 655.24 2005/10/06 19:16:31 ajc
+* Added the EUID command to search for a message by EUID
+
+Revision 655.23 2005/10/06 17:14:41 ajc
+* newinstall.sh: prefer curl over wget
+
+Revision 655.22 2005/10/06 04:09:19 ajc
+* THE DREADED AUTO-PURGER now purges euid index records which point to
+ messages that no longer exist.
+
+Revision 655.21 2005/10/06 03:36:05 ajc
+* Changed the format of the euidindex record to contain the record's key.
+ This will allow us to auto-purge stale records later.
+
+Revision 655.20 2005/10/04 16:38:17 ajc
+* CtdlOutputPreLoadedMsg() calling syntax has changed. It no longer needs
+ the message number, because it is being supplied a preloaded message.
+* msgbase.c: fixed a problem where HEADERS_NONE mode was broken when
+ outputting a message in RFC822 format. This was breaking IMAP commands
+ such as xx FETCH nn BODY[TEXT]
+
+Revision 655.19 2005/10/02 04:40:58 ajc
+* The EUID index is now built, and replication checks are being performed
+ using it. It is much faster now because we don't have to scan the entire
+ room anymore. We still need to do two things:
+ 1. Write a server command to fetch messages by EUID instead of msgnum
+ 2. Find a way to purge stale EUID index records.
+
+Revision 655.18 2005/10/01 05:18:57 ajc
+* Began writing code to index messages by euid per room
+
+Revision 655.17 2005/09/27 04:18:45 ajc
+* Auto-add *recipient* addresses to Contacts. This is done asynchronously
+ because we do have to scan the address book to make sure we don't
+ already have the address recorded.
+
+Revision 655.16 2005/09/26 21:46:08 ajc
+* Attempt to save *outgoing* email addresses to the address book.
+
+Revision 655.15 2005/09/21 20:07:18 ajc
+* Set the To: field for digests as well
+
+Revision 655.14 2005/09/21 16:56:17 ajc
+* The "To: line of a mailing list message is now set to the address of the
+ list instead of the address of the recipient.
+
+Revision 655.13 2005/09/21 13:21:31 ajc
+* Don't harvest incoming addresses. A few hours of operation of this in a
+ production environment proved that it's stupid. This feature has been
+ disabled; we will harvest outgoing addresses instead.
+
+Revision 655.12 2005/09/21 04:27:34 ajc
+* When reading messages in MT_MIME mode from a Citadel client, don't
+ list MIME parts that are part of a multipart/alternative group.
+
+Revision 655.11 2005/09/18 21:51:44 ajc
+* File the auto-generated vCards into the users' address books.
+
+Revision 655.10 2005/09/18 20:33:13 ajc
+* Now harvesting addresses, converting them to vCards, and storing them in
+ the Aide> room. All that's left to do now is file the messages in the
+ appropriate users' address books.
+
+Revision 655.9 2005/09/18 19:34:26 ajc
+* When submitting a message, harvest non-local addresses for potential
+ inclusion in a user's Collected Addresses book. Note: we don't actually
+ do anything with these addresses yet. That comes next.
+
+Revision 655.8 2005/09/18 17:50:05 ajc
+* serv_network.c: use a stat() call to determine the mtime of spoolin, and
+ skip the scan if it hasn't been touched since the last time we looked.
+* serv_network.c: don't create network/systems/ directory. We haven't used
+ that in ages.
+* serv_network.c: only attempt to create directories at startup, not at
+ every queue run. Also, chown() them to the citadel user.
+
+Revision 655.7 2005/09/16 20:40:44 ajc
+* CC: support for message creation, and IMAP. Not tested.
+
+Revision 655.6 2005/09/16 20:21:38 ajc
+* CC: and BCC: delivery are working (tested using message submittal
+ from WebCit) -- still missing the insertion of Y (CC) header field, and
+ the handling of CC in IMAP.
+
+Revision 655.5 2005/09/16 04:23:21 ajc
+* Cc: and Bcc: support. Not finished yet.
+
+Revision 655.4 2005/09/15 21:37:06 ajc
+* Restructured cmd_auto() to be able to search vCards in more than one room.
+ For now we are using the Global Address Book as the second room, but in
+ production that might be a bit too slow.
+
+Revision 655.3 2005/09/15 18:36:29 ajc
+* serv_smtp.c: Allow the use of *any* RFC822-compliant address format,
+ including Name <user@node>, or user@node (Name), by stripping down the
+ address before doing RCPT To: in the SMTP client.
+
+Revision 655.2 2005/09/15 03:31:09 ajc
+* cmd_auto() (used by WebCit address autocompletion) now queries the
+ fn, n, and all email fields in the vCards in user's Contacts room.
+
+Revision 655.1 2005/09/14 03:48:32 ajc
+* Bumped internal version number to 6.56
+* Checked in an initial but incomplete version of the AUTO command
+ (to be used for address autocompletion)
+
+Revision 655.0 2005/09/13 14:00:12 ajc
+* THIS IS 6.55
+
+Revision 654.27 2005/09/13 03:56:37 ajc
+* Don't crash when user hits <.A>ide <P>ost
+
+Revision 654.26 2005/09/10 18:46:48 ajc
+* Functions such as imap_fetch_internaldate() now return quietly with no
+ output, instead of crashing, if passed a NULL message pointer.
+
+Revision 654.25 2005/09/09 19:44:21 ajc
+* New bmstrcasestr() function to perform very fast case-insensitive
+ substring searches using the Boyer-Moore algorithm. Like its predecessor,
+ it is based on the one written by Urs Jannsen; unlike its predecessor, it
+ actually works.
+
+Revision 654.24 2005/09/08 03:25:09 ajc
+* messages.c: break up long lines (preferably by substituting spaces with
+ newlines) to avoid sending messages to the server containing lines with
+ more than 1024 characters, to avoid having the server truncate those
+ lines.
+
+Revision 654.23 2005/09/07 03:08:06 ajc
+* When rejecting a message due to RBL, give the alleged spammers the
+ relevant TXT record if there is one. Hopefully. This needs testing.
+
+Revision 654.22 2005/09/02 03:50:42 ajc
+* serv_network.c: fixed a bug in digest generation that was causing the
+ tops of some messages to be cut off.
+
+Revision 654.21 2005/09/01 22:07:08 ajc
+* citserver.c: change to usage of strdup() to work on RH9 where it's
+ a macro
+
+Revision 654.20 2005/08/29 20:49:50 ajc
+* imap_fetch.c: fixed a bug in the IMAP FETCH BODY code that was causing the
+ "most recently fetched message" cache to be burned even when it shouldn't
+ have been. This was causing abominally slow message load time when a message
+ contains attachments and the MUA is a client such as Thunderbird that does
+ partial fetches.
+
+Revision 654.19 2005/08/23 04:00:01 ajc
+* Mailing list messages are now customized with a To: header for each
+ recipient. This uses more overhead but makes delivery more reliable.
+ We also prepend [List name] to the subject.
+* The undocumented client-side mailing list participation option received
+ a similar update. We now set an explicit To: header in there as well,
+ because some lists demand it.
+
+Revision 654.18 2005/08/21 19:40:50 ajc
+* techdoc/protocol.txt: document that unless otherwise specified,
+ everything in the Citadel system is UTF-8.
+
+Revision 654.17 2005/08/21 06:16:37 ajc
+* html.c: don't transform <32 or >126 characters to question marks. We
+ like foreign character sets now.
+
+Revision 654.16 2005/08/15 16:36:46 ajc
+* Added a "MIME-Version:" header in a couple of places
+
+Revision 654.15 2005/08/12 18:00:29 ajc
+* Bounds checking in CtdlDirectoryLookup()
+
+Revision 654.14 2005/08/12 15:18:27 ajc
+* updated the roadmap
+
+Revision 654.13 2005/08/12 02:12:31 ajc
+* Added more room name macros
+
+Revision 654.12 2005/08/11 23:12:26 ajc
+* debian/citadel-server.postinst: remove reference to '?' file
+ (patch sent in by W. Goesgens)
+
+Revision 654.11 2005/08/11 13:55:26 ajc
+* Attempt to fix broken build of our replacement strcpy() on gcc2.96 by
+ issuing an #undef strcpy (it's a macro in that environment)
+
+Revision 654.10 2005/08/10 21:47:41 ajc
+* Added "instant expunge" and "allow spoofing" site config options.
+
+Revision 654.9 2005/08/10 21:10:54 ajc
+* moved "instant expunge" to imap_do_store() so that it gets called from
+ both STORE and UID STORE commands.
+
+Revision 654.8 2005/08/10 15:39:35 ajc
+* Experimental "instant expunge" option. For now, you have to put
+ -DINSTANT_EXPUNGE into the CFLAGS line of your Makefile. If we decide to
+ keep this it will become a site config option.
+
+Revision 654.7 2005/08/10 02:44:56 ajc
+* Applied changes to debian files sent in by WG
+
+Revision 654.6 2005/08/09 21:58:57 ajc
+* Removed the ./help/? hack; replaced with actual "show directory" code
+ in the server.
+
+Revision 654.5 2005/08/09 16:28:32 ajc
+* setup.c: added "exim4" to the list of non-Citadel MTA's which can be
+ disabled during setup.
+
+Revision 654.4 2005/08/09 14:13:36 ajc
+* newinstall.sh: hunt for both 'make' and 'gmake', but this time make sure
+ that the make in question is actually GNU Make, regardless of its name
+
+Revision 654.3 2005/08/08 14:57:19 ajc
+* Added a new "with header summary" mode to the MSGS command.
+
+Revision 654.2 2005/08/08 14:28:41 ajc
+* CtdlForEachMessage() -- avoid scanning v_seen sequence set for each message
+ during a MSGS_ALL fetch, because the results don't matter.
+
+Revision 654.1 2005/08/05 21:31:01 ajc
+* Any "delete message" operation which is synchronous to a client is now
+ deferred. This is accomplished by copying the message pointer to
+ the __CitadelDeletedMessages__ room, which keeps the reference count at
+ least 1. THE DREADED AUTO-PURGER can sweep it up later.
+
+Revision 654.0 2005/08/05 16:22:38 ajc
+* THIS IS 6.54
+
+Revision 653.18 2005/08/04 04:46:42 ajc
+* Bumped internal version number to 6.54
+* removed some tracing messages
+
+Revision 653.17 2005/08/04 04:22:09 ajc
+* imap_fetch.c: removed a spurious ')' character from the output
+ of the 'charset' field.
+
+Revision 653.16 2005/08/02 03:40:15 ajc
+* Removed instances of hard-coded CTDLDIR; this breaks -h
+
+Revision 653.15 2005/08/02 03:05:31 ajc
+* Added in Wilfried Goesgens' debian/ build directory.
+
+Revision 653.14 2005/08/02 02:49:12 ajc
+* Applied Wilfried Goesgens' dirconfig patch for more install targets
+
+Revision 653.13 2005/08/01 20:45:26 ajc
+* citadel_ipc.c: RUN_DIR not RUNDIR in line 2944
+
+Revision 653.12 2005/07/29 03:50:52 ajc
+* Temporarily disabling network_purge_spoolout() because it may be
+ removing files it shouldn't.
+
+Revision 653.11 2005/07/29 01:50:58 ajc
+* Create network/ directory hierarchy if it doesn't exist
+
+Revision 653.10 2005/07/28 03:22:19 ajc
+* Added a "macintosh readme" written by Mathew McBride
+
+Revision 653.9 2005/07/26 02:49:25 ajc
+* Applied a patch sent in by Wilfried Goesgens which allows the various
+ program and data directories to be set to any location on the host
+ system. This will allow packagers to do FSSTND-type configurations.
+
+Revision 653.8 2005/07/25 17:37:36 ajc
+* citadel_ipc.c: when performing a MSG4 command, don't return the
+ charset as part of the content-type string.
+
+Revision 653.7 2005/07/21 17:20:55 ajc
+* <.R>ead <U>ser-list now takes advantage of the server-side string match
+ if available. It still filters on the client side as well, in case the
+ server is older and sent back the whole list.
+
+Revision 653.6 2005/07/21 15:02:27 ajc
+* Server-side LIST command now accepts a search string.
+
+Revision 653.5 2005/07/19 20:04:31 ajc
+* MSG4 command now outputs content type *and* charset
+
+Revision 653.4 2005/07/19 17:30:13 ajc
+* Fixed a bug in the MIME parser that was causing it to prematurely go
+ out of scope when binary parts are included. (8-bit MIME is not yet
+ explicitly supported in the Citadel server, but WebCit uses this to
+ handle data coming in via the POST method.)
+
+Revision 653.3 2005/07/19 14:21:51 ajc
+* mime_parser.c: don't default to Content-type: text/plain; charset=us-ascii
+ because there are places where those fields actually need to be empty (in
+ WebCit, actually, but I don't want to fork the mime parser).
+
+Revision 653.2 2005/07/19 04:10:01 ajc
+* Updated the MIME parser API to include the "charset" portion of
+ the content type.
+
+Revision 653.1 2005/07/09 11:30:18 ajc
+* Removed trailing space at the end of the list of messages returned by
+ an IMAP SEARCH command.
+
+Revision 653.0 2005/07/06 21:41:52 ajc
+* THIS IS 6.53
+
+Revision 652.1 2005/07/06 21:41:17 ajc
+* Fixed bug #149 (incorrect sequence set optimization, resulting in
+ messages being marked as read/unread incorrectly during IMAP sessions)
+
+Revision 652.0 2005/07/06 02:28:38 ajc
+* THIS IS 6.52
+
+Revision 651.8 2005/07/06 02:28:20 ajc
+* citadel.lsm: removed. Nobody uses the Linux Software Map anymore.
+* Updated internal version number to 6.52
+
+Revision 651.7 2005/07/06 01:53:34 ajc
+* imap_fetch.c: additional self-check to avoid attempting to fetch messages
+ with UID's lower than 1. Hopefully this fixes bug #150.
+
+Revision 651.6 2005/07/01 22:07:27 ajc
+* CtdlSetSeen() -- when new vset overflows its size, trim it in such a way
+ so that it doesn't mark the oldest messages as new.
+
+Revision 651.5 2005/06/28 02:58:19 ajc
+* docs update
+
+Revision 651.4 2005/06/26 22:19:20 ajc
+* auth.c: applied fleeb's patch to validpw() to clean up FreeBSD compatibility
+
+Revision 651.3 2005/06/22 03:45:17 ajc
+* Documented the auto-log-cull as it relates to backup strategies
+
+Revision 651.2 2005/06/22 03:03:34 ajc
+* Automatic deletion of committed database logs is now a site-definable
+ setting.
+
+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
* 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
+ * setup.c: added more items to the list of non-Citadel MTA's which can be
disabled during setup.
Revision 641.4 2005/02/25 17:59:12 ajc
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