* Renamed:
[citadel.git] / citadel / ChangeLog
index 97a26da02f43d91ce148af70b7ca631a03c4d3ff..4d9eb74e4013ca639d71242b83f09537a8290af2 100644 (file)
@@ -1,4 +1,420 @@
  $Log$
+ Revision 607.14  2003/06/29 04:13:32  ajc
+ * Renamed:
+   S_QUICKROOM to S_ROOMS
+   S_USERSUPP to S_USERS
+   CDB_QUICKROOM to CDB_ROOMS
+   CDB_USERSUPP to CDB_USERS
+
+ Revision 607.13  2003/06/29 04:07:11  ajc
+ * Globally renamed "struct quickroom" and "struct usersupp" to
+   "struct room" and "struct user".
+
+ Revision 607.12  2003/06/29 04:06:41  ajc
+ *** empty log message ***
+
+ Revision 607.11  2003/06/29 03:58:41  ajc
+ * Renamed fields in 'struct config' which are no longer relevant (but kept
+   them in place to avoid corrupting everyone's data files).  Removed them
+   entirely from serv_vandelay.c.
+
+ 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
+   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 607.9  2003/06/27 22:19:31  error
+ * routines2.c: Quick and dirty fix for Mail> becoming new after entering a
+   mail message
+
+ Revision 607.8  2003/06/26 01:50:14  ajc
+ * Compiler warning fix for building setup without newt
+
+ Revision 607.7  2003/06/25 15:40:57  ajc
+ * setup now uses "newt" instead of "curses" to draw its pretty screens.
+   Changes were made to setup.c as well as all the autoconf stuff.
+
+ Revision 607.6  2003/06/25 02:40:05  ajc
+ * Per-user and global flags calling for validation need to be set in the
+   vCard upload thingie, not in the wrapper function that emulates the
+   deprecated REGI server command.  Moved it to the correct place.
+
+ Revision 607.5  2003/06/22 20:49:31  error
+ * citadel.c: display idle times in wholist up to 999 days
+
+ Revision 607.4  2003/06/19 04:12:30  ajc
+ * domain.c: use qsort() to sort MX records by preference.  Why have a
+   custom function when the operating system provides one for free?
+ * serv_smtp.c: accept mail from "<>" (empty sender).  RFC1123 5.2.9 demands it.
+
+ Revision 607.3  2003/06/19 03:55:22  ajc
+ * Fixed a subtle but ugly bug in the SMTP sender that was causing it to
+   ignore all successful connections except the last one.  Now when it gets
+   a connection it uses it.
+
+ Revision 607.2  2003/06/17 22:05:11  ajc
+ * New format for wholist.
+
+ Revision 607.1  2003/06/16 04:39:45  ajc
+ * support.c: removed an unused variable
+ * citadel.c: sort wholist by idle time (most recently active users first)
+
+ Revision 607.0  2003/06/10 04:15:39  ajc
+ * THIS IS 6.07
+
+ Revision 606.10  2003/06/04 21:46:13  error
+ * citadel.c: Added a missing #ifdef __CYGWIN__
+
+ Revision 606.9  2003/06/04 21:39:27  error
+ * Numerous fixups needed for Windows port:
+   * cmd_mesg() rewritten to use the stat() syscall to find files
+   * really_do_keepalive() does not try to send if we are not connected
+   * Misc. fixups; added Windows readme file
+
+ Revision 606.8  2003/06/04 21:30:39  error
+ * messages.c: When file attachment has no name, use message subject as name
+
+ Revision 606.7  2003/06/02 23:11:00  error
+ * Checkin installer script citadel.nsi for NSIS Windows installer
+
+ Revision 606.6  2003/06/02 03:01:22  ajc
+ * citserver.c: added another trace message to is_public_client().  Uncensored
+   has crashed twice in this function, for no apparent reason.
+ * internet_addressing.c: don't attempt to look up the specified Internet
+   address in a Citadel directory, if the supplied address has no hostname
+   portion.  (Fixes a crash in the calendar service when alias() attempts to
+   look up potentially nonexistent attendees during event validation)
+
+ Revision 606.5  2003/05/28 03:08:38  ajc
+ * msgbase.c: validate_recipients() now rejects Internet addresses in
+   domains belonging to the local system or an attached Citadel network,
+   when it fails to translate to a Citadel address.
+
+ Revision 606.4  2003/05/26 05:36:25  ajc
+ * citadel.h: changed internal version number to 6.07
+ * file_ops.c: #include <ctype.h>
+ * migratenet.c: #include <ctype.h>
+
+ Revision 606.3  2003/05/26 05:30:18  ajc
+ * serv_calendar.c: fixed a bug in the "ICAL freebusy" subcommand which
+   caused it to always fetch the logged in user's freebusy times instead
+   of the user specified.
+
+ Revision 606.2  2003/05/22 13:34:30  ajc
+ * database_sleepycat.c: added a couple of diagnostic messages to help
+   troubleshoot problems with db-4.1.25 on Red Hat Linux 9
+ * room_ops.c: call mkdir() instead of system() to create a directory
+
+ Revision 606.1  2003/05/20 01:28:50  error
+ * citadel.c: don't truncate roomname when user is idle, in long who list;
+   display idle time in short who list
+
+ Revision 606.0  2003/05/16 15:17:11  ajc
+ * THIS IS 6.06
+
+ Revision 605.50  2003/05/16 14:59:08  ajc
+ * Removed the old rec_log() facility because the utilities which read its
+   data are crufty, disused, and produce incorrect output.
+ * Updated the documentation for the forthcoming 6.06 release.
+ * public_clients: removed hostnames which crept in from development servers
+
+ Revision 605.49  2003/05/16 04:07:37  nbryant
+ make configure.ac automagically do the right thing on redhat 9
+ remove crappy tolower() hack that was breaking the build on redhat 9
+ (because the kerberized openssl includes ctype.h)
+
+ before anyone yells at me, i did a little cvs archaeology on the tolower
+ thing, and it appears to have been in the Citadel source base since,
+ roughly, the Epoch. I doubt that the hack is needed any longer, and using
+ the OS's tolower() will handle extended charsets.
+
+ Anyone who is stupid enough to be using an OS with such a horribly broken
+ tolower() can just scratch their head and figure things out for
+ themselves. Citadel needs higher barriers to entry, there are too many
+ weirdos on the IGnet lately. :-)
+
+ Revision 605.48  2003/05/13 03:22:04  ajc
+ * Implemented the IMAP STARTTLS command as specified in RFC 2595.
+
+ Revision 605.47  2003/05/06 03:38:59  ajc
+ * IMAP folder create and rename commands -- don't allow backslashes in
+   folder names.
+
+ Revision 605.46  2003/05/03 16:50:52  ajc
+ * Change folder delimiter in room names from / to \
+
+ Revision 605.45  2003/05/02 04:02:47  ajc
+ * setup.c: allow specification of the Citadel system account by either
+            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
+ * docs/citadel.html: documented the above change, and also rewrote some
+                      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)
+
+ Revision 605.43  2003/04/30 15:46:27  ajc
+ * Added the ENHANCEDSTATUSCODES extention to ESMTP.
+
+ Revision 605.42  2003/04/29 04:41:22  ajc
+ * Fix an off-by-one error in the mime parser
+
+ Revision 605.41  2003/04/29 04:13:58  ajc
+ * mime parser: look for the "name=" subfield tacked onto either
+   Content-type or Content-disposition, wherever it finds it.
+
+ Revision 605.40  2003/04/28 16:56:51  ajc
+ * Added a site-configurable setting to suppress the automatic correction of
+   forged From: lines from authenticated SMTP users, for those who prefer
+   strict RFC compliance instead of common sense.
+
+ Revision 605.39  2003/04/26 21:55:15  ajc
+ * Anytime a socket connect() fails, CLOSE THE SOCKET before erroring out.
+   Not doing so causes a file descriptor leak.
+
+ Revision 605.38  2003/04/26 04:22:51  ajc
+ * Removal of individual "remote" lines from message delivery instruction sets
+   was corrupting the end of the set, rendering the "bounceto" line unusable
+   and preventing bounces from being delivered.  Fixed this by explicitly
+   adding a trailing newline when remove_token() strips it.
+
+ Revision 605.37  2003/04/25 18:28:47  ajc
+ * When rejecting spam, use SMTP error code 550, not 552
+
+ Revision 605.36  2003/04/23 03:18:44  ajc
+ * Allow IMAP STORE of more than one flag at a time (Mail.app from MacOS
+   does this).
+
+ Revision 605.35  2003/04/15 02:44:02  ajc
+ * Do not allow incoming network polls while an outbound network processing
+   session is in progress.
+ * tools.c: removed collapsed_strcmp() as it is no longer used anywhere
+
+ Revision 605.34  2003/04/08 04:03:37  ajc
+ * Implemented the ".SILENT" protocol option in IMAP STORE.  Certain apps seem
+   to want to use it.
+ * Optimized the IMAP operations which scan for expunged and added messages.
+   These loops no longer make multiple traversals through the message list.
+
+ Revision 605.33  2003/04/07 05:02:23  ajc
+ * Reworked all the "list rooms" operations so that they only require one
+   pass through the database.
+ * Repaired the "create floor" operation which was broken by the switch
+   to the new IPC libray
+
+ Revision 605.32  2003/04/02 13:33:28  ajc
+ * Fixed output of "-0500" vs. "+0500" type of timezone stamps in RFC822.
+   (I think they were reversed.)
+
+ Revision 605.31  2003/04/01 05:01:08  ajc
+ * sysdep.c: optimized MyContext() a bit, and inlined it.  A little profiling
+   revealed that this function was getting used super heavily.
+ * tools.c: removed the older, slower string tokenizer functions that
+   weren't getting used anymore.
+
+ Revision 605.30  2003/03/31 04:55:58  ajc
+ * Repaired the formatting of text/plain messages with blank lines.
+
+ Revision 605.29  2003/03/30 06:16:52  ajc
+ * 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.
+
+ Revision 605.28  2003/03/26 05:17:12  ajc
+ * Downloading of attachments was completely broken by the change to the new
+   protocol library.  Located and fixed bugs.
+ * html.c: increased the conversion buffer size
+
+ Revision 605.27  2003/03/24 03:42:14  ajc
+ * Add the ability to quit out while validating users.  Also added a help
+   option listing available access levels.  This closes Bugzilla #37.
+
+ Revision 605.26  2003/03/22 05:38:23  ajc
+ * During startup, display the version string from the Berkeley DB library.
+ * When deleting a mailbox, don't reveal the namespace prefix to the user.
+
+ Revision 605.25  2003/03/20 08:37:04  error
+ * connection_died(): Don't crash before printing message, crash afterward.
+   (Bugzilla id 111)
+
+ Revision 605.24  2003/03/19 11:48:06  error
+ * entmsg(): Don't corrupt the msg_arr[] when replying to a message in a room
+
+ Revision 605.23  2003/03/19 04:04:56  ajc
+ * Dropped support for GDBM and for versions of Berkeley DB prior to 4.1
+
+ Revision 605.22  2003/03/18 05:15:05  ajc
+ * Applied a patch sent in by Clint Adams <schizo@debian.org> to handle
+   building on Debian's unstable with Berkeley DB 4.1, compiled with
+   the --with-db-uniquename when errno is a macro (as in glibc 2.3.1).
+
+ Revision 605.21  2003/03/17 11:56:35  error
+ * Fix <G>oto in alternate_semantics - it actually marks messages read now.
+
+ Revision 605.20  2003/03/17 04:03:14  ajc
+ * Supply a NULL argument as the second argument to accept() instead of an
+   empty buffer whose contents we never even look at.
+
+ Revision 605.19  2003/03/16 05:07:12  ajc
+ * Fixed the bug that caused freebusy publishes to crash.
+
+ Revision 605.18  2003/03/15 23:05:08  ajc
+ * Rewrite of calendar-to-freebusy conversion functions.  This one creates
+   freebusy in the correct format, instead of what I mistakenly assumed it
+   was supposed to look like.  :(
+
+ Revision 605.17  2003/03/15 22:31:06  ajc
+ * When scanning a user's Calendar> room for calendar events, search for
+   MIME parts of type text/calendar instead of assuming that the event will
+   always appear as part "1"
+
+ Revision 605.16  2003/03/14 05:08:25  ajc
+ * Clone calendar subcomponents before encapsulating in case they already
+   happen to have a parent.
+
+ Revision 605.15  2003/03/13 05:48:33  ajc
+ * Move towards storing calendar objects as fully encapsulated VCALENDAR
+   components instead of just VEVENT subcomponents.
+
+ Revision 605.14  2003/03/12 03:33:54  ajc
+ * More changes to the handling of RFC822 headers with regard to
+   splitting up the headers and body.  (Blank lines and such.)
+
+ Revision 605.13  2003/03/11 06:23:50  ajc
+ * More accurate handling of IMAP FETCH xx BODYSTRUCTURE command.  This should
+   make Pine happier with multipart messages.
+
+ Revision 605.12  2003/03/10 05:38:21  ajc
+ * Tweaks to msgbase.c and imap_fetch.c to fix slightly incorrect byte counts
+   reported in the numerous variations of IMAP FETCH.  This silences a number of
+   error messages reported by Pine.
+
+ Revision 605.11  2003/03/10 03:40:08  ajc
+ * Fixed bug that caused segv when <R>eplying to certain messages
+
+ Revision 605.10  2003/03/07 17:39:45  ajc
+ * Remove the "modules" directory
+
+ Revision 605.9  2003/03/06 04:58:11  ajc
+ * When entering a message into Citadel with authenticated SMTP, stamp the
+   room name as MAILROOM (Mail>) so it doesn't end up with an ugly moniker
+   like "0000058008.Sent Items"
+
+ Revision 605.8  2003/03/05 04:55:32  ajc
+ * serv_smtp.c: when authenticated, do not log out when a RSET command is
+   issued.  This breaks clients which carelessly issue RSET before each
+   message, such as Pine.
+ * serv_smtp.c: when authenticated, ignore envelope FROM:<xxx> sender name
+   and replace with address of user who authenticated.  Also fixes Pine.
+ * serv_smtp.c: when authenticated, not only do we continue our glorious
+   RFC-violating condition of replacing the From: header with the user who
+   is logged in, but we also stamp it with their preferred Internet address
+   for outbound mail (which is kept in CC->cs_inet_email).
+
+ Revision 605.7  2003/03/03 04:09:21  ajc
+ * When creating a user, hide the "My Citadel Config>" room of the user being
+   created, not the user currently logged in.
+
+ Revision 605.6  2003/03/01 18:18:03  ajc
+ * commands.c: alternate_semantics might have been getting set where it
+   should not.  Fixed.
+
+ Revision 605.5  2003/03/01 17:25:33  ajc
+ * citadel.rc default for alternate_semantics = no
+
+ Revision 605.4  2003/02/23 05:34:45  ajc
+ * When the <N>ew command is used to read new messages, the next "lazy"
+   command (space bar) now always does <G>oto, regardless of the last one.
+
+ Revision 605.3  2003/02/21 04:24:51  ajc
+ * Completed the "ICAL freebusy" subcommand, which fetches free/busy times
+   for any requested user (output in stripped-down VCALENDAR format)
+
+ Revision 605.2  2003/02/20 04:51:17  ajc
+ * Began framing up a command to view other users' free/busy times
+
+ Revision 605.1  2003/02/19 22:38:43  ajc
+ * Changed socklen_t to int (to allow compile on Macintosh)
+
+ Revision 605.0  2003/02/19 03:46:01  ajc
+ * THIS IS 6.05
+
+ Revision 601.134  2003/02/17 05:23:20  ajc
+ * Fixed a small bug in the GDBM backend (deprecated, but the bug was very
+   obvious and a kind user pointed it out)
+ * Removed vestiges of setjmp/longjmp from the client
+ * When doing .TS, don't get caught in a constant-logout loop
+
+ Revision 601.133  2003/02/14 16:12:04  ajc
+ * Added support for any standard RBL
+
+ Revision 601.132  2003/02/13 22:33:41  ajc
+ * Fixed algorithm for reporting "last login"
+
+ Revision 601.131  2003/02/13 21:52:13  ajc
+ * IMAP service: fixed bug that was causing the wrong messages (usually *all*
+   messages) to be flagged when a STORE or COPY operation was performed.
+
+ Revision 601.130  2003/02/13 20:13:51  ajc
+ * Applied "multi editor" patch supplied by georbit
+
+ Revision 601.129  2003/02/12 04:51:44  ajc
+ * More docs update
+
+ Revision 601.128  2003/02/10 04:50:33  ajc
+ * More documentation updates
+
+ Revision 601.127  2003/02/09 03:38:28  ajc
+ * Updated the documentation some more
+
+ Revision 601.126  2003/01/25 07:37:15  error
+ * whobbs.c: Print error message if we can't connect to server
+
+ Revision 601.125  2003/01/23 05:50:59  ajc
+ * citadel.c: hitting enter without entering a room name in the <.G>oto and
+   <.S>kip commands now does nothing instead of exhibiting undefined behavior
+
+ Revision 601.124  2003/01/23 04:42:33  ajc
+ * Began reviewing, updating, and HTML-izing the documentation
+
+ Revision 601.123  2003/01/22 03:53:24  ajc
+ * More reliablility hacks for autologin mode, and better quarantine of
+   autologin code when it's disabled.
+
+ Revision 601.122  2003/01/21 04:42:12  ajc
+ * Moved login-to-screenname code ... no longer part of CtdlTryExistingUser(),
+   it's now part of getuser() so it always gets called, even when looking up
+   addresses for mail and stuff.
+
+ Revision 601.121  2003/01/19 08:59:02  error
+ * Remove irrelevant file hpsux.h (was part of dynloader)
+
+ Revision 601.120  2003/01/19 05:55:59  ajc
+ * serv_calendar.c: allocate dynamic symbol at module startup, not during
+   each session startup.  This error was causing crashes (of course).
+
+ Revision 601.119  2003/01/18 06:18:20  ajc
+ * whobbs.c: line up the columns better
+ * routines2.c: when doing <.ASI> command, entering a blank hostname causes
+   it to abort instead of adding a new host.  Also strip l/t whitespace.
+
+ Revision 601.118  2003/01/17 22:36:56  ajc
+ * This commit is a figment of your imagination.
+
+ Revision 601.117  2003/01/17 21:50:27  ajc
+ * Began making some build changes for Cygwin compatibility
+
+ Revision 601.116  2003/01/17 10:06:54  error
+ * fmout():  Ignore \r (carriage return) characters in messages
+
+ 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
+
  Revision 601.114  2003/01/16 21:16:23  error
  * CtdlIPCGetMessages(): Fix message read failing on first attempt to read
    messages
    purge and the next to delete them.  Works better in transactionland.
 
  Revision 573.91  2001/02/14 08:11:27  error
- * citadel.rc: added $Id$ (it's about time!)
+ * citadel.rc: added RCS ID (it's about time!)
 
  Revision 573.90  2001/02/14 04:23:54  ajc
  * Fixed POP3 server responses ending in \n instead of \r\n as they should be.