$Log$
+ 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.