]> code.citadel.org Git - citadel.git/blobdiff - citadel/ChangeLog
* config.c: default setting for "maxmsglen" is now 10 megabytes, not INT_MAX
[citadel.git] / citadel / ChangeLog
index 6b3444c5add680227354285357bbffe29f2c27bd..d8f22973eee65980713b2224c1fc0910041c8f2d 100644 (file)
@@ -1,4 +1,386 @@
  $Log$
+ 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 641.4  2005/02/25 17:59:12  ajc
+ * Ok, now we accept *all* the flags transmitted during an IMAP APPEND, not
+   just the first one.
+
+ Revision 641.3  2005/02/25 05:51:52  ajc
+ * Started working on a fix for the IMAP APPEND "flags" thing.  It works
+   but only for the first flag sent.  Will finish tomorrow.
+
+ Revision 641.2  2005/02/24 18:14:24  ajc
+ * Removed excessive trace messages that were slowing the server down
+ * Prepared for handling of setting flags in IMAP APPEND
+
+ Revision 641.1  2005/02/23 04:24:57  ajc
+ * When auto-creating Mail>, Sent Items>, etc... set view to VIEW_MAILBOX
+
+ Revision 641.0  2005/02/21 21:59:33  ajc
+ * THIS IS 6.41
+
+ Revision 640.14  2005/02/21 21:40:28  ajc
+ * Updated internal version number to 6.41
+
+ Revision 640.13  2005/02/20 21:10:59  ajc
+ * Repaired access control problem in IMAP SUBSCRIBE
+
+ Revision 640.12  2005/02/17 16:13:59  ajc
+ * Removed "Log Hooks."  This enabled the removal of a buf[SIZ] in lprintf,
+   where it can potentially blow lots of stacks.
+
+ Revision 640.11  2005/02/17 03:52:16  ajc
+ * setup.c: clarify some of the messages
+
+ Revision 640.10  2005/02/16 19:03:38  ajc
+ * master_cleanup() now passes along an exit code from its caller to the OS.
+
+ Revision 640.9  2005/02/16 18:48:39  ajc
+ * Try to reach our cleanup routine when SIGSEGV is caught.  Hopefully
+   we'll get there and we can close the databases cleanly.
+
+ Revision 640.8  2005/02/16 17:37:16  ajc
+ * Be more aggressive about shutting down when told to.  Getting the
+   databases closed is the highest priority.
+
+ Revision 640.7  2005/02/16 04:08:42  ajc
+ * newinstall.sh: put the checksum files server-side to avoid
+   unnecessary downloads
+
+ Revision 640.6  2005/02/16 03:02:28  ajc
+ * Applied patches submitted by Kevin Kilbride for TCP_CORK and for
+   turning CitContext into a doubly-linked list.
+
+ Revision 640.5  2005/02/13 04:55:18  ajc
+ * Did the server port hooks etc. for SSL listeners.  For some reason it
+   doesn't work.  :(
+
+ Revision 640.4  2005/02/13 04:23:59  ajc
+ * Added server and client configuration settings to specify port
+   numbers for IMAPS, POP3S, and SMTPS (SSL-encrypted services that start
+   SSL upon connect instead of using a STARTTLS command).  These services
+   are not yet implemented, only the port number settings are.
+
+ 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 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
+   for more "true unix" approaches to each.
+
+ Revision 640.1  2005/02/11 03:51:51  ajc
+ * <.A>ide <U>ser-edit is now <.A>ide <U>ser <E>dit
+ * Added a new <.A>ide <U>ser <D>elete command, because it is unintuitive
+   to tell people "delete a user by setting their access level to 0"
+
+ Revision 640.0  2005/02/10 16:52:18  ajc
+ * THIS IS 6.40
+
+ Revision 630.16  2005/02/10 16:52:03  ajc
+ * Updated documentation etc. for 6.40 release (and for 2005 copyright)
+
+ Revision 630.15  2005/02/08 03:33:49  ajc
+ * client_gets(char *buf) has been replaced by
+   client_getln(char *buf, int maxbytes)
+
+ Revision 630.14  2005/02/05 22:56:31  ajc
+ * More reliable handling of conversion of vCard UID to Citadel Extended ID
+   (necessary for GroupDAV URL's to be generated properly in WebCit)
+
+ Revision 630.13  2005/02/05 04:13:34  ajc
+ * msgbase.c: replication checks for Exclusive-ID no longer cause a save
+   operation to fail when the existing message is newer.  This was causing
+   groupware clients to go haywire because of datestamps being set to
+   event start times, etc.
+
+ Revision 630.12  2005/02/03 04:36:56  ajc
+ * serv_calendar.c: beforesave hook now looks for the UID inside nested
+   VTODO components, in addition to VCALENDAR components.
+
+ Revision 630.11  2005/02/01 23:11:46  ajc
+ * new ENT0 syntax now also outputs EUID
+
+ Revision 630.10  2005/02/01 19:46:12  ajc
+ * Added an SMTP-like calling syntax to ENT0 to allow a confirmation message
+   to be sent back to the client after a message is transmitted.
+
+ Revision 630.9  2005/02/01 03:33:22  ajc
+ * Changed CtdlRoomAccess() calling syntax in order to return both
+   the access bits and the current view
+ * All "list rooms" commands now return the view for each room.
+
+ Revision 630.8  2005/01/27 22:05:21  ajc
+ * Renamed the "Extended message ID" field to "Exclusive message ID"
+   (nothing changes except documentation and internal variable names)
+
+ Revision 630.7  2005/01/27 21:59:22  ajc
+ * serv_vcard.c: changed the logic a bit.  When saving a vCard to a user's
+   "My Citadel Config" room, force-feed the vCard a site-compliant UID and
+   FBURL.  When saving a vCard to *any* address book room, set the Citadel
+   EUID to the vCard UID.
+
+ Revision 630.6  2005/01/27 17:33:52  ajc
+ * The before-save hook in serv_calendar.c now runs for any room with a
+   view of VIEW_CALENDAR or VIEW_TASKS, not just Calendar> and Tasks>.
+
+ Revision 630.5  2005/01/26 23:04:22  ajc
+ * When saving calendar items, if the vCalendar object does not contain
+   a UUID, generate one on the fly.  In order to support GroupDAV we need
+   persistent URL's, and I plan to base those on the UUID.
+
+ Revision 630.4  2005/01/25 20:58:07  ajc
+ * serv_pop3.c: minor change to logging output
+
+ Revision 630.3  2005/01/25 15:02:12  error
+ * Updated SSL/TLS code to actually use the TLS cipher suites
+
+ Revision 630.2  2005/01/22 04:15:32  ajc
+ * Increased per-thread stack size again, this time to 1MB
+
+ Revision 630.1  2005/01/22 03:14:20  ajc
+ * Each message's metadata now has the ability to cache the length of
+   the message when output in RFC822 format.  The POP3 service populates
+   this field the first time it sees each message, and fetches the length
+   from cache on subsequent visits.
+ * Because of this optimization, we no longer need to keep the entire POP3
+   mailbox stored in open temp files during a session.  Each message is
+   opened again when it is fetched.
+
+ Revision 630.0  2005/01/21 20:25:08  ajc
+ * THIS IS 6.30
+
+ Revision 629.10  2005/01/21 20:24:34  ajc
+ * Internal version number is now 6.30
+
+ Revision 629.9  2005/01/21 20:20:06  ajc
+ * Increase per-thread stack size from 128k to 256k.  This fixes the
+   crashing IMAP service on 64-bit Linux.
+
+ Revision 629.8  2005/01/19 20:49:46  ajc
+ * Minor fixenbugs after running with Valgrind
+
+ Revision 629.7  2005/01/19 03:03:36  ajc
+ * Minor and/or cosmetic changes made during x64 troubleshooting
+
+ Revision 629.6  2005/01/18 17:58:38  ajc
+ * Trying to fix IMAP brokenness on Linux-x64.  Committing changes even
+   though there are a lot of annoying trace messages in this tree, because
+   I did clean up a bunch of stuff here and there.
+
+ Revision 629.5  2005/01/14 17:08:30  ajc
+ * Applied a configure script fix sent in by David Given for more reliable
+   detection of the installed libical version.
+
+ Revision 629.4  2005/01/13 05:43:16  ajc
+ * Initial support for having a room participate in a remote mailing list
+
+ Revision 629.3  2005/01/09 03:20:41  ajc
+ * Applied a patch sent in by David Given for handling of the "&" character
+   plus Unicode characters in IMAP folder names.
+
+ Revision 629.2  2005/01/07 15:56:14  ajc
+ * msgbase.c: fixed an incorrect variable name in the bigmsg-handler
+
+ Revision 629.1  2005/01/07 03:05:04  ajc
+ * serv_imap.c: fail with a "BAD" error response if the LOGIN command is
+   called with the wrong number of parameters (otherwise it goes boom)
+ * user_ops.c: CtdlLoginExistingUser() was calling strproc() on the supplied
+   name, which killed the ability to log in with your email address (because
+   it stripped the @ symbol).  Changed it to striplt() instead.
+
+ Revision 629.0  2005/01/04 03:57:32  ajc
+ * THIS IS 6.29
+
+ Revision 628.2  2005/01/04 03:57:21  ajc
+ * newinstall.sh: save tarball checksums after successful install of each
+   component; skip subsequent installs for components which have not changed
+ * Bumped internal version number to 6.29
+
+ Revision 628.1  2005/01/04 02:06:28  ajc
+ * sysdep.c: if we have enough information to do so, adjust maximum file
+   descriptors to avoid exceeding FD_SETSIZE.  This is done to circumvent
+   a rare but specific vulnerability.
+
+ Revision 628.0  2004/12/14 03:16:19  ajc
+ * THIS IS 6.28
+
+ Revision 627.12  2004/12/12 17:33:24  error
+ * sysdep.c: lprintf(): Bug 124: Fix remote format string vulnerability
+   (thanks to coki@nosystem.com.ar)
+
+ Revision 627.11  2004/12/01 16:28:58  ajc
+ * tools.c: don't crash when striplt() is called with z zero length string
+
+ Revision 627.10  2004/11/26 22:44:08  ajc
+ * Added a sooper-seekrit way to spool network messages to a remote node
+   where the room has a different name
+ * Internal version number is now 6.28, so that WebCit doesn't b0rk the
+   netconfigs of older Citadel servers
+
+ Revision 627.9  2004/11/19 02:31:56  ajc
+ * Added developer ID # 177
+
+ Revision 627.8  2004/11/16 23:04:18  ajc
+ * setup.c: added "dovecot" to the list of "other email services" which
+   the setup program can helpfully disable for you.  :)
+
+ Revision 627.7  2004/11/12 03:51:42  ajc
+ * serv_expire.c: auto-purge any user whose user number is less than 1.
+
+ Revision 627.6  2004/11/11 16:21:12  nbryant
+ * database_sleepycat.c: make cdb_rewind enforce that cursors must be
+   closed before they can be opened again. (prevents cursors being held
+   open for longer than they should be and holding database locks.)
+
+ Revision 627.5  2004/11/11 14:56:16  ajc
+ * Further adjustments to ldap setup
+
+ Revision 627.4  2004/11/11 04:38:36  ajc
+ * setup.c: fix bug that kept creating new inittab entries for slapd
+
+ Revision 627.3  2004/11/10 21:33:47  ajc
+ * Go to Berkeley DB 4.3.21 in Easy Install
+
+ Revision 627.2  2004/11/10 19:59:23  nbryant
+  * configure.ac: detect /usr/local/BerkeleyDB.4.3
+
+ Revision 627.1  2004/11/10 03:03:14  ajc
+ * Added a few wonderful linebreaks to >80 column lines
+
+ Revision 627.0  2004/11/03 20:18:58  ajc
+ * THIS IS 6.27
+
+ Revision 626.18  2004/11/03 20:18:46  ajc
+ * Internal version number is now 6.27
+
+ Revision 626.17  2004/11/02 22:59:20  ajc
+ * setup.c: fixed an incorrect variable name that was causing inittab
+   twiddling to malfunction.
+
+ Revision 626.16  2004/11/02 02:47:10  ajc
+ * Easy Install: put the log directly in /tmp instead of in the build
+   directory so it doesn't get deleted on a failed install.
+
+ Revision 626.15  2004/10/23 14:33:44  ajc
+ * serv_notes.c: finished.  When saving a message in a room whose view
+   is set to "notes," look for an X-KOrg-Note-Id: header, and if one is
+   present, set both the Extended ID and the Subject to that.  This is for
+   Aethera compatibility.
+
+ Revision 626.14  2004/10/22 14:49:25  ajc
+ * newinstall.sh: Be more careful about locating make/gmake on the host
+   system.  Also now tries to use curl if wget is not available.
+
+ Revision 626.13  2004/10/22 02:53:25  ajc
+ * serv_notes.c: added skeleton module
+ * serv_newuser.c: corrected internal comment
+ * techdoc: renamed session.txt to protocol.txt because it really isn't
+   a session layer protocol, it's more of an application layer protocol.
+
+ Revision 626.12  2004/10/13 02:11:00  ajc
+ * Repaired a completely broken <;Z>ap floor command.
+
+ Revision 626.11  2004/10/12 11:24:42  ajc
+ * Tracing a problem with ;Z command
+
+ Revision 626.10  2004/10/12 02:48:11  ajc
+ * Reworked shutdown sequence to avoid thread deadlock
+
+ 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
+ * Re-ordered the security checks in CtdlAccessCheck()
+
+ Revision 626.8  2004/10/06 21:23:21  error
+ * Fixup a few more compiler warnings from icc
+
+ Revision 626.7  2004/10/05 01:44:20  ajc
+ * Changed a bunch of localtime() calls to localtime_r(), for great justice.
+
+ Revision 626.6  2004/10/04 21:40:29  error
+ * configure.ac: Add CFLAGS for icc Intel Compiler
+
+ Revision 626.5  2004/10/04 21:39:35  error
+ * Fix a couple of minor compiler warnings
+
+ Revision 626.4  2004/10/03 04:25:23  ajc
+ * Removed some vestiges
+
+ Revision 626.3  2004/10/03 04:11:48  ajc
+ * sysdep.c: in the main server loop, when time_to_die is detected, return
+   immediately instead of falling through to the end of the function.
+
+ Revision 626.2  2004/10/03 03:57:32  ajc
+ * Added pthread_attr_destroy() in the appropriate location (thanks fleeb!)
+
+ Revision 626.1  2004/10/01 15:58:08  ajc
+ * Configure "notes" view and auto-create Notes> room
+
  Revision 626.0  2004/09/28 16:11:16  ajc
  * THIS IS 6.26
 
  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
  * 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 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
@@ -6122,4 +6503,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
-