* Include a pre-fixed parsedate.c in the source tree in order to eliminate
[citadel.git] / citadel / ChangeLog
index adf3f9e4872b50bae4953240d2218e23b7df8131..9b99736f6c0ea13234b95b1884e8b162ca3f8c39 100644 (file)
@@ -1,4 +1,412 @@
-$Log$
+$Id$
+
+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
@@ -577,7 +985,7 @@ date: 2005/05/23 19:31:52;  author: ajc;  state: Exp;  lines: +5 -1
  * 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
@@ -7021,4 +7429,3 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import
-