* Renamed "struct user" to "struct ctdluser"
[citadel.git] / citadel / ChangeLog
index dcc5c19a61df0cc869e72b42d1ed2249638a75b6..43d40da19f06353cecac7d1d204c530a295caf86 100644 (file)
@@ -1,4 +1,420 @@
  $Log$
+ Revision 607.15  2003/06/29 19:54:39  ajc
+ * Renamed "struct user" to "struct ctdluser"
+ * Renamed "struct room" to "struct ctdlroom"
+
+ 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
    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.