$Log$
+ Revision 590.140 2002/03/12 01:33:42 nbryant
+ - pass -Wcast-qual to gcc
+ - more sprintf bashing
+
+ Revision 590.139 2002/03/12 00:03:43 nbryant
+ more sprintf removals
+
+ Revision 590.138 2002/03/11 06:00:21 nbryant
+ use <db.h> before <db3/db.h> or <db4/db.h>
+ this is the only way i can think of to make it work everywhere; people on
+ systems like FreeBSD where the ports work the other way around will have to
+ specify an extra -I flag in their CPPFLAGS variable.
+
+ Revision 590.137 2002/03/11 05:42:46 nbryant
+ removed all references to sprintf from several files (not all files yet)
+ and replace with snprintf
+
+ Revision 590.136 2002/03/11 04:16:20 nbryant
+ warning fixes on sparc-sun-solaris2.8 with gcc 3.0.4, mostly for *printf
+ format strings
+
+ Revision 590.135 2002/03/11 03:55:24 nbryant
+ - fixes for building without OpenSSL
+ - setenv doesn't exist on all systems, use putenv instead
+ - support Solaris' curses implementation
+
+ Revision 590.134 2002/03/09 22:52:04 ajc
+ * Applied a patch submitted by <xperc@hotmail.com> to fix a potential buffer
+ overflow problem in lprintf(). I also did the same fix to cprintf().
+
+ Revision 590.133 2002/03/09 16:47:57 ajc
+ * Added BMBX to fix a problem
+
+ Revision 590.132 2002/03/09 06:18:37 ajc
+ * one more tweak
+
+ Revision 590.131 2002/03/09 05:22:29 ajc
+ * this should do it.
+
+ Revision 590.130 2002/03/09 05:02:20 ajc
+ * Attempts to fix the access control crap
+
+ Revision 590.129 2002/03/08 05:42:02 ajc
+ * Patch to allow invitations and admin access to mailbox rooms. NEEDS TESTING!
+
+ Revision 590.128 2002/03/07 04:30:37 ajc
+ * Force recipient only in Mail>, not in all mailbox rooms
+
+ Revision 590.127 2002/03/05 22:45:40 error
+ * Autoconf fixes for DB4 support
+
+ Revision 590.126 2002/03/05 04:47:49 ajc
+ * vcard.c: another API update
+
+ Revision 590.125 2002/03/04 05:29:39 ajc
+ * Made a small API change to vcard.c for WebCit, brought the change over here too
+ in order to keep vcard.c identical everywhere.
+
+ Revision 590.124 2002/03/03 06:48:25 ajc
+ * Client and server options to disable self-service user account creation
+
+ Revision 590.123 2002/03/03 06:31:58 ajc
+ * Added password starred-out entry to newprompt() and strprompt()
+ * Applied the above setting to password set/change in <.A>ide <U>seredit
+
+ Revision 590.122 2002/03/03 06:18:45 ajc
+ * Implemented the CREU server command to administratively create user accounts
+ * Added the ability to create new user accounts to <.A>ide <U>seredit
+
+ Revision 590.121 2002/03/03 06:05:16 ajc
+ * Split up some of the code in order to prepare for user accounts to be
+ administratively created without logging in to them.
+
+ Revision 590.120 2002/03/02 05:56:48 ajc
+ * Properly implemented the network filter list. Finished the server module and
+ did a client-side <.A>ide <S>ysconfig <F>ilterlist command.
+
+ Revision 590.119 2002/03/01 04:24:20 ajc
+ * Cosmetic change to Received: line
+
+ Revision 590.118 2002/03/01 04:16:22 ajc
+ * CtdlReadMessageBody() -- fixed bug that caused the prepend buffer to be
+ discarded instead of prepended. "Received:" lines now work.
+
+ Revision 590.117 2002/02/23 19:20:51 ajc
+ * Do the use table purge in two phases to avoid crashy crashy
+
+ Revision 590.116 2002/02/20 22:42:19 ajc
+ * Started adding better management of source IP addressses in SMTP service
+
+ Revision 590.115 2002/02/15 04:28:57 ajc
+ * Wrote the expire/purge routine for the new use table
+
+ Revision 590.114 2002/02/15 04:05:08 ajc
+ * Began implementation of a networker use table that doesn't chew up oodles
+ of CPU time. (It uses a cdb instead.)
+
+ Revision 590.113 2002/02/15 03:40:06 ajc
+ * Stu's changes (which he checked in without making any ChangeLog comments,
+ bad Stu!) didn't build properly without curses. Added #ifdef's.
+
+ Revision 590.112 2002/02/13 22:15:10 ajc
+ * That was stupid.
+
+ Revision 590.111 2002/02/13 22:04:11 ajc
+ * added vcard_to_html() function
+
+ Revision 590.110 2002/02/13 15:48:55 ajc
+ * Allow the READ command to return packets bigger than 1 byte. (ooops!)
+
+ Revision 590.109 2002/02/12 20:15:25 ajc
+ * Threw in a few more #ifdef's so the client build doesn't barf on
+ non-curses systems
+ * Added rc_prompt_control (<N>ext/<S>top active at paginator: on/off/user)
+
+ Revision 590.108 2002/02/11 15:52:10 ajc
+ * Don't crash when deleting "purge this vCard" messages
+
+ Revision 590.107 2002/02/10 22:36:41 nbryant
+ - replace cdb_trunc with a complete version of the code i had been
+ working on; fallback code for db < 3.3.x needed
+ - change 'can't connect to host.port' to 'can't connect to host:port'
+
+ Revision 590.106 2002/02/08 22:39:08 ajc
+ * If there's already a Subject line in memory, display it below the usual
+ headers when the user hits <E>
+
+ Revision 590.105 2002/02/08 22:36:23 ajc
+ * Changed the logic for printing RFC822 addresses (again)
+ * Implemented cdb_trunc() in database_sleepycat.c, using db_truncate()
+ (We need to either provide an alternative implementation or require DB >=3.3)
+ * Automatically Re: subject line in the client where appropriate
+
+ Revision 590.104 2002/02/08 19:02:25 ajc
+ * Added client and server side support for entering Subject lines in
+ messages when not using RFC822.
+
+ Revision 590.103 2002/02/08 18:10:07 ajc
+ * When outputting a message in non-RFC822 format, don't display an Internet
+ address if the user is local.
+
+ Revision 590.102 2002/02/07 04:42:49 ajc
+ * Silently refuse to add directory entries for Internet addresses already
+ belonging to other users.
+ * cdb_trunc() for CtdlDirectoryInit: implemented for GDBM, stubbed for DB
+
+ Revision 590.101 2002/02/05 05:05:53 ajc
+ * Don't crash when posting if the user doesn't have an Internet directory address
+
+ Revision 590.100 2002/02/03 15:29:03 error
+ * fixed a silly oversight in serv_crypto.c when removing the ETLS command
+
+ Revision 590.99 2002/02/03 15:21:48 error
+ * Remove the ETLS command, it is no longer needed
+
+ Revision 590.98 2002/02/02 21:44:04 ajc
+ * If a user has at least one valid Internet directory address, stamp it onto
+ any outgoing messages.
+
+ Revision 590.97 2002/02/01 05:11:26 ajc
+ * Added a QDIR protocol command to do quick-and-dirty queries of the directory
+ * In the client, check the directory for conflicts when selecting email addr.
+
+ Revision 590.96 2002/01/31 05:13:44 ajc
+ * When deleting a vCard from the Global Address Book room, remove the
+ corresponding address in the directory. (Not tested.)
+
+ Revision 590.95 2002/01/30 19:03:41 ajc
+ * Added a new DeleteFunctionHook type of thing. These get called when a
+ message is being deleted from a room.
+ * When deleting messages from a room, do the AdjRefCount() calls (and now,
+ the PerformDeleteHooks() calls) in a second pass. This keeps that stuff
+ outside of the S_QUICKROOM critical section.
+
+ Revision 590.94 2002/01/27 06:39:45 error
+ * file_ops.c: fixed bug in cmd_read() which could cause server to report
+ the wrong number of bytes for the client to download
+
+ Revision 590.93 2002/01/26 21:33:38 ajc
+ * More internet addressing and global directory stuff. I think it's all working now
+ except for the purging of old entries.
+
+ Revision 590.92 2002/01/26 11:02:37 error
+ * citadel.spec cleaned up
+
+ Revision 590.91 2002/01/26 09:23:40 error
+ * setup now has a silent running mode (-q option) where it silently sets
+ defaults for everything. This is intended for use in scripts such as
+ the RPM packages, eliminating a step from the installation process.
+
+ Revision 590.90 2002/01/26 09:19:16 error
+ * citadel.spec has been completely overhauled, we can make RPMs now!
+
+ Revision 590.89 2002/01/26 04:59:57 ajc
+ * smtp FROM command now validates sender using the validate_recipients() loop
+ (yeah, it's good for that too) making it directory-aware
+
+ Revision 590.88 2002/01/26 04:01:10 error
+ * Formatter now uses more of the available screen width
+
+ Revision 590.87 2002/01/26 03:57:30 error
+ * Revised status_line() display, it's much more compact now
+
+ Revision 590.86 2002/01/26 03:50:26 error
+ * Better error reporting in connection_died(), kills curses before printing
+ error message, prints last errno.
+
+ Revision 590.85 2002/01/25 05:19:03 ajc
+ * Greatly simplified the logic for validating recipient addresses for incoming
+ SMTP. This logic destroys the whitespace mangling for local names; I will
+ fix this tomorrow.
+
+ Revision 590.84 2002/01/25 04:36:35 ajc
+ * fixz to allow incoming vCards in the address book to actually get processed
+
+ Revision 590.83 2002/01/24 06:52:54 error
+ * citadel_decls.h: fix unresolved extern errors
+
+ Revision 590.82 2002/01/23 05:04:05 ajc
+ * Add vCards from incoming network messages in the GAB to the directory.
+
+ Revision 590.81 2002/01/23 03:39:32 ajc
+ * Added a new hook type for handling incoming network messages
+ * Wrote a skeleton module for net filtering
+
+ Revision 590.80 2002/01/22 10:46:25 error
+ * read_message() and fmout() now accept a FILE to which to send their
+ output; this fixes quoting in the fullscreen client
+
+ Revision 590.79 2002/01/20 08:03:43 error
+ * curses client: use the status line as "input" line in chat mode
+
+ Revision 590.78 2002/01/20 07:43:07 error
+ * serv_chat.c: Server no longer crashes when CHATLOG can't be opened
+
+ Revision 590.77 2002/01/20 05:22:07 error
+ * curses client: allow goodbye message to be seen on some terminals
+
+ Revision 590.76 2002/01/19 16:56:31 error
+ * Fixed color support, now works when rc_ansi_color is on or auto
+
+ Revision 590.75 2002/01/19 15:10:25 error
+ * Cosmetics for the client status line
+
+ Revision 590.74 2002/01/19 11:59:33 error
+ * A real status line for the text client
+
+ Revision 590.73 2002/01/19 10:08:43 error
+ * fix link for libcitserver.so to tools.o which I broke (oops!)
+
+ Revision 590.72 2002/01/19 09:59:08 error
+ * Full-screen curses support for Citadel text client
+
+ Revision 590.71 2002/01/17 20:11:05 nbryant
+ remove lock.c/lock.h; don't need them for what i was planning after all
+
+ Revision 590.70 2002/01/17 10:48:36 error
+ * cosmetic fixes in the new trace file functionality
+
+ Revision 590.69 2002/01/17 10:32:14 error
+ * lprintf() now logs the session ID for each log entry within a session.
+ Also SMTP, IMAP, POP3 and Citadel protocol commands are differentiated.
+
+ Revision 590.68 2002/01/17 10:16:09 error
+ * migratenet.c: cygwin fix: include limits.h
+
+ Revision 590.67 2002/01/17 10:13:31 error
+ * serv_ical.c: set expire policy for My Calendar> to manual
+
+ Revision 590.66 2002/01/17 07:18:11 ajc
+ * Changed all "free software" references to "open source" in order
+ to piss off Richard Stallman
+
+ Revision 590.65 2002/01/17 00:22:35 nbryant
+ added lock.[ch]: recursive read/write locking support. (not actually used yet)
+
+ Revision 590.64 2002/01/15 12:41:53 error
+ * Implement alternate_semantics (see comments in citadel.rc file)
+
+ Revision 590.63 2002/01/15 11:07:51 ajc
+ * vcard.c: updated vCard "object methods" to handle multiple instances of
+ the same key name when necessary.
+
+ Revision 590.62 2002/01/15 06:38:39 error
+ * Update citadelapi.txt with CtdlUnregister* calls, LogHook calls
+
+ Revision 590.61 2002/01/15 06:20:18 error
+ * Modules can now unregister any of their hooks (though none yet take
+ advantage of this).
+
+ Revision 590.60 2002/01/14 08:49:13 error
+ * Fixed bug in cmd_cre8() causing protocol to get out of sync when creating
+ a new room
+
+ Revision 590.59 2002/01/13 04:46:31 ajc
+ * Allow incoming SMTP to relay to other Citadel nodes for whom we are
+ providing directory service.
+
+ Revision 590.58 2002/01/13 04:06:33 ajc
+ * Repaired the problems I created when moving the_mime_parser()'s variables
+ from the stack to the heap. (Hint: sizeof(char *) is 4, not 4096)
+
+ Revision 590.57 2002/01/11 15:46:57 error
+ * Allow users to move/copy messages between personal rooms
+
+ Revision 590.56 2002/01/11 04:59:00 ajc
+ * Finished most of the work for the Global Address Book.
+
+ Revision 590.55 2002/01/11 04:37:03 ajc
+ * More code for the Global Address Book
+
+ Revision 590.54 2002/01/11 02:57:35 error
+ * Don't print **** when sending a page or mail from an anonymous-only room
+
+ Revision 590.53 2002/01/10 21:22:37 ajc
+ * Minor changes for global directory service
+
+ Revision 590.52 2002/01/10 04:29:28 ajc
+ * Minor updates for directory service
+
+ Revision 590.51 2002/01/09 23:12:40 ajc
+ * Allow users to zap mailbox rooms
+
+ Revision 590.50 2002/01/09 04:37:32 ajc
+ * Finished the callback stuff for vCard address extraction
+
+ Revision 590.49 2002/01/09 04:05:53 ajc
+ * Began writing code to harvest Internet e-mail addresses from vCards, and
+ hacked together a temporary version (and writeup) of the IGAB command.
+
+ Revision 590.48 2002/01/08 16:34:22 ajc
+ * serv_vcard.c: cosmetic cleanup
+
+ Revision 590.47 2002/01/06 22:44:21 error
+ * Enable/disable encryption in client from command line and/or citadel.rc
+
+ Revision 590.46 2002/01/06 21:25:26 ajc
+ * sysdep.c: in client_write(), handle redirect_fp and redirect_sock *before*
+ handling redirect_ssl, because these need to be done the same way regardless
+ of client session crypto
+ * serv_crypto.c: pasted a bunch of Nathan's #ifdef blocks from sysdep.c in
+ order to gain greater portability (or even to get it to compile on splorph)
+
+ Revision 590.45 2002/01/06 11:13:33 error
+ * Enable SSL/TLS support in the client (again)
+
+ Revision 590.44 2002/01/06 11:11:31 error
+ * Enable SSL/TLS in the client
+
Revision 590.43 2002/01/06 10:49:55 error
* Add some #includes I apparently somehow missed