$Log$
+ Revision 573.79 2001/02/03 09:30:46 error
+ * serv_ical.c: now creates a My Calendar> personal room, sets attributes
+
+ Revision 573.78 2001/02/03 08:21:00 error
+ * serv_ical.c and serv_ical.h added; skeleton code for now
+
+ Revision 573.77 2001/02/02 20:18:18 ajc
+ * Changed the error message in cdb_delete() to actually *say* cdb_delete
+ instead of cdb_store. Useful to know which function failed...
+
+ Revision 573.76 2001/02/01 04:08:03 ajc
+ * IMAP minor change to mailbox name output
+ * Increased size of buffer in lprintf()
+
+ Revision 573.75 2001/01/28 09:50:02 error
+ * sysdep.c: lprintf() now generates timestamps
+
+ Revision 573.74 2001/01/28 07:35:04 error
+ * serv_bio.c: RBIO now also returns stats about a user, see session.txt
+
+ Revision 573.73 2001/01/16 04:03:13 ajc
+ * yeesh ... more on the IMAP BODYSTRUCTURE
+
+ Revision 573.72 2001/01/16 01:51:12 ajc
+ * imap bodystructure
+
+ Revision 573.71 2001/01/16 00:46:40 ajc
+ * Changed the MIME parser API *again* because we now need the ability to
+ supply callback functions to be executed before and/or after parsing a
+ multipart. (Need this for IMAP BODYSTRUCTURE output. Crispin sucks.)
+
+ Revision 573.70 2001/01/15 23:59:26 ajc
+ * user_ops.c: reject NULL password in CtdlTryPassword() instead of crashing
+
+ Revision 573.68 2001/01/15 20:34:04 ajc
+ * "Path:" removed for now because it confuses brain-dead Microsoft shitware
+ into thinking that mail messages are newsgroup messages instead. When we
+ add NNTP support back into Citadel we'll have to add code to only output
+ this field when appropriate.
+
+ Revision 573.67 2001/01/15 16:30:31 ajc
+ * temporary implementation of 901 asynchronous express messages
+
+ Revision 573.66 2001/01/14 14:55:39 ajc
+ * Changed the format of <.W>holist <L>ong
+
+ Revision 573.65 2001/01/13 06:40:26 nbryant
+ merged remaining changes from TRANSACTIONS (using cvs update -j TRANSACTIONS)
+ which should now be considered closed.
+
+ Revision 573.64 2001/01/13 06:12:15 ajc
+ * Added the ASYN command
+
+ Revision 573.63 2001/01/12 22:05:46 ajc
+ * Fixed a bug that caused bogus wholist lines to be displayed when a non-aide
+ reads a list containing stealth mode sessions.
+
+ Revision 573.62 2001/01/09 05:39:45 ajc
+ * Merged in code from the TRANSACTIONS branch for testing.
+
+ Revision 573.61 2000/12/30 06:17:17 ajc
+ * Still more work on IMAP. Damn this is tedious.
+
+ Revision 573.60 2000/12/30 04:55:05 ajc
+ * more buffer size stuff
+
+ Revision 573.59 2000/12/27 20:19:51 ajc
+ * The size constant "256" which shows up everywhere as a buffer size has now
+ been changed to SIZ. And, SIZ has been defined now as 1024, not 256, because
+ we need 1024 byte buffers for most Internet protocols.
+
+ Revision 573.58 2000/12/27 05:09:58 ajc
+ * Added a skeleton IMAP "SEARCH" command (based on the FETCH logic)
+
+ Revision 573.57 2000/12/26 03:46:50 ajc
+ * More IMAP tweaks
+
+ Revision 573.56 2000/12/25 22:50:43 ajc
+ * Added an API function to extract and unfold specific RFC822 fields.
+ * imap-->fetch-->envelope-->in-reply-to now works
+ * More robust checking and reporting of temp file errors in the client
+
+ Revision 573.55 2000/12/25 20:43:24 ajc
+ * imap_fetch.c: added support for fetch-->envelope-->from
+
+ Revision 573.54 2000/12/20 04:09:24 ajc
+ * A few memory handling fixes to netproc.
+
+ Revision 573.53 2000/12/20 01:57:37 ajc
+ * netproc.c: added bounds check to fpgetfield()
+
+ Revision 573.52 2000/12/19 20:41:55 ajc
+ * Fixed generation of unique file names for network uploads etc.
+
+ Revision 573.51.2.11 2000/12/26 05:30:55 nbryant
+ remove extraneous transaction around dynamic module initializations. this will
+ fix the crash on database creation.
+
+ Revision 573.51.2.10 2000/12/24 23:00:58 nbryant
+ clean: also remove parsedate.c
+
+ Revision 573.51.2.9 2000/12/20 01:38:42 nbryant
+ require transactional cursors
+
+ Revision 573.51.2.8 2000/12/20 00:30:01 nbryant
+ release any stale db handles at the end of a server command
+ (unfinished transactions will be aborted to annoy lazy programmers)
+
+ Revision 573.51.2.7 2000/12/19 06:18:27 nbryant
+ set sched_yield as sleepycat's yield function. this should improve locking
+ performance.
+
+ Revision 573.51.2.6 2000/12/19 02:22:29 nbryant
+ added automatic transaction start/end on cdb_fetch, cdb_delete, and cdb_store
+
+ Revision 573.51.2.5 2000/12/18 03:51:13 nbryant
+ ditto S_USER_TRANS, S_CALLLOG, and S_HOUSEKEEPING, which are no longer used at
+ all
+
+ Revision 573.51.2.4 2000/12/18 02:49:17 nbryant
+ removed all references to S_MSGMAIN critical section; it wasn't really needed.
+ this should make things significantly more scaleable.
+
+ Revision 573.51.2.3 2000/12/17 22:12:48 nbryant
+ reworked shutdown sequence to wait for worker threads to terminate before
+ checkpointing and closing databases. it is no longer safe to call
+ master_cleanup() directly to force a shutdown; instead, just set
+ time_to_die to a nonzero value
+
+ Revision 573.51.2.2 2000/12/17 05:06:09 nbryant
+ added deadlock detection and cleaned up messages
+
+ Revision 573.51.2.1 2000/12/16 21:06:59 nbryant
+ created TRANSACTIONS branch
+ track cursor and transaction id's in thread-specific data
+
+ Revision 573.51 2000/12/14 18:36:34 ajc
+ * Fixed the "users not in chat" wholist display
+
+ Revision 573.50 2000/12/12 18:06:46 ajc
+ * Removed the transaction stuff (but left the log in). It wasn't working.
+
+ Revision 573.49 2000/12/12 06:19:55 ajc
+ * Stabilize, dammit!!
+
+ Revision 573.48 2000/12/12 04:20:03 ajc
+ * Made the transaction open/close a global thing, in a frantic attempt to get
+ Uncensored to stop crashing. More fixes on the way...
+
+ Revision 573.47 2000/12/11 06:08:41 ajc
+ * Removed the housekeeper thread, moved terminate_idle_sessions() out to a
+ timer event, and check_sched_shutdown() to the end of the worker thread
+ loop. Seems to have improved reliability (but why?)
+
+ Revision 573.46 2000/12/11 03:22:11 ajc
+ * Added server-side REQT command to issue client termination requests
+
+ Revision 573.45 2000/12/11 02:19:26 ajc
+ * Client now honors EM_GO_AWAY flag, used by the server to request that a
+ client log off. (The server doesn't support sending that flag yet, though)
+
+ Revision 573.44 2000/12/09 06:20:06 ajc
+ * A few final touches to the Sleepycat DB back-end
+
+ Revision 573.43 2000/12/08 17:06:33 ajc
+ * Wrap txn_begin and txn_end in S_DATABASE mutex
+
+ Revision 573.42 2000/12/07 20:21:39 ajc
+ * begin/end transaction in master_startup()
+
+ Revision 573.41 2000/12/07 16:59:02 nbryant
+ added --with-db and --with-gdbm options to configure
+
+ Revision 573.40 2000/12/07 04:50:33 ajc
+ * Wrap housekeeper and timer events in transaction open/close functions
+ * Checkpoint the DB as an EVT_TIMER event instead of after each session
+ (runs each minute, but actually limited by the parameters of the function)
+
+ Revision 573.39 2000/12/06 04:44:36 ajc
+ * Changed netproc to keep the use table in a flat file instead of a database
+
+ Revision 573.38 2000/12/05 05:32:58 ajc
+ * Added support for non-USA country identities in vCard and registration
+ * User edit now asks whether it should prompt to change the password
+
+ Revision 573.37 2000/12/03 04:12:21 ajc
+ * Finished (mostly) the Sleepycat DB backend ... added transaction logging
+
+ Revision 573.36 2000/11/30 03:23:17 ajc
+ * Got the Sleepycat DB back end working, by opening the databases in a non
+ shared, non threaded mode, and using Citadel's locking to serialize access.
+
+ Revision 573.35 2000/11/29 05:00:02 ajc
+ * I think the db stuff is ok, but my db library is fux0red...
+
+ Revision 573.34 2000/11/27 14:12:09 error
+ * commands.c: fixups to print_express() to make external command not print
+ extraneous stuff to the terminal and make the displayed message consistent
+
+ Revision 573.33 2000/11/27 10:41:14 error
+ * print_express(): now uses GEXP instead of old PEXP; displays timestamps
+
+ Revision 573.32 2000/11/27 10:29:59 error
+ * serv_chat.c: fix send_express_message() to include timestamps
+
+ Revision 573.31 2000/11/27 03:44:27 ajc
+ * Initial checkin of database_sleepycat.c (doesn't work yet)
+
+ Revision 573.30 2000/11/26 05:24:22 ajc
+ * msgbase.c: Added new API function CtdlOutputPreLoadedMsg(), and
+ re-implemented the existing CtdlOutputMsg() as a wrapper around it.
+ * imap_fetch.c: used the above function to do all output pre-loaded
+
+ Revision 573.29 2000/11/25 09:36:18 error
+ * Added a bit of detail to syslog entries; now shows session id attached to
+ client, hostname, and username, and time the session ended.
+
+ Revision 573.28 2000/11/25 06:17:06 ajc
+ * Minor IMAP tweaks. It still doesn't work. :(
+
+ Revision 573.27 2000/11/23 07:22:21 error
+ * citadel.spec: update version number
+
+ Revision 573.26 2000/11/21 11:12:56 error
+ * domain.h: changed the HP/UX compatibility code to use defines from
+ typesize.h for integers of specific bit widths (needed for Solaris, etc)
+
+ Revision 573.25 2000/11/12 04:20:49 ajc
+ * Optimized server side input of message text
+
Revision 573.24 2000/11/10 03:55:06 ajc
* Ford's Fix for Faster Functionality (save position during reply)