$Log$
+ Revision 580.74 2001/11/14 02:59:01 ajc
+ * Network run frequency is now a site-definable setting
+
+ Revision 580.73 2001/11/13 22:05:23 ajc
+ * Re-introduced the ability to enter IGnet mail into the system.
+
+ Revision 580.72 2001/10/29 22:59:22 ajc
+ * Renamed "SuppMsgInfo" to "MetaData" because that's what it is
+
+ Revision 580.71 2001/10/29 16:39:54 ajc
+ * Finished the migratenet utility (finally).
+
+ Revision 580.70 2001/10/28 05:18:51 ajc
+ * migratenet almost finished
+
+ Revision 580.69 2001/10/26 04:26:45 ajc
+ * more work on the net migrator
+
+ Revision 580.68 2001/10/23 03:37:33 ajc
+ * Threw a few more lines of code into migratenet.c
+
+ Revision 580.67 2001/10/20 18:10:50 ajc
+ * migratenet.c: added (not even close to being finished)
+
+ Revision 580.66 2001/10/17 21:07:20 nbryant
+ further format string cleanups (for i686-linux type sizes)
+
+ Revision 580.65 2001/10/17 20:41:07 nbryant
+ - declare *printf format specifiers if gcc detected
+ - format string fixes (compiles w/o warnings on alpha osf/1)
+
+ Revision 580.64 2001/10/17 19:40:38 nbryant
+ warning fixes and cleanups for 64-bit machines
+
+ Revision 580.63 2001/10/16 20:47:37 nbryant
+ - backed out -export-dynamic, it doesn't do anything and i've found the real
+ problem
+ - remove declaration for make_message
+
+ Revision 580.62 2001/10/16 19:18:49 nbryant
+ backed out that compiler detection change for Tru64. it's not incredibly
+ important and results in broken autoconf macro expansions.
+
+ Revision 580.61 2001/10/16 18:36:33 nbryant
+ reinstate -export-dynamic for citserver in case libtool decides to build
+ static libraries (why?)
+
+ Revision 580.60 2001/10/16 18:21:53 nbryant
+ add some explanatory text to bootstrap
+
+ Revision 580.59 2001/10/16 17:43:53 nbryant
+ - further configure tweaks for FreeBSD and Tru64 Unix
+ - updated to latest libtool configure fragment
+ - there are two functions named make_message. (?) so declare them both
+ static.
+
+ Revision 580.58 2001/10/16 01:48:55 nbryant
+ - configury tweaks for a /usr/include/db3 goof and Digital/Tru64 Unix
+ - #ifdef out inline on non-GCC compilers
+
+ Revision 580.57 2001/10/15 19:50:50 ajc
+ * Fixed a bug in the loopzapper that was corrupting the use table saved copy.
+ * Post notification in Aide> when the loopzapper catches a message.
+
+ Revision 580.56 2001/10/12 22:41:11 ajc
+ * Wrote the rest of the use table code. Finished except for a bug.
+
+ Revision 580.55 2001/10/10 18:35:12 ajc
+ * Comments & cosmetics for previous update
+
+ Revision 580.54 2001/10/10 17:12:54 ajc
+ * Bugfix for MSG0 command to properly handle multipart/alternative
+
+ Revision 580.53 2001/10/06 21:32:29 ajc
+ * Finished the concurrency check for network polling. (Now works both for
+ polling and being polled. Severe UUCP deja vu.)
+
+ Revision 580.52 2001/10/06 20:28:06 ajc
+ * Began implementing some concurrency stuff for the networker
+
+ Revision 580.51 2001/10/06 19:51:47 ajc
+ * Stripped the build of obsolete parts of the old networker no longer in use.
+
+ Revision 580.50 2001/10/03 20:05:50 ajc
+ * serv_smtp.c: implement RFC2920 ESMTP "pipelining" extension on the server
+ side. (No changes required other than advertising the extension.)
+
+ Revision 580.49 2001/10/03 03:15:16 ajc
+ * Implemented BOUNCE BOUNCE BOUNCE
+
+ Revision 580.48 2001/10/02 03:04:30 ajc
+ * Allow non-Aides to terminate sessions belonging to them
+
+ Revision 580.47 2001/09/24 18:55:13 ajc
+ * Completed migrating the "netpoll" utility into the serv_network module.
+ Removed this utility.
+
+ Revision 580.46 2001/09/21 20:58:25 nbryant
+ support different log_archive prototype in DB versions prior to 3.3
+
+ Revision 580.45 2001/09/20 04:17:10 ajc
+ * Inbound network authentication working. Fixed a bug in the split-horizon
+ algorithm. Still need to move the 'netpoll' command into the server.
+
+ Revision 580.44 2001/09/18 04:05:04 ajc
+ * Added host/IP and port to node config (client side only)
+
+ Revision 580.43 2001/09/17 23:55:45 ajc
+ * Support for IGnet routing (not tested)
+
+ Revision 580.42 2001/09/16 05:44:51 ajc
+ * serv_smtp.c: instead of doubling delivery retry times unbounded, set a
+ maximum retry time of SMTP_RETRY_MAX (currently set to 12 hours)
+
+ Revision 580.41 2001/09/09 16:19:29 error
+ * Updated PAM configuration file citadel.pam for Red Hat 7.x.
+
+ Revision 580.40 2001/09/09 03:19:38 ajc
+ * cdb_cull_logs() now removes log files as soon as the log_archive() function
+ says it's ok to do so.
+
+ Revision 580.39 2001/09/08 18:58:38 ajc
+ * More changes to the new networker. Added client command for room sharing.
+
+ Revision 580.38 2001/09/07 04:05:27 ajc
+ * You guessed it: still more code for the new networker.
+
+ Revision 580.37 2001/09/06 05:47:29 nbryant
+ check for /usr/include/db3 (for RedHat 6.2; others?)
+
+ Revision 580.36 2001/09/06 05:23:14 nbryant
+ #include fix for glibc 2.1.3
+
+ Revision 580.35 2001/09/06 04:02:34 ajc
+ * A few more updates to the networker
+
+ Revision 580.34 2001/09/06 03:32:41 nbryant
+ build fix for sparc-sun-solaris2.8; i think the dependencies should be
+ set up properly for all platforms now.
+
+ Revision 580.33 2001/09/06 02:55:27 nbryant
+ build fix for Linux
+
+ Revision 580.32 2001/09/06 02:49:22 ajc
+ * Fixed paste-post mode (<.E>nter <A>scii) to append instead of replace when
+ the user hits <C>ontinue (bug reported by Stu Mark)
+
+ Revision 580.31 2001/09/06 01:26:39 nbryant
+ - port to Cygwin (DLL support, etc.)
+ - don't build SMTP module if there's no resolver library (eg on Windows)
+
+ Revision 580.30 2001/09/06 00:54:01 nbryant
+ updated to libtool 1.4.1 and automake 1.5
+
+ Revision 580.29 2001/08/29 02:51:25 ajc
+ * More work on the new networker.
+
+ Revision 580.28 2001/08/25 05:04:57 ajc
+ * Worked a little more on the in-server replacement for netproc
+
+ Revision 580.27 2001/08/22 04:18:17 ajc
+ * Realized that there was lots of similarly broken code in
+ process_rfc822_addr(). Wrote two new utility functions in tools.c
+ stripout() and stripallbut() and used them where appropriate. This should
+ take care of all possible infinite loops.
+
+ Revision 580.26 2001/08/22 03:43:11 ajc
+ * internet_addressing.c: fixed a bug in process_rfc822_addr() that caused the
+ server to jump into an endless loop when an e-mail address contained
+ unbalanced angle brackets.
+
+ Revision 580.25 2001/08/15 04:26:02 ajc
+ * Added split horizon and delete-after-spool to the new networker
+
+ 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