$Log$
+ Revision 580.24 2001/08/14 02:41:57 ajc
+ * Began the migration of netproc into part of the serv_network.c module instead
+ of a standalone program.
+
+ Revision 580.23 2001/08/11 22:35:40 nbryant
+ updated citadel-with-berkeley-db.txt.
+ - updated build instructions
+ - improved backup procedures to be safer and more space-efficient.
+
+ Revision 580.22 2001/08/11 19:18:41 ajc
+ * Realized that I am stupid and started implementing server commands to load
+ and save network configurations, when I had already lovingly implemented the
+ CONF GETSYS and CONF PUTSYS commands to store arbitrary configuration sets
+ in the Local System Configuration> room. Ripped the newer crap out.
+ * Implemented a skeleton of <.A>ide <S>ysconfig <N>etwork on the client side.
+
+ Revision 580.21 2001/08/11 03:51:56 ajc
+ * Removed the idle timer from the client. Dialup is dead.
+
+ Revision 580.20 2001/08/06 21:33:29 nbryant
+ made the client fall back on port 504 if there's no /etc/services entry
+
+ Revision 580.19 2001/08/05 23:54:14 ajc
+ * prep for new network node infrastructure
+
+ Revision 580.18 2001/08/03 16:53:21 ajc
+ * Added some more "break" statements to the main switch..case loop in
+ citadel.c where they were needed.
+
+ Revision 580.17 2001/08/03 16:43:53 ajc
+ * database_sleepycat.c: when running txn_checkpoint(), handle DB_INCOMPLETE
+ return code as a warning instead of an error worthy of aborting the server.
+ See http://www.sleepycat.com/docs/api_c/txn_checkpoint.html for explanation.
+
+ Revision 580.16 2001/07/30 03:46:14 nbryant
+ made ForEachUser use a read-only cursor, too. there is now only one piece of
+ code in Citadel proper (not the database driver) that needs transactions.
+ that's check_ref_counts; in other words it's the only thing standing in the way
+ of a clean implementation of retryable transactions.
+
+ Revision 580.15 2001/07/29 22:24:04 nbryant
+ - added a new function to the database interface, cdb_close_cursor(). always
+ call this when you're finished with a traversal but didn't bother reading all
+ the way to the end.
+
+ - removed several cdb_begin_transaction()/cdb_end_transaction() calls that are
+ no longer needed because of the read-only cursor support.
+
+ Revision 580.14 2001/07/29 20:56:09 nbryant
+ change ForEachRoom to use read-only cursors by default. it can be overridden to
+ still use read/write cursors by doing:
+
+ cdb_begin_transaction();
+ ForEachRoom(...);
+ cdb_end_transaction();
+
+ the only place I found where it appears necessary to do so is check_ref_counts,
+ so this checkin affects that function too.
+
+ Revision 580.13 2001/07/29 20:06:33 nbryant
+ generate symlinks to .libs in modules directory
+
+ Revision 580.12 2001/07/28 00:02:50 nbryant
+ implemented read-only cursors. one of the advantages to these is that
+ transactions can be avoided; a cursor operation that occurs within a
+ transaction will often acquire a read lock on every single database page. in
+ general, the Sleepycat documentation recommends avoiding transaction-protected
+ read-only operations where practical. read/modify/write operations can still
+ be transaction protected, of course.
+
+ to use a read-only cursor, call cdb_rewind without a previous call to
+ cdb_begin_transaction. the DB driver will notice this and prevent the current
+ thread from modifying data or starting a transaction until the cursor is
+ closed.
+
+ Revision 580.11 2001/07/27 20:45:44 nbryant
+ libtool has matured a lot since the last time i looked at it (years ago)
+ so we now use it to handle the details of building shared libraries and
+ the linker flags for the main executable.
+
+ in theory this should bring a lot more portability to the dynloader
+ subsystem and enable us to do things like transparently detect GNU vs Sun
+ linkers on solaris, for example
+
+ Revision 580.10 2001/07/27 03:29:04 nbryant
+ missed one thing in the autoconf move
+
+ Revision 580.9 2001/07/27 02:57:43 nbryant
+ support one cursor per database rather than one global cursor
+
+ Revision 580.8 2001/07/27 01:32:07 nbryant
+ remove the automatic transaction demarcation on singleton read operations
+
+ Revision 580.7 2001/07/26 21:43:46 nbryant
+ - move to autoconf 2.52
+ - random warning fix
+ - check for db 3.3
+
+ Revision 580.6 2001/07/24 13:17:54 ajc
+ * New UI for mailing list setup
+ * rooms.c: code cleanup
+ * docs update
+
+ Revision 580.5 2001/07/20 23:48:23 nbryant
+ fix build on solaris, check default install location for db 3.2, and silence
+ gcc 3.0
+
+ Revision 580.4 2001/07/16 14:24:30 ajc
+ * Silly cosmetic change to keep the wholist ordered by ascending session number
+
+ Revision 580.3 2001/07/13 00:01:36 ajc
+ * Shuffled around some of the housekeeping loop code
+
+ Revision 580.2 2001/07/11 17:01:10 ajc
+ * database_sleepycat.c: small changes to log messages
+
+ Revision 580.1 2001/07/11 04:35:40 nbryant
+ moved dret initialization in cdb_fetch, just in case
+
+ Revision 580.0 2001/07/03 03:07:06 ajc
+ * THIS IS 5.80
+
+ Revision 573.143 2001/07/03 03:06:50 ajc
+ * Last minute doco update for 5.80
+
+ Revision 573.142 2001/07/01 15:44:32 nbryant
+ configure.in: check for Berkeley DB first.
+
+ Revision 573.141 2001/06/27 23:34:30 ajc
+ * Added some verbage to messages/roomaccess to placate a user who keeps
+ bitching about privacy policy.
+
+ Revision 573.140 2001/06/19 03:41:04 ajc
+ * Ooops... last_cull needs to be declared static
+
+ Revision 573.139 2001/06/19 03:33:19 ajc
+ * imap_fetch.c: download MIME parts without decoding first. We like that.
+ * database_sleepycat.c: added automatic culling of log files which have not
+ been written to in five days.
+
+ Revision 573.138 2001/06/17 19:42:23 nbryant
+ fix all the <time.h> vs. <sys/time.h> issues, hopefully
+
+ Revision 573.137 2001/06/07 03:28:37 ajc
+ * More tweaks to the MIME parser
+
+ Revision 573.136 2001/06/06 15:44:37 ajc
+ * msgbase.c: output extra newline at end of RFC822 message if necessary to
+ ensure that 000 termination string appears on a line by itself.
+
+ Revision 573.135 2001/06/06 04:22:25 ajc
+ * Moved memreadline() to tools.c
+ * internet_addressing.c: fixed conversion of fields to (hopefully) never get
+ into an active loop when encountering badly formed headers
+
+ Revision 573.134 2001/05/27 05:23:03 ajc
+ * Added a "no new messages" response in the client, displayed when a read
+ command turns up a zero message count.
+
+ Revision 573.133 2001/05/18 20:12:09 ajc
+ * Fixed bug in mime_parser.c that caused parts to be dropped when the last
+ boundary was the very last line of the message.
+ * serv_smtp.c: toned down some of the command response verbage.
+
+ Revision 573.132 2001/04/28 04:42:55 ajc
+ * Updated some of the docs. Bumped version number to 5.80 in anticipation
+ of going into a release cycle soon.
+
+ Revision 573.130 2001/04/26 03:31:00 ajc
+ * Finished the implementation of per-message seen/unseen logic, both in the
+ server proper and in IMAP. Citadel protocol uses new "seen" command.
+
+ Revision 573.129 2001/04/21 04:55:51 ajc
+ * Began implementation of per-message seen/unseen attribute
+
+ Revision 573.128 2001/04/20 03:39:54 ajc
+ * IMAP LIST/LSUB: made it case insensitive. Also minor IMAP code cleanup.
+
+ Revision 573.127 2001/04/17 00:35:19 cough
+ * Modified rooms.c in the client so that it would allow inviting into
+ public rooms. This is important since there is now a V_LOCKOUT
+ flag which prevents users who have been kicked from rejoining
+ a room unless/until you invite them back in.
+
+ Revision 573.126 2001/04/16 19:21:14 cough
+ * Fixed bug in room_ops.c that wasn't allowing aides to goto passworded
+ rooms without knowing the password.
+
+ Revision 573.125 2001/04/14 04:26:44 ajc
+ * Fixed an unterminated string bug in IMAP APPEND. Storing messages should
+ work now.
+
+ Revision 573.124 2001/04/10 01:04:10 ajc
+ * Finished coding IMAP APPEND. It works, but there's a bug in it somewhere
+ that is corrupting the memory.
+
+ Revision 573.123 2001/04/03 00:47:23 ajc
+ * Began implementing IMAP APPEND
+
+ Revision 573.122 2001/04/01 22:05:44 cough
+ * *Actually* fixed a botched ChangeLog entry.
+
+ Revision 573.121 2001/04/01 22:04:28 cough
+ * Fixed a botched ChangeLog entry.
+
+ Revision 573.120 2001/04/01 22:03:10 cough
+ * Changed two fclose()s to pclose()s.
+
+ Revision 573.119 2001/03/25 11:52:36 error
+ * serv_pop3.c: Fixed APOP. Now logs in properly. Also cleaned up some non-
+ RFC-compliant error messages.
+
+ Revision 573.118 2001/03/21 05:47:49 ajc
+ * Added the new IMAP mailbox string compare submitted by Daniel Malament.
+
+ Revision 573.117 2001/03/20 01:33:55 ajc
+ * Added the (\NoInferiors) tag to all rooms listed in IMAP. This made Mozilla
+ behave very nicely.
+
+ Revision 573.116 2001/03/13 17:19:33 ajc
+ * support (BODY[HEADER.FIELDS(BLAH BLAH BLAH)]) and HEADER.FIELDS.NOT
+
+ Revision 573.115 2001/03/12 01:27:42 ajc
+ * Implemented SUBSCRIBE and UNSUBSCRIBE commands
+
+ Revision 573.114 2001/03/11 23:00:29 ajc
+ * Mega sexy hack to deliver express messages THROUGH IMAP! uber coolness!!
+
+ Revision 573.113 2001/03/11 22:09:20 ajc
+ * Replaced the "citlogin" binary wrapper with the "loginwrapper.sh" script.
+
+ Revision 573.112 2001/03/11 20:06:53 ajc
+ * Fixed bug that created incorrect roomnames when sending pages
+
+ Revision 573.111 2001/03/11 19:23:32 ajc
+ * IMAP DELETE command ... also split up access control for room delete cmds
+
+ Revision 573.110 2001/03/10 17:29:07 ajc
+ * Implement proper access control for deleting messages from IMAP
+
+ Revision 573.109 2001/03/07 04:02:27 ajc
+ * Fixed some small IMAP bugs
+
+ Revision 573.108 2001/03/06 04:44:00 ajc
+ * Probable completion of STATUS, COPY, STORE, and EXPUNGE commands in IMAP
+
+ Revision 573.107 2001/03/06 03:31:58 nbryant
+ database-related cleanups and paranoia tests;
+ fixed a transaction-leak/deadlock problem in cdb_delete;
+ solved the SIGPIPE mystery (GDB stops on SIGPIPE is all it was)
+
+ Revision 573.106 2001/03/05 04:59:31 ajc
+ * IMAP COPY
+
+ Revision 573.105 2001/03/04 23:49:41 ajc
+ * IMAP EXPUNGE responses -should- be correct now
+
+ Revision 573.94 2001/02/20 00:02:56 ajc
+ * IMAP: implemented the STATUS command (sort of).
+
+ Revision 573.93 2001/02/19 22:24:41 ajc
+ * IMAP server: added untagged, unsolicited server messages for newly arrived
+ messages, and messages expunged by another session.
+
+ Revision 573.92 2001/02/17 05:53:35 ajc
+ * Repaired the creation of page log rooms in the wrong namespace when the
+ recipient does not yet have his/her log room created.
+ * Rewrite "EXPI messages" to run in two passes: one to gather messages to
+ 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!)
+
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.
This was causing some clients (such as Pine) to lock up.
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
-