$Log$
+ Revision 614.55 2004/02/27 17:23:21 error
+ * Use syslog-compatible logging levels in lprintf(); the loglevel chosen
+ is passed directly to syslog(). The available levels are docuemnted in
+ sysdep_decls.h.
+
+ Revision 614.54 2004/02/27 04:29:00 ajc
+ * Fixed a bug in PLAIN authentication
+
+ Revision 614.53 2004/02/26 22:03:24 error
+ * ;Goto floor now goes to first KNOWN room, or first room only if no known
+ rooms on the floor
+
+ Revision 614.52 2004/02/26 20:30:36 error
+ * Populate IPC into a few more places to avoid a nasty crash at MORE prompt
+
+ Revision 614.51 2004/02/26 20:17:29 error
+ * Client stability and enhancements:
+ * CtdlServInfo structure moved inside CtdlIPC; eliminates unnecessary
+ global and makes IPC more self-contained
+ * Removed redundant serv_ from variable names in CtdlServInfo struct
+ * Send SIGHUP to process group when connection_died(). Kills self and
+ children (e.g. external editor).
+
+ Revision 614.50 2004/02/25 01:35:34 error
+ Missing parameter to a printf() function. No idea where it went, but I
+ put it back.
+
+ Revision 614.49 2004/02/24 05:09:06 ajc
+ * Better validation of incoming network messages.
+
+ Revision 614.48 2004/02/23 16:10:47 nbryant
+ --disable-pie by default.
+
+ Revision 614.47 2004/02/22 04:55:15 ajc
+ * CSR code more or less in its final form for now.
+
+ Revision 614.46 2004/02/22 04:42:05 ajc
+ * Initial version of function to automatically generate a Certificate
+ Signing Request if one is not present
+
+ Revision 614.45 2004/02/20 19:29:05 error
+ * Fix bug 112: .Goto allowed partial room match on forgotten rooms
+
+ Revision 614.44 2004/02/20 02:55:18 ajc
+ * Fixed one of the prompts (bugzilla #118)
+
+ Revision 614.43 2004/02/19 04:12:56 ajc
+ * Instead of doing the silly "Kolab reserved folder names" thing, instead
+ implemented the Cyrus-compatible style of forcing all personal mailbox
+ folders to be subfolders of INBOX. But only for IMAP.
+
+ Revision 614.42 2004/02/18 14:46:05 ajc
+ * smtp: EHLO response now includes both "AUTH " and "AUTH=" output, due to
+ the requirement to interoperate with brain-dead Microsoft shitware that
+ doesn't follow the RFC.
+
+ Revision 614.41 2004/02/17 16:56:51 ajc
+ * During SSL initialization, create the "keys" directory if it does not
+ exist ... generate a private key if that does not exist ... more code
+ coming soon to generate CSR and self-signed cert. Hard-coded pathnames
+ have been moved to sysconfig.h.
+
+ Revision 614.40 2004/02/17 04:47:22 ajc
+ * Support PLAIN auth method in SMTP
+
+ Revision 614.39 2004/02/17 03:53:11 ajc
+ * New ICAL subcommand "sgi" to enable or disable automatic server
+ generated invitations. (WebCit wants sgi's but Kontaqt doesn't.)
+
+ Revision 614.38 2004/02/16 21:54:22 ajc
+ * Support POP3 over TLS
+
+ Revision 614.37 2004/02/16 21:45:43 ajc
+ * Implement RFC 2487 - SMTP Service Extension for Secure SMTP over TLS
+
+ Revision 614.36 2004/02/16 21:02:28 ajc
+ * IMAP and Citadel protocols now use the same code path for TLS negotiation
+
+ Revision 614.35 2004/02/16 20:55:47 ajc
+ * Genericized the Citadel API for TLS-enabling protocols
+
+ Revision 614.34 2004/02/16 18:16:39 error
+ * Remove some unnecessary and possibly hazardous debugging code leftover
+ from debugging IMAP STARTTLS
+
+ Revision 614.33 2004/02/16 18:14:00 error
+ * Fixed IMAP STARTTLS; trouble was in client_read_ssl the whole time.
+ It should now be possible to implement SSL/TLS for any protocol.
+
+ Revision 614.32 2004/02/16 18:13:10 error
+ * Log session IDs in syslog as well as stderr
+
+ Revision 614.31 2004/02/16 15:06:44 error
+ * Add specific error codes for every command on the wire protocol, so that
+ clients can more easily determine what went wrong. Partially updated
+ session.txt (will finish it later). This lets clients more easily
+ determine what, if anything, went wrong with a particular command.
+
+ Revision 614.30 2004/02/15 06:06:49 ajc
+ * More work on IMAP TLS. Still not working correctly. :( Added in
+ support for server-side certificates. Now instead of failing it hangs.
+
+ Revision 614.29 2004/02/14 04:41:55 ajc
+ * STARTTLS attempt #2. Still disabled because it's broken.
+
+ Revision 614.28 2004/02/13 20:51:13 error
+ * Reset screen attributes before fork() so that external programs do the
+ right thing
+
+ Revision 614.27 2004/02/12 04:16:38 ajc
+ * Support for PLAIN logins in IMAP (need to test!)
+
+ Revision 614.26 2004/02/11 03:50:49 ajc
+ * The groupware folders "Calendar", "Contacts", "Notes", and "Tasks" are
+ now presented as subfolders of INBOX when using IMAP. This is for the
+ purpose of Kolab compatibility.
+
+ Revision 614.25 2004/02/09 22:40:57 error
+ * oops...also close the client on EOF/error on tty OUTPUT
+
+ Revision 614.24 2004/02/09 22:26:17 error
+ * Exit the citadel client when EOF reached on input - should prevent
+ a process from hanging around when a telnet connection dies unexpectedly
+
+ Revision 614.23 2004/02/08 05:29:34 ajc
+ * Corrected various small syntax conversion problems that were keeping
+ some vCards out of the LDAP directory.
+
+ Revision 614.22 2004/02/07 05:28:10 ajc
+ * Automatically purge files from ./network/spoolout which were intended
+ for nodes which no longer exist
+
+ Revision 614.21 2004/02/07 04:59:21 ajc
+ * Cache the IGnet config in memory, avoiding a db fetch for every single
+ operation which references it. Invalidate the cache when a new config
+ is uploaded.
+ * When doing network spool for a room, automatically remove shares for
+ Citadel nodes which no longer exist.
+
+ Revision 614.20 2004/02/07 04:22:12 ajc
+ * serv_network.c: fixed a problem with an uninitialized data structure
+
+ Revision 614.19 2004/02/06 04:40:50 ajc
+ * Suppress posting of messages to Aide> when the loopzapper catches dupes.
+ * New command NSYN to sync the entire contents of a room to a specified
+ network node. This will be used to bring new nodes in sync with existing
+ nodes.
+
+ Revision 614.18 2004/02/06 03:58:10 ajc
+ * Added some comments to the sample citadel-slapd.conf
+
+ Revision 614.17 2004/02/06 03:52:46 ajc
+ * Changed the domain name and password in the sample slapd.conf
+
+ Revision 614.16 2004/02/05 05:20:20 ajc
+ * Delete a user's LDAP entry when deleting the vCard. NOT TESTED.
+
+ Revision 614.15 2004/02/05 03:54:14 ajc
+ * Completed the per-user initialization of LDAP entries.
+
+ Revision 614.14 2004/02/04 18:27:25 error
+ * Don't delete temp file when composing message until after server writes
+ it successfully (or an error occurs in the client itself).
+
+ Revision 614.13 2004/02/04 04:07:56 ajc
+ * More work on LDAP connector
+
+ Revision 614.12 2004/02/01 06:19:22 ajc
+ * policy.c: fix bug in GetExpirePolicy() that was causing the default
+ mailbox purge policy to be misinterpreted if it was set to "use
+ system default"
+ * serv_vcard.c: always set the Global Address Book room's expire policy
+ to "never expire" and its default view to "address book"
+
+ Revision 614.11 2004/01/31 05:44:29 ajc
+ *** empty log message ***
+
+ Revision 614.10 2004/01/27 19:56:29 ajc
+ * serv_smtp.c: HELO and EHLO responses now reply with the detected
+ IP address and reverse DNS lookup of the connecting host
+
+ Revision 614.9 2004/01/24 05:47:50 ajc
+ * Got Citadel talking to LDAP. Still requires manual creation of schema
+ and container entries, which I don't like; we'll have to fix that. It
+ also does not yet populate all fields.
+
+ Revision 614.8 2004/01/19 21:01:15 error
+ * Clear out the autom4te.cache when bootstrapping to avoid autoheader problems
+
+ Revision 614.7 2004/01/19 04:44:11 ajc
+ * Further work on creating LDAP entries.
+
+ Revision 614.6 2004/01/18 21:04:40 ajc
+ * Reworked vCard etc. functions for addition of new vCard data to LDAP
+
+ Revision 614.5 2004/01/17 22:57:54 ajc
+ * Added "Base DN" "Bind DN" and "Bind DN password" config options
+ * serv_ldap.c: added. (New module implementing the LDAP Connector)
+ * Upon startup, connect to LDAP directory and bind to it. Unbind at exit.
+
+ Revision 614.4 2004/01/17 04:23:28 ajc
+ * Sysconfig commands for specifying where the LDAP server lives
+
+ Revision 614.3 2004/01/17 03:26:17 ajc
+ * Changed a diagnostic in msgbase.c to a higher logging level so it doesn't
+ make as much noise.
+ * Setup now adds "-x3 -llocal4" to the default inittab line.
+
+ Revision 614.2 2004/01/17 03:17:34 ajc
+ * New server command-line option "-l" to send log output to the host
+ computer's syslog facility instead of to a trace file.
+
+ Revision 614.1 2004/01/02 22:13:59 ajc
+ * Link to OpenLDAP client library (-lldap) and set HAVE_LDAP if present.
+
+ Revision 614.0 2003/12/30 04:13:40 ajc
+ * THIS IS 6.14
+
+ Revision 613.12 2003/12/30 04:13:31 ajc
+ * Commented out one of the supplied .RU commands in citadel.rc
+
+ Revision 613.11 2003/12/24 05:02:49 ajc
+ * Allow a separate default message expire policy for mailbox rooms. The
+ floor default setting is now ignored for mailboxes. Updated client and
+ documentation to match.
+
+ Revision 613.10 2003/12/23 03:53:49 ajc
+ * Expanded the size of all string fields in "struct CtdlIPCMessage" to
+ the standard SIZ length, in order to accomodate "weird" messages
+ without crashing. Also converted many strcpy()'s to safestrncpy()'s
+ while populating this data structure, to avoid overruns.
+
+ Revision 613.9 2003/12/22 16:49:36 error
+ * Add Preview for Mac OS X as an image viewer option in citadel.rc
+
+ Revision 613.8 2003/12/22 15:30:53 error
+ * Fork image viewer process in background (works now); suppress
+ stdout/stderr from the image viewer
+
+ Revision 613.7 2003/12/21 20:02:28 error
+ * When viewing images, append the image filename to the temp filename so
+ that less-intelligent viewers can deal with the images
+
+ Revision 613.6 2003/12/21 19:07:28 error
+ * Start a new thread and fork() for image viewer (broken/disabled; for
+ refernce only)
+
+ Revision 613.5 2003/12/21 01:23:12 nbryant
+ added some additional comments to citadel.rc concerning possible image viewers
+
+ Revision 613.4 2003/12/21 00:44:19 error
+ * Fix for idle_threshold being ignored when reading citadel.rc
+
+ Revision 613.3 2003/12/21 00:37:54 error
+ * Fix for crash when downloading multiple attachments
+
+ Revision 613.2 2003/12/21 00:19:41 error
+ * Image viewer code for the text client. Hit 'I' to view an image
+ attached to a file. Hey aahz, this code actually works!
+
+ Revision 613.1 2003/12/19 04:33:52 ajc
+ * Changes to auto-expunge algorithm to support correct behavior in
+ some IMAP clients while moving messages.
+
+ Revision 613.0 2003/12/15 16:37:01 ajc
+ * THIS IS 6.13
+
+ Revision 612.14 2003/12/15 16:33:47 ajc
+ * Added support for "Cc" and "Bcc" IMAP SEARCHes
+ * Bumped the version number to 6.13
+
+ Revision 612.13 2003/12/11 04:21:23 ajc
+ * Removed a "FIXME this needs blah blah" comment because blah blah has
+ since been completed
+
+ Revision 612.12 2003/12/11 04:06:55 nbryant
+ configure.ac: add support for position-independent executables. can be disabled
+ with --disable-pie
+
+ Revision 612.11 2003/12/11 03:44:18 nbryant
+ domain.c: include <arpa/nameser_compat.h> if present
+ configure.ac: check for <arpa/nameser_compat.h>
+
+ Revision 612.10 2003/12/10 03:58:26 ajc
+ * Completed a more accurate implementation of the ENVELOPE fetch in IMAP.
+
+ Revision 612.9 2003/12/09 06:39:19 nbryant
+ did a minimal amount of ANSIfication without changing anything that would
+ affect the compiler output in any way. I was just trying to get enough warnings
+ enabled to be able to tell if there are any nested functions lurking about...
+
+ If we get rid of nested functions we can get some big security gains under
+ Fedora.
+
+ Revision 612.8 2003/12/09 05:12:49 ajc
+ * Don't give away anonymous poster information in IMAP or RFC822
+
+ Revision 612.7 2003/12/09 04:50:16 ajc
+ * Painstakingly combed through IMAP headers and responses for two hours in
+ an attempt to figure out why the horrendous pile of crap called Microsoft
+ Outlook counts the correct number of messages but wasn't displaying any
+ of them. Eventually determined that it was ONE EXTRA SPACE after the
+ closing paren of the ENVELOPE output that caused Outlook to totally ignore
+ all the messages. This only reinforces my belief that anything designed
+ in the state of Washington is utter and complete CRAP.
+ * Corrected the above glitch. Outbreak works properly now.
+
+ Revision 612.6 2003/12/09 03:56:29 ajc
+ * user_ops.c: missing string declaration or something?
+
+ Revision 612.5 2003/12/08 17:41:01 ajc
+ * serv_smtp.c: validated and documented compliance with a big pile of RFC's
+ which are in one way or another related to SMTP.
+
+ Revision 612.4 2003/12/07 19:59:13 error
+ * Minor enhancements to a few of the trace file entries
+
+ Revision 612.3 2003/12/07 19:57:48 error
+ * Added some useless comments to some of the techdocs/ files
+
+ Revision 612.2 2003/12/07 19:56:24 error
+ * CREU command now allows specification of an initial password
+
+ Revision 612.1 2003/12/04 04:20:08 ajc
+ * Incoming RFC822 messages get the To: field translated directly to
+ a Citadel <R> field.
+
+ Revision 612.0 2003/12/01 04:11:48 ajc
+ * THIS IS 6.12
+
+ Revision 611.10 2003/11/30 03:43:34 ajc
+ * Support IMAP \Answered flag
+
+ Revision 611.9 2003/11/22 03:30:14 ajc
+ * Commented out the call to the 'high speed download' function and
+ uncommented the call to the original 'chatty' download function. Some
+ users were reporting lockups.
+
+ Revision 611.8 2003/11/14 20:15:44 ajc
+ * Reversed the previous change because it made things b0rken
+
+ Revision 611.7 2003/11/14 20:04:28 ajc
+ * IMAP FETCH ENVELOPE now outputs more fields correctly.
+
+ Revision 611.6 2003/11/14 03:49:54 ajc
+ * MUCH faster implementation of rfc822_fetch_field()
+
+ Revision 611.5 2003/11/13 04:25:38 ajc
+ * mime_parser.c: handle multipart *much* more efficiently now. Instead
+ of scanning line by line, we snag the boundaries using the Boyer-Moore
+ algorithm.
+
+ Revision 611.4 2003/11/12 04:28:22 ajc
+ * Replaced bmstrcasestr() with a more generic function, bmstrstr(), which
+ can be supplied with *any* strncmp()-compatible compare function.
+
+ Revision 611.3 2003/11/08 06:46:08 ajc
+ * IMAP FETCH BODY<xxx.yyy> was outputting the offset and length in the
+ wrong order. Fixed.
+
+ Revision 611.2 2003/11/08 06:29:47 ajc
+ * IMAP FETCH FLAGS ... removed extra trailing space after last flag
+
Revision 611.1 2003/11/06 04:25:30 ajc
* For certain IMAP outputs (such as BODYSTRUCTURE), buffer all output until
we've got the whole thing, then spew it all at once to avoid lots of
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
-