+++ /dev/null
-$Id$
-
-Di Jan 31 23:32:38 CET 2006 dothebart
- we need to use citadel setup in prerm, it doesn't exist anymore on postrm
-
-Di Jan 31 23:32:38 CET 2006 dothebart
- chkpwd needs to be owned rooot:root, flags 04755
-
-Tue Jan 31 10:39:42 EST 2006 ajc
-* client_getln() now strips only the trailing CR/LF instead of "all trailing
- nonprintables." The old behavior was mangling international character sets.
-
-Thu Jan 26 21:31:22 EST 2006 ajc
-* Reject empty username for login attempts
-
-Thu Jan 26 15:38:20 EST 2006 ajc
-* Allow client to supply EID in "notes" rooms.
-
-Mon Jan 23 22:22:18 EST 2006 ajc
-* In WIKI rooms, clients can supply a message EUID
-
-Sat Jan 21 16:22:51 EST 2006 ajc
-* Patch to the "m<Y> next message" function, submitted by matt
-
-Thu Jan 19 21:30:20 EST 2006 ajc
-* Added VIEW_WIKI to the available view types. EUID indexing is "on" for
- this view. Everything else will be done in WebCit.
-
-Thu Jan 19 17:49:29 EST 2006 ajc
-* support SMTP-AUTH for outbound connection to smart-host
-
-Thu Jan 19 16:40:57 EST 2006 ajc
-* Change to journaling code to include an Internet email address for local
- recipients.
-
-Thu Jan 19 13:20:30 EST 2006 ajc
-* Refactored the code that populates the session's knowledge of the user's
- primary internet email address. We need it to be generic so that we can
- do this for other users.
-
-Tue Jan 17 22:23:19 EST 2006 ajc
-* Misc small fixes to the new host auth mode.
-
-Tue Jan 17 17:07:02 EST 2006 ajc
-* REMOVED MIXED MODE AUTHENTICATION.
- "autologin mode" is now system accounts ONLY.
-
-Sun Jan 15 22:29 MET 2006 dothebart
-* calculate the directories in a central manner.
- LHFS'ified installations may use multi-homed installations now too.
-
-Sun Jan 15 00:00:13 EST 2006 ajc
-* citserver.c: patch submitted by matt to keep the client protocol from
- getting out of sync following a .h? command.
-
-Sat Jan 14 23:38:44 EST 2006 ajc
-* setup.c: remove "--backtitle" from calls to "dialog" because its
- availability cannot be depended upon.
-
-Fri Jan 13 12:11:46 EST 2006 ajc
-* THIS IS 6.70
-
-Wed Jan 11 11:07:47 EST 2006 ajc
-* Moved the "Content-Identifer" (sic) header out of the envelope journal
- subpart headers and into the top-level headers.
-
-Tue Jan 10 22:26:00 EST 2006 ajc
-* Added a per-user client option to always compose messages using the
- external editor.
-* Removed the "always reply with external editor" option from citadel.rc
- because the per-user editor choice makes it superfluous.
-
-Tue Jan 10 17:20:30 EST 2006 ajc
-* Added "Content-Identifer: ExJournalReport" to journal envelope headers
- (Requested by SECCAS for compatibility with their archival service.)
- (Yes, it is spelled incorrectly. The headers generated by Exchange are
- spelled incorrectly and SECCAS requested that our headers look identical.)
-
-Mon Jan 9 17:23:39 EST 2006 ajc
-* docs/journaling.html: added.
-
-Mon Jan 9 12:56:57 EST 2006 ajc
-* Bumped the version number to 6.70 in preparation for a new release
-
-Thu Jan 5 17:38:39 EST 2006 ajc
-* Adjustments to journal recipient list
-
-Thu Jan 5 16:08:47 EST 2006 ajc
-* Implemented configuration settings for journaling.
-
-Wed Jan 4 22:05:49 EST 2006 ajc
-* Journaling code is finished. Still needs configuration settings.
-
-Wed Jan 4 18:14:13 EST 2006 ajc
-* Began implementation of Journaling and Envelope Journaling.
-
-Thu Dec 15 23:12:05 EST 2005 ajc
-* Include a pre-fixed parsedate.c in the source tree in order to eliminate
- the requirement for yacc or bison to build Citadel. Also, 'make clean'
- no longer deletes parsedate.c
-
-Thu Dec 15 10:51:45 EST 2005 ajc
-* newinstall.sh: be smarter about how wget and curl are used
-
-Thu Dec 15 00:03:53 EST 2005 ajc
-* room_ops.c: when granting a room creator access to a new room, omit the
- lgetuser/lputuser calls because they are not needed. Also, don't perform
- access grant if no user is logged in.
-
-Sun Dec 11 23:04:31 EST 2005 ajc
-* THIS IS 6.63
-
-Fri Dec 9 14:14:37 EST 2005 ajc
-* Updated the output of server GOTO command; new parameter indicates whether
- the user is in his Trash folder.
-* Updated internal version number to 6.63 so WebCit knows this is available.
-
-Mon Nov 28 10:45:21 EST 2005 ajc
-* control.c: fixed a potential concurrency/race condition in
- the get_new_[message|room|user]_number() functions.
-
-Sun Nov 27 21:20:27 EST 2005 ajc
-* Eliminated the use of tmpnam() to shut up the compiler warnings.
-
-Mon Nov 21 16:59:43 CET 2005 dothebart
-* add some script to wrap the debian package build that does some magic about
- the versioning in the package and the citadel system
-* Many fixups to the debian packages
-* added Unixlogin Package
-
-Tue Nov 15 21:18:01 EST 2005 ajc
-* THIS IS 6.62
-
-Sun Nov 13 23:35:55 EST 2005 ajc
-* serv_extensions.c: serv_upgrade_init() must be called prior to
- serv_inetcfg_init() in order to ensure that citadel.control is created
- at the correct time. (Patch sent in by Wilifried Goesgens.)
-
-Sat Nov 5 22:56:30 EST 2005 ajc
-* More changes to batch mode setup
-
-Thu Nov 3 23:02:01 EST 2005 ajc
-* Updated setup to allow more batch mode control of it;
- see techdoc/package-setup.txt
-
-Sun Oct 30 23:03:49 EST 2005 ajc
-* When logging to syslog is enabled, SMTP transactions are now logged to
- LOG_MAIL as well as whatever the normal facility is, in a format
- similar to what conventional MTA's use. Resolves bugzilla issue #153.
-
-Sun Oct 30 22:22:00 EST 2005 ajc
-* syslog messages are now sent to the desired facility rather than always
- going to LOG_DAEMON. There was a command line parsing bug.
-
-Sun Oct 30 21:17:57 EST 2005 ajc
-* Log messages posted to the Aide> room indicating activity such as room
- create/delete/edit operations now use "Room Name" rather than Room Name>
- because users unfamiliar with the text-mode Citadel tradition may think
- that the latter syntax is an output error. Resolves bugzilla issue #166.
-
-Thu Oct 27 16:56:09 EDT 2005 ajc
-* THIS IS 6.61
-
-Thu Oct 27 16:44:36 EDT 2005 ajc
-* Allow "host:port" syntax when specifying an outbound SMTP smart-host
-
-Wed Oct 26 13:22:02 EDT 2005 ajc
-* msgbase.c: Yet Another Fix to the handling of embedded message/rfc822
-
-Tue Oct 25 17:29:12 EDT 2005 ajc
-* msgbase.c: when a summary mode message list is requested, and the room
- contains a pointer to a message which does not exist (this normally should
- not happen), return an empty message summary line instead of crashing.
-* removed the remaining vestiges of the libtool stuff in .c and .y files
-
-Mon Oct 24 22:52:33 EDT 2005 ajc
-* Every user gets a Trash folder. Clients can also use _TRASH_
-
-Mon Oct 24 11:19:47 EDT 2005 ajc
-* serv_listsub.c: web subscription/confirmation address no longer has http://
- prepended to it. This means that clients now must supply that. This was
- done because we can no longer assume http -- it was breaking on https.
-
-Sun Oct 23 23:28:23 EDT 2005 ajc
-* "day start" and "day end" preferences for calendar day view.
-
-Sun Oct 23 01:37:00 EDT 2005 ajc
-* ft_wordbreaker.c: don't clobber memory when reading in tokens bigger
- than the token word buffer.
-
-Sat Oct 22 22:55:49 EDT 2005 ajc
-* Set a maximum number of messages which may be indexed before we force
- a cache flush to disk. Currently 2500.
-
-Sat Oct 22 00:48:47 EDT 2005 ajc
-* msgbase.c: allow multipart/alternative part-swapping only at the top
- level, because if we recursed into another one then it's going to stomp
- all over our preferred part. (even more uuuuunnnhhhhh...)
-
-Sat Oct 22 00:46:52 EDT 2005 ajc
-* mime_parser.c: recurse into message/rfc822 parts as if they were
- multipart, because we may need to extract attachments from the embedded
- submessage, etc. (uuuuunnnhhhh...)
-
-Fri Oct 21 15:12:45 EDT 2005 ajc
-* MSG4 (and CtdlOutputMsg() as well) now accepts an optional MIME part
- specifier, allowing the client to fetch an encapsulated message
- attached as message/rfc822 instead of the top-level message.
-
-Thu Oct 20 17:55:12 EDT 2005 ajc
-* ft_wordbreaker.c: added a list of "noise words" to ignore. This is
- admittedly EN/US specific, so if anyone wants to contribute noise words
- for other languages...
-
-Wed Oct 19 22:55:19 EDT 2005 ajc
-* serv_calendar.c: registered a fixed output hook for text/calendar.
-
-Wed Oct 19 13:30:16 EDT 2005 ajc
-* New type of server hook: CtdlRegisterFixedOutputHook(). This is for
- extending the fixed_output() function for arbitrary new MIME types. The
- usefulness of this for end users is limited, since no clients use MSG0
- anymore. The real purpose of converting various MIME types to text is to
- make them visible to the full text indexer.
-* serv_vcard.c: registered a fixed output hook for text/x-vcard.
-
-Tue Oct 18 22:46:41 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* msgbase.c, messages.c, html.c: conversion of HTML to plain text now accepts
- a maximum source length. MSG0 output of multipart messages was running
- right past the end of the HTML and into, for example, a subsequent base64
- encoded attachment, which was then output -- or worse, indexed.
-* Since everyone's fulltext indices probably contain a lot of base64 junk, the
- FT_WORDBREAKER_ID has been bumped. This will force an index rebuild on any
- sites that are upgraded.
-
-Tue Oct 18 13:11:38 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* serv_fulltext.c: index records are now cached in memory. This
- significantly speeds up indexing of an existing message base. We
- flush the cache to disk when finished.
-
-Mon Oct 17 22:10:57 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* Easy Install now uses db-4.3.29
-
-Mon Oct 17 10:59:55 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* THIS IS 6.60
-
-Sun Oct 16 00:23:19 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* msgbase.c: alias() now handles addresses such as
- Display Name <user@host.org>
- ...when user@host.org resolves to a user on the local Citadel server
- or network, without trying to loop out and back in again via SMTP.
-
-Sun Oct 16 00:11:16 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* Handle email addresses with commas inside quotes, such as
- "Cancro, Art" <ajc@uncensored.citadel.org>
- ...without thinking that the comma is a separator between addresses
-
-Thu Oct 13 00:02:23 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* citadel.c: don't crash when <.R>ead <U>serlist results in an empty
- list. The ClientIPC API returns NULL if the search returned no results,
- which we have to handle. This resolves Bugzilla issue #154.
-
-Wed Oct 12 23:30:18 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* newinstall.sh: once again, prefer wget over curl. At least one user
- reported a problem where the -O option to curl was not available. Also
- changed -O to --remote-name in the hope that this works better.
-
-Wed Oct 12 17:32:05 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* imap_search.c: when fulltext index is enabled, avoid doing a slow search
- on each message when BODY is requested. Messages are already qualified
- by the indexer.
-
-Wed Oct 12 10:30:22 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* html.c: added support for some additional character entity references.
-
-Tue Oct 11 23:13:53 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* Default for autologin is now DISABLED! If you are upgrading an existing
- site and are using this function, you must --enable-autologin
-* newinstall.sh: --enable-autologin if upgrading an existing installation
- that we think is set to autologin. It checks for chkpwd to find out.
-
-Tue Oct 11 12:55:43 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* The "set the flags" portion of IMAP COPY now sets the flags of all messages
- in bulk, instead of one message at a time. Big performance boost.
-
-Tue Oct 11 01:09:59 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* Fixed a problem with replication. I believe we've got it now but it needs
- another round of testing.
-
-Tue Oct 11 00:45:02 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* Replication checks and EUID indexing are now only enabled for rooms whose
- default view is set to a groupware type of room. This speeds up the saving
- and moving of messages for message and mail rooms.
-
-Mon Oct 10 00:22:49 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* IMAP STORE now calls CtdlSetSeen() with an entire list of message numbers.
-
-Sun Oct 9 22:37:44 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
- * CtdlSetSeen() now accepts a list of message numbers instead of just one.
-
-Sat Oct 8 18:40:50 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* Replaced the various "socket is broken" messages with the message
- "Client disconnected: ending session." The previous messages were concerning
- some site operators that there might have been something wrong with
- the system. (Bugzilla #164)
-
-Fri Oct 7 23:07:38 EDT 2005 Art Cancro <ajc@uncensored.citadel.org>
-* Makefile.in: change "CVS" references to ".svn" to avoid errors
- during install.
-
-Revision 655.25 2005/10/06 19:47:00 ajc
-* Change to EUID command syntax: returned msg num is now guaranteed to
- exist.
-
-Revision 655.24 2005/10/06 19:16:31 ajc
-* Added the EUID command to search for a message by EUID
-
-Revision 655.23 2005/10/06 17:14:41 ajc
-* newinstall.sh: prefer curl over wget
-
-Revision 655.22 2005/10/06 04:09:19 ajc
-* THE DREADED AUTO-PURGER now purges euid index records which point to
- messages that no longer exist.
-
-Revision 655.21 2005/10/06 03:36:05 ajc
-* Changed the format of the euidindex record to contain the record's key.
- This will allow us to auto-purge stale records later.
-
-Revision 655.20 2005/10/04 16:38:17 ajc
-* CtdlOutputPreLoadedMsg() calling syntax has changed. It no longer needs
- the message number, because it is being supplied a preloaded message.
-* msgbase.c: fixed a problem where HEADERS_NONE mode was broken when
- outputting a message in RFC822 format. This was breaking IMAP commands
- such as xx FETCH nn BODY[TEXT]
-
-Revision 655.19 2005/10/02 04:40:58 ajc
-* The EUID index is now built, and replication checks are being performed
- using it. It is much faster now because we don't have to scan the entire
- room anymore. We still need to do two things:
- 1. Write a server command to fetch messages by EUID instead of msgnum
- 2. Find a way to purge stale EUID index records.
-
-Revision 655.18 2005/10/01 05:18:57 ajc
-* Began writing code to index messages by euid per room
-
-Revision 655.17 2005/09/27 04:18:45 ajc
-* Auto-add *recipient* addresses to Contacts. This is done asynchronously
- because we do have to scan the address book to make sure we don't
- already have the address recorded.
-
-Revision 655.16 2005/09/26 21:46:08 ajc
-* Attempt to save *outgoing* email addresses to the address book.
-
-Revision 655.15 2005/09/21 20:07:18 ajc
-* Set the To: field for digests as well
-
-Revision 655.14 2005/09/21 16:56:17 ajc
-* The "To: line of a mailing list message is now set to the address of the
- list instead of the address of the recipient.
-
-Revision 655.13 2005/09/21 13:21:31 ajc
-* Don't harvest incoming addresses. A few hours of operation of this in a
- production environment proved that it's stupid. This feature has been
- disabled; we will harvest outgoing addresses instead.
-
-Revision 655.12 2005/09/21 04:27:34 ajc
-* When reading messages in MT_MIME mode from a Citadel client, don't
- list MIME parts that are part of a multipart/alternative group.
-
-Revision 655.11 2005/09/18 21:51:44 ajc
-* File the auto-generated vCards into the users' address books.
-
-Revision 655.10 2005/09/18 20:33:13 ajc
-* Now harvesting addresses, converting them to vCards, and storing them in
- the Aide> room. All that's left to do now is file the messages in the
- appropriate users' address books.
-
-Revision 655.9 2005/09/18 19:34:26 ajc
-* When submitting a message, harvest non-local addresses for potential
- inclusion in a user's Collected Addresses book. Note: we don't actually
- do anything with these addresses yet. That comes next.
-
-Revision 655.8 2005/09/18 17:50:05 ajc
-* serv_network.c: use a stat() call to determine the mtime of spoolin, and
- skip the scan if it hasn't been touched since the last time we looked.
-* serv_network.c: don't create network/systems/ directory. We haven't used
- that in ages.
-* serv_network.c: only attempt to create directories at startup, not at
- every queue run. Also, chown() them to the citadel user.
-
-Revision 655.7 2005/09/16 20:40:44 ajc
-* CC: support for message creation, and IMAP. Not tested.
-
-Revision 655.6 2005/09/16 20:21:38 ajc
-* CC: and BCC: delivery are working (tested using message submittal
- from WebCit) -- still missing the insertion of Y (CC) header field, and
- the handling of CC in IMAP.
-
-Revision 655.5 2005/09/16 04:23:21 ajc
-* Cc: and Bcc: support. Not finished yet.
-
-Revision 655.4 2005/09/15 21:37:06 ajc
-* Restructured cmd_auto() to be able to search vCards in more than one room.
- For now we are using the Global Address Book as the second room, but in
- production that might be a bit too slow.
-
-Revision 655.3 2005/09/15 18:36:29 ajc
-* serv_smtp.c: Allow the use of *any* RFC822-compliant address format,
- including Name <user@node>, or user@node (Name), by stripping down the
- address before doing RCPT To: in the SMTP client.
-
-Revision 655.2 2005/09/15 03:31:09 ajc
-* cmd_auto() (used by WebCit address autocompletion) now queries the
- fn, n, and all email fields in the vCards in user's Contacts room.
-
-Revision 655.1 2005/09/14 03:48:32 ajc
-* Bumped internal version number to 6.56
-* Checked in an initial but incomplete version of the AUTO command
- (to be used for address autocompletion)
-
-Revision 655.0 2005/09/13 14:00:12 ajc
-* THIS IS 6.55
-
-Revision 654.27 2005/09/13 03:56:37 ajc
-* Don't crash when user hits <.A>ide <P>ost
-
-Revision 654.26 2005/09/10 18:46:48 ajc
-* Functions such as imap_fetch_internaldate() now return quietly with no
- output, instead of crashing, if passed a NULL message pointer.
-
-Revision 654.25 2005/09/09 19:44:21 ajc
-* New bmstrcasestr() function to perform very fast case-insensitive
- substring searches using the Boyer-Moore algorithm. Like its predecessor,
- it is based on the one written by Urs Jannsen; unlike its predecessor, it
- actually works.
-
-Revision 654.24 2005/09/08 03:25:09 ajc
-* messages.c: break up long lines (preferably by substituting spaces with
- newlines) to avoid sending messages to the server containing lines with
- more than 1024 characters, to avoid having the server truncate those
- lines.
-
-Revision 654.23 2005/09/07 03:08:06 ajc
-* When rejecting a message due to RBL, give the alleged spammers the
- relevant TXT record if there is one. Hopefully. This needs testing.
-
-Revision 654.22 2005/09/02 03:50:42 ajc
-* serv_network.c: fixed a bug in digest generation that was causing the
- tops of some messages to be cut off.
-
-Revision 654.21 2005/09/01 22:07:08 ajc
-* citserver.c: change to usage of strdup() to work on RH9 where it's
- a macro
-
-Revision 654.20 2005/08/29 20:49:50 ajc
-* imap_fetch.c: fixed a bug in the IMAP FETCH BODY code that was causing the
- "most recently fetched message" cache to be burned even when it shouldn't
- have been. This was causing abominally slow message load time when a message
- contains attachments and the MUA is a client such as Thunderbird that does
- partial fetches.
-
-Revision 654.19 2005/08/23 04:00:01 ajc
-* Mailing list messages are now customized with a To: header for each
- recipient. This uses more overhead but makes delivery more reliable.
- We also prepend [List name] to the subject.
-* The undocumented client-side mailing list participation option received
- a similar update. We now set an explicit To: header in there as well,
- because some lists demand it.
-
-Revision 654.18 2005/08/21 19:40:50 ajc
-* techdoc/protocol.txt: document that unless otherwise specified,
- everything in the Citadel system is UTF-8.
-
-Revision 654.17 2005/08/21 06:16:37 ajc
-* html.c: don't transform <32 or >126 characters to question marks. We
- like foreign character sets now.
-
-Revision 654.16 2005/08/15 16:36:46 ajc
-* Added a "MIME-Version:" header in a couple of places
-
-Revision 654.15 2005/08/12 18:00:29 ajc
-* Bounds checking in CtdlDirectoryLookup()
-
-Revision 654.14 2005/08/12 15:18:27 ajc
-* updated the roadmap
-
-Revision 654.13 2005/08/12 02:12:31 ajc
-* Added more room name macros
-
-Revision 654.12 2005/08/11 23:12:26 ajc
-* debian/citadel-server.postinst: remove reference to '?' file
- (patch sent in by W. Goesgens)
-
-Revision 654.11 2005/08/11 13:55:26 ajc
-* Attempt to fix broken build of our replacement strcpy() on gcc2.96 by
- issuing an #undef strcpy (it's a macro in that environment)
-
-Revision 654.10 2005/08/10 21:47:41 ajc
-* Added "instant expunge" and "allow spoofing" site config options.
-
-Revision 654.9 2005/08/10 21:10:54 ajc
-* moved "instant expunge" to imap_do_store() so that it gets called from
- both STORE and UID STORE commands.
-
-Revision 654.8 2005/08/10 15:39:35 ajc
-* Experimental "instant expunge" option. For now, you have to put
- -DINSTANT_EXPUNGE into the CFLAGS line of your Makefile. If we decide to
- keep this it will become a site config option.
-
-Revision 654.7 2005/08/10 02:44:56 ajc
-* Applied changes to debian files sent in by WG
-
-Revision 654.6 2005/08/09 21:58:57 ajc
-* Removed the ./help/? hack; replaced with actual "show directory" code
- in the server.
-
-Revision 654.5 2005/08/09 16:28:32 ajc
-* setup.c: added "exim4" to the list of non-Citadel MTA's which can be
- disabled during setup.
-
-Revision 654.4 2005/08/09 14:13:36 ajc
-* newinstall.sh: hunt for both 'make' and 'gmake', but this time make sure
- that the make in question is actually GNU Make, regardless of its name
-
-Revision 654.3 2005/08/08 14:57:19 ajc
-* Added a new "with header summary" mode to the MSGS command.
-
-Revision 654.2 2005/08/08 14:28:41 ajc
-* CtdlForEachMessage() -- avoid scanning v_seen sequence set for each message
- during a MSGS_ALL fetch, because the results don't matter.
-
-Revision 654.1 2005/08/05 21:31:01 ajc
-* Any "delete message" operation which is synchronous to a client is now
- deferred. This is accomplished by copying the message pointer to
- the __CitadelDeletedMessages__ room, which keeps the reference count at
- least 1. THE DREADED AUTO-PURGER can sweep it up later.
-
-Revision 654.0 2005/08/05 16:22:38 ajc
-* THIS IS 6.54
-
-Revision 653.18 2005/08/04 04:46:42 ajc
-* Bumped internal version number to 6.54
-* removed some tracing messages
-
-Revision 653.17 2005/08/04 04:22:09 ajc
-* imap_fetch.c: removed a spurious ')' character from the output
- of the 'charset' field.
-
-Revision 653.16 2005/08/02 03:40:15 ajc
-* Removed instances of hard-coded CTDLDIR; this breaks -h
-
-Revision 653.15 2005/08/02 03:05:31 ajc
-* Added in Wilfried Goesgens' debian/ build directory.
-
-Revision 653.14 2005/08/02 02:49:12 ajc
-* Applied Wilfried Goesgens' dirconfig patch for more install targets
-
-Revision 653.13 2005/08/01 20:45:26 ajc
-* citadel_ipc.c: RUN_DIR not RUNDIR in line 2944
-
-Revision 653.12 2005/07/29 03:50:52 ajc
-* Temporarily disabling network_purge_spoolout() because it may be
- removing files it shouldn't.
-
-Revision 653.11 2005/07/29 01:50:58 ajc
-* Create network/ directory hierarchy if it doesn't exist
-
-Revision 653.10 2005/07/28 03:22:19 ajc
-* Added a "macintosh readme" written by Mathew McBride
-
-Revision 653.9 2005/07/26 02:49:25 ajc
-* Applied a patch sent in by Wilfried Goesgens which allows the various
- program and data directories to be set to any location on the host
- system. This will allow packagers to do FSSTND-type configurations.
-
-Revision 653.8 2005/07/25 17:37:36 ajc
-* citadel_ipc.c: when performing a MSG4 command, don't return the
- charset as part of the content-type string.
-
-Revision 653.7 2005/07/21 17:20:55 ajc
-* <.R>ead <U>ser-list now takes advantage of the server-side string match
- if available. It still filters on the client side as well, in case the
- server is older and sent back the whole list.
-
-Revision 653.6 2005/07/21 15:02:27 ajc
-* Server-side LIST command now accepts a search string.
-
-Revision 653.5 2005/07/19 20:04:31 ajc
-* MSG4 command now outputs content type *and* charset
-
-Revision 653.4 2005/07/19 17:30:13 ajc
-* Fixed a bug in the MIME parser that was causing it to prematurely go
- out of scope when binary parts are included. (8-bit MIME is not yet
- explicitly supported in the Citadel server, but WebCit uses this to
- handle data coming in via the POST method.)
-
-Revision 653.3 2005/07/19 14:21:51 ajc
-* mime_parser.c: don't default to Content-type: text/plain; charset=us-ascii
- because there are places where those fields actually need to be empty (in
- WebCit, actually, but I don't want to fork the mime parser).
-
-Revision 653.2 2005/07/19 04:10:01 ajc
-* Updated the MIME parser API to include the "charset" portion of
- the content type.
-
-Revision 653.1 2005/07/09 11:30:18 ajc
-* Removed trailing space at the end of the list of messages returned by
- an IMAP SEARCH command.
-
-Revision 653.0 2005/07/06 21:41:52 ajc
-* THIS IS 6.53
-
-Revision 652.1 2005/07/06 21:41:17 ajc
-* Fixed bug #149 (incorrect sequence set optimization, resulting in
- messages being marked as read/unread incorrectly during IMAP sessions)
-
-Revision 652.0 2005/07/06 02:28:38 ajc
-* THIS IS 6.52
-
-Revision 651.8 2005/07/06 02:28:20 ajc
-* citadel.lsm: removed. Nobody uses the Linux Software Map anymore.
-* Updated internal version number to 6.52
-
-Revision 651.7 2005/07/06 01:53:34 ajc
-* imap_fetch.c: additional self-check to avoid attempting to fetch messages
- with UID's lower than 1. Hopefully this fixes bug #150.
-
-Revision 651.6 2005/07/01 22:07:27 ajc
-* CtdlSetSeen() -- when new vset overflows its size, trim it in such a way
- so that it doesn't mark the oldest messages as new.
-
-Revision 651.5 2005/06/28 02:58:19 ajc
-* docs update
-
-Revision 651.4 2005/06/26 22:19:20 ajc
-* auth.c: applied fleeb's patch to validpw() to clean up FreeBSD compatibility
-
-Revision 651.3 2005/06/22 03:45:17 ajc
-* Documented the auto-log-cull as it relates to backup strategies
-
-Revision 651.2 2005/06/22 03:03:34 ajc
-* Automatic deletion of committed database logs is now a site-definable
- setting.
-
-Revision 651.1 2005/06/16 02:42:58 ajc
-* There is now a dedicated thread for doing database checkpoints.
-
-Revision 651.0 2005/06/12 03:46:30 ajc
-* THIS IS 6.51
-
-Revision 647.42 2005/06/12 03:31:33 ajc
-* ChangeLog: restored automatic prepending of CVS commit log messages
- to the top of this file. Somehow it got lost somewhere around 647.20
-
-Revision 647.41 2005/06/12 03:30:20 ajc
-* Test
-
-revision 647.40
-date: 2005/06/12 03:24:15; author: ajc; state: Exp; lines: +0 -1
-* When delivering list digests, put the name of the room in [brackets]
- in the subject line. This makes lots of other software happy. (We
- need to do this for non-digest list subscribers too.)
-
-revision 647.39
-date: 2005/06/12 01:15:33; author: ajc; state: Exp; lines: +1 -0
-* Provide separate filtered and unfiltered LMTP sockets.
-
-revision 647.38
-date: 2005/06/09 20:10:02; author: ajc; state: Exp; lines: +0 -1
-* Easy Install requires gmake
-
-revision 647.37
-date: 2005/06/09 03:35:58; author: ajc; state: Exp; lines: +1 -0
-* Allow IMAP DELETE of a zapped/forgotten/unsubscribed room
-
-revision 647.36
-date: 2005/06/09 03:20:21; author: ajc; state: Exp; lines: +0 -1
-* Do not log IMAP/POP/SMTP password commands
-
-revision 647.35
-date: 2005/06/07 21:45:14; author: ajc; state: Exp; lines: +1 -0
-* bounce messages need subjects
-
-revision 647.34
-date: 2005/06/06 23:50:01; author: ajc; state: Exp; lines: +0 -1
-* Made some changes to the calendar/uuid logic to fix a bug that caused
- duplicate entries for an event to appear in some situations
-
-revision 647.33
-date: 2005/06/03 22:26:03; author: ajc; state: Exp; lines: +1 -0
-* When saving a vCard to a dedicated contacts room, always set the subject
- to the name in the vCard.
-
-revision 647.32
-date: 2005/06/03 22:22:36; author: ajc; state: Exp; lines: +0 -1
-* Removed old Aethera hacks
-
-revision 647.31
-date: 2005/06/03 04:01:27; author: ajc; state: Exp; lines: +1 -0
-* Documentation update
-
-revision 647.30
-date: 2005/06/02 19:32:30; author: ajc; state: Exp; lines: +0 -1
-* Set the correct flags in the target room after an IMAP COPY command.
-
-revision 647.29
-date: 2005/06/02 16:09:32; author: ajc; state: Exp; lines: +1 -0
-* tools.c: generated uuid's no longer contain "{" and "}" characters.
-
-revision 647.28
-date: 2005/06/02 03:39:44; author: ajc; state: Exp; lines: +0 -1
-* Do not turn the initial thread into a worker thread after initialization.
- Its stack size is too small, which could cause crashes.
-
-revision 647.27
-date: 2005/06/01 22:32:57; author: ajc; state: Exp; lines: +1 -0
-* Implemented a workaround for the IMAP "expungebob bug." Specifically, since
- we don't store the \Deleted flag persistently (and instead auto-expunge
- folders when they are de-selected) we were not advertising \Deleted as
- a PERMANENTFLAGS flag. This was causing some clients (particularly
- Thunderbird) to misbehave -- they were simply electing not to transmit the
- flag at all. As a workaround, \Deleted is now advertised as a
- PERMANENTFLAGS flag, even though it technically isn't.
-
-revision 647.26
-date: 2005/06/01 18:31:50; author: ajc; state: Exp; lines: +0 -1
-* serv_vandelay.c: updated the export format to include some of the config
- items we missed.
-
-revision 647.25
-date: 2005/06/01 05:23:26; author: ajc; state: Exp; lines: +1 -0
-* The full text indexer now runs in its own dedicated thread instead of
- in the housekeeping thread. The main indexer loop now also has the ability
- to save its place and bail out early when it discovers that the server is
- trying to shut down. The main server loop will pthread_join() the indexer
- thread and patiently wait for it to complete before exiting. These changes
- all put together mean that citserver will not hang when it is terminated
- during an indexing operation.
-
-revision 647.24
-date: 2005/05/27 23:46:57; author: ajc; state: Exp; lines: +0 -1
-* Removed OpenLDAP from Easy Install, because it was just too problematic.
-
-revision 647.23
-date: 2005/05/26 04:25:29; author: ajc; state: Exp; lines: +1 -0
-* Applied xmlns and etag patches sent in by Johannes Schneider that improve
- GroupDAV support.
-* Located and fixed a MIME Content-type bug that I accidentally created
- while removing a temporary hack that was in place during the last KDE beta.
-
-revision 647.22
-date: 2005/05/23 19:33:56; author: ajc; state: Exp; lines: +0 -1
-* database_sleepycat.c: cdb_truncate() no longer encapsulated in a
- transaction. Truncating a database in Citadel is always synchronous,
- and with big tables (such as when the full text indexer is switched off
- or reinitialized) it was running out of memory.
-
-revision 647.21
-date: 2005/05/23 19:31:52; author: ajc; state: Exp; lines: +5 -1
-* test
-
- Revision 647.20 2005/05/23 19:26:04 ajc
- * Move the location of the "enable full text index" configuration item to
- a new location. Reusing an old location was a stupid idea because old
- clients can inadvertently switch it on.
-
- Revision 647.19 2005/05/23 14:07:39 ajc
- * serv_imap.c: improve SELECT time by fetching the msglist directly out of
- the database instead of doing a CtdlForEachMessage() loop.
-
- Revision 647.18 2005/05/22 16:12:25 ajc
- * Full text indexer is now switchable on/off
-
- Revision 647.17 2005/05/20 20:02:50 ajc
- * The IGnet map is now rewritten to disk only when it changes.
- * When processing inbound network spool, ignore "." and ".." instead of
- failing on them.
-
- Revision 647.16 2005/05/20 16:22:33 ajc
- Fixed some errors in the ChangeLog
-
- Revision 647.15 2005/05/20 16:14:43 ajc
- * Dramatically improved the time it takes to goto (or select) a room which
- contains a very long and complex seen/unseen list. Our test folder,
- containing 359 new of 3162 messages, formerly took 22 seconds to select;
- now it takes 1 to 2 seconds.
-
- Revision 647.14 2005/05/20 02:37:17 ajc
- * Performance-optimized the full text indexer.
-
- Revision 647.13 2005/05/20 01:20:24 ajc
- * Cull logs immediately after a successful db checkpoint instead of only
- once every 24 hours. During big db write operations (such as building
- the full text index) they were just piling up too much.
-
- Revision 647.12 2005/05/19 21:10:03 ajc
- * Altered the full text indexer to output messages as text before running
- through the wordbreaker. This prevents the inclusion of encoded base64
- strings in the index, and also allows legitimate text encoded inside
- base64 to be decoded and then indexed.
-
- Revision 647.11 2005/05/19 03:42:29 ajc
- * Bound the full text index to IMAP search
-
- Revision 647.10 2005/05/18 22:09:01 ajc
- * Finished the indexer *and* deindexer! The search API is now working
- flawlessly too. Now all we have to do is glue it to IMAP and other
- user-facing functionality. (The SRCH command is for testing only.)
-
- Revision 647.9 2005/05/18 04:02:54 ajc
- * Completed the "search for all of these words" functionality. All we need
- to do now is generalize its calling syntax so it can be called from the
- IMAP service.
-
- Revision 647.8 2005/05/18 03:22:27 ajc
- * Finished the indexer and the first part of the search function...
-
- Revision 647.7 2005/05/17 20:36:48 ajc
- * Indexer is completed; also began work on the search function itself.
- Still need to add de-indexing so deleted messages are removed from index.
-
- Revision 647.6 2005/05/17 16:25:23 ajc
- * Completed the wordbreaker for the full text indexer.
-
- Revision 647.5 2005/05/17 04:04:46 ajc
- * Began some glue code for the full text indexer.
-
- Revision 647.4 2005/05/16 20:03:33 ajc
- * definition of struct CitControl moved from citadel.h to server.h
-
- Revision 647.3 2005/05/16 18:48:45 ajc
- * Don't prompt the user for screen dimensions anymore. Nobody is using
- dialup terminals with arbitrary screen sizes anymore; nearly everyone (or
- more likely, *absolutely* everyone) is now using networked displays which
- can be automatically queried for their screen dimensions. For now, we'll
- keep the screen size properties in the database and in the protocol, but
- the prompts have been commented out.
-
- Revision 647.2 2005/05/16 18:25:56 ajc
- * Avoid re-creating the default-named baseroom (Lobby) upon subsequent
- startups after it's been renamed to something else.
-
- Revision 647.1 2005/05/16 16:59:39 ajc
- * Default expire policy is now 'manual' (no automatic expiry of messages
- under any circumstances). Implemented as per David Given's suggestion
- that we should operate using the element of least surprise.
-
- Revision 647.0 2005/05/12 16:54:10 ajc
- * THIS IS 6.47
-
- Revision 646.1 2005/05/12 16:53:18 ajc
- * Fixed a minor bug discovered in SMTP at one site
-
- Revision 646.0 2005/05/11 17:06:04 ajc
- * THIS IS 6.46
-
- Revision 645.20 2005/05/09 22:17:30 ajc
- * Interactive room deletions are now deferred. The server reconfigures the
- room to be a mailbox owned by a nonexistent user and immediately returns
- control back to the client. Later, THE DREADED AUTO-PURGER will see the
- dangling room and erase its contents.
-
- Revision 645.19 2005/05/08 03:43:22 ajc
- * Set the internal version number to 6.46 in preparation for a release
-
- Revision 645.18 2005/05/02 20:52:42 ajc
- * More IMAP optimizations, including the application of our latest "don't
- fetch the message body" trick to ENVELOPE and INTERNALDATE fetches, to
- make MS-Outbreak spread email viruses faster.
-
- Revision 645.17 2005/05/02 16:09:52 ajc
- * serv_imap.c: implemented the RFC 3501 suggestion that the initial
- greeting, and the response to the LOGIN command, include an output
- of the server's CAPABILITY string. I find this to be gratuitous but
- the UW IMAP server does it, so we are also doing it in order to better
- interoperate with clients which make assumptions...
-
- Revision 645.16 2005/04/29 22:02:20 ajc
- * More IMAP tuning
-
- Revision 645.15 2005/04/29 20:47:45 ajc
- * More complex cache handling for IMAP fetch operations -- now we can
- fetch/cache "just the headers" and remember whether we did so, so we can
- burn the cache if the client then comes around and requests something
- that requires the body. Still needs some testing and tuning.
-
- Revision 645.14 2005/04/29 16:50:03 ajc
- * Significantly reduced the memory footprint of struct CitContext.
-
- Revision 645.13 2005/04/29 16:26:00 ajc
- * Removed the CtdlRedirectOutput() API, as we are no longer using it.
- (Oh happy day; no more temp files!)
-
- Revision 645.12 2005/04/27 19:22:57 ajc
- * .ASG command: made better use of memory to avoid crashes
-
- Revision 645.11 2005/04/23 04:38:26 ajc
- * Substantially improved the appearance of mailing list digests.
- Superfluous RFC822 headers no longer appear, and all messages are
- converted to plain text using the preferred_formats framework.
- * CtdlOutputPreLoadedMsg() -- fixed bug that caused Citadel protocol
- headers to appear for MIME prefix, suffix, etc. even when do_proto is 0.
-
- Revision 645.10 2005/04/23 02:04:11 ajc
- * serv_imap.c: don't respond "OK DELETE completed" until after the room
- delete operation actually completes.
-
- Revision 645.9 2005/04/23 01:59:58 ajc
- * Big performance optimization on CtdlSetSeen()
-
- Revision 645.8 2005/04/22 04:26:34 ajc
- * is_msg_is_mset() has been renamed to is_msg_in_sequence_set() because
- "sequence set" is now the official terminology as of RFC3501.
- * imap_set_seen_flags() no longer calls is_msg_in_sequence_set() for each
- message and for each flag. It's just too expensive. We now parse each
- flag's sequence set manually, marking the relevant messages as we go.
-
- Revision 645.7 2005/04/22 00:52:03 ajc
- * small fix to previous commit
-
- Revision 645.6 2005/04/21 17:28:51 ajc
- * msgbase.c: when committing a new message to the store, save its RFC822
- length to the metadata record immediately. This will eliminate the need
- to calculate it later during a fetch operation.
-
- Revision 645.5 2005/04/14 15:53:55 ajc
- * Variable names, comments, documentation, etc... removed the acronym 'BBS'
- in places where functionality is not specific to the use of Citadel as
- a BBS platform.
-
- Revision 645.4 2005/04/13 20:42:44 ajc
- * citmail.c: changes to citmail to make it usable as a /usr/sbin/sendmail
- replacement; i.e. /bin/mail calls /usr/sbin/sendmail which sends mail
- through Citadel.
-
- Revision 645.3 2005/04/13 17:03:07 ajc
- * Reverted database changes because the cull_logs function wasn't working
- with the separate log directory.
- * citmail.c: started some fixes to make it able to work from
-
- Revision 645.2 2005/04/12 21:19:52 ajc
- * 'make install' now installs citadel-openldap.schema
-
- Revision 645.1 2005/04/11 16:31:57 ajc
- * Database logs are now kept in the "data_logs" directory instead of in
- the "data" directory. If no "data_logs" directory is found, a symlink
- to "data" will be created, in order to preserve access to any existing
- log files -- a savvy sysadmin (or a storage management wizard script)
- will know what to do if a different location is desirable.
-
- Revision 645.0 2005/04/01 03:02:44 ajc
- * THIS IS 6.45
-
- Revision 641.34 2005/03/31 04:31:42 ajc
- * Bumped the internal version number to 6.45 in preparation for
- an upcoming release.
-
- Revision 641.33 2005/03/24 22:52:40 ajc
- * More extermination of the dreaded SIZ moby-buffers.
-
- Revision 641.32 2005/03/24 22:13:56 ajc
- * extract_token() now expects to be supplied with the size of the
- destination string buffer. This, along with the elimination of other
- unbounded functions like strcpy(), will allow the removal of the
- "all string buffers are of size SIZ" assumption (a process which I have
- already begun), which will hopefully reduce stack consumption.
-
- Revision 641.31 2005/03/22 21:53:48 ajc
- * Oops, forgot to initialize some data structures...
-
- Revision 641.30 2005/03/22 16:49:29 ajc
- * Fixed a couple of memory allocation bugs
-
- Revision 641.29 2005/03/20 22:55:58 ajc
- * Logging to stderr no longer uses syslog()
- * Reworked the way dead sessions are purged. More efficient and more
- reliable now.
-
- Revision 641.28 2005/03/18 21:40:36 ajc
- * Minor bugfix to previous checkin
-
- Revision 641.27 2005/03/18 21:25:06 ajc
- * Finished removing all the "dynamic session data" stuff in order to
- boost reliability, improve performance, and reduce complexity.
-
- Revision 641.26 2005/03/12 05:42:35 ajc
- * Trying to fix a memory bug somewhere.
- * While working on the above, noticed that the way we did the per-session
- dynamic symbols loses badly in terms of performance. Began moving to
- a less modular but better performing way of doing the same.
-
- Revision 641.25 2005/03/10 03:36:25 ajc
- * Silenced a compiler warning
- * Our graceful cleanup handler no longer gracefully cleans up after
- receiving SIGSEGV or its friends. Unfortunately we need the core dump.
-
- Revision 641.24 2005/03/10 03:11:07 ajc
- * Altered the algorithm by which the doubly-linked session list is
- amended and culled. Decided that performance is better than cute
- session numbers (which we don't display to the users anymore anyway)
- and we now assign a session number (CC->cs_pid) starting with 1 when the
- server starts and incrementing indefinitely. Need to test this more.
-
- Revision 641.23 2005/03/07 04:08:07 ajc
- * vcard.c: realloc fix
-
- Revision 641.22 2005/03/05 22:31:01 ajc
- * Allow the use of chained certificates for crypto
-
- Revision 641.21 2005/03/04 20:04:00 ajc
- * IMAP FETCH RFC822.SIZE now honors the cached rfc822 size in each
- message's metadata, using it if present and storing it for next time
- otherwise.
- * Fixed bug in POP3 server that was causing it to fail to store the
- correct RFC822 size in metadata. Fortunately it was failing in a way
- that merely affected performance rather than corrupting the data on
- existing installations.
-
- Revision 641.20 2005/03/04 02:24:31 ajc
- * SMTP: only offer TLS on the MSA port (587), not on the MTA port (25).
- There seem to be some other MTA's out there that make things go haywire
- when TLS is offered.
-
- Revision 641.19 2005/03/04 02:18:46 ajc
- * config.c: default setting for "maxmsglen" is now 10 megabytes, not INT_MAX
-
- Revision 641.18 2005/03/03 18:10:27 ajc
- * sysdep.c: change the algorithm for dynamically expanding the redirect
- buffer's size. Large writes were overflowing it.
-
- Revision 641.17 2005/03/03 17:56:53 ajc
- * Finished removing the use of temp files in IMAP.
- WARNING: DON'T USE THIS ON A PRODUCTION SYSTEM, IT HAS NOT BEEN
- FULLY TESTED WITH VARIOUS IMAP CLIENTS YET!
-
- Revision 641.16 2005/03/03 05:14:06 ajc
- * Realized that memreadline() does NOT return a NULL pointer when it hits
- a null character, and adjusted all the code I wrote yesterday under that
- assumption.
- * Removed the use of a temp file for IMAP FETCH BODYSTRUCTURE on a
- non-RFC822 message.
-
- Revision 641.15 2005/03/02 17:33:03 ajc
- * msgbase.c: fixed a buffer overflow error
- * imap_fetch.c, serv_imap.c, serv_imap.h: migrated imap_fetch_rfc822() to
- use the new in-memory message buffering. BODY comes next...
-
- Revision 641.14 2005/03/02 03:35:18 ajc
- * serv_smtp.c: removed use of temporary file for SMTP transmission
-
- Revision 641.13 2005/03/02 03:01:18 ajc
- * serv_spam.c: use redirect_buffer instead of redirect_sock
- * Removed redirect_sock from the API. redirect_fp is next!
-
- Revision 641.12 2005/03/02 02:42:06 ajc
- * Finished moving the POP3 server to the new redirect_buffer semantics
-
- Revision 641.11 2005/03/02 02:16:10 ajc
- * Toned down some of the hostility in the code's comments :)
-
- Revision 641.10 2005/03/01 22:03:35 ajc
- * Began implementation of a third RedirectOutput mode -- one which writes
- to a memory buffer. This will replace the other two.
- * serv_pop3.c: began migration to the new redirect mode.
-
- Revision 641.9 2005/03/01 04:24:52 ajc
- * When saving an RFC822 message, use a less expensive algorithm to
- search for the Content Type
-
- Revision 641.8 2005/02/28 20:32:50 ajc
- * IMAP APPEND command now accepts the message text using one big
- client_read() call instead of a bunch of smaller ones.
-
- Revision 641.7 2005/02/28 02:25:29 ajc
- * added pid file writing
-
- Revision 641.6 2005/02/27 15:36:28 ajc
- * database_cleanup.sh: look for /usr/local/ctdlsupport/bin/db_dump and
- prepend that directory to the PATH if found.
- * database_cleanup.sh: add more warnings about how dangerous this tool is
-
- Revision 641.5 2005/02/26 16:27:54 ajc
- * setup.c: added more items to the list of non-Citadel MTA's which can be
- disabled during setup.
-
- Revision 641.4 2005/02/25 17:59:12 ajc
- * Ok, now we accept *all* the flags transmitted during an IMAP APPEND, not
- just the first one.
-
- Revision 641.3 2005/02/25 05:51:52 ajc
- * Started working on a fix for the IMAP APPEND "flags" thing. It works
- but only for the first flag sent. Will finish tomorrow.
-
- Revision 641.2 2005/02/24 18:14:24 ajc
- * Removed excessive trace messages that were slowing the server down
- * Prepared for handling of setting flags in IMAP APPEND
-
- Revision 641.1 2005/02/23 04:24:57 ajc
- * When auto-creating Mail>, Sent Items>, etc... set view to VIEW_MAILBOX
-
- Revision 641.0 2005/02/21 21:59:33 ajc
- * THIS IS 6.41
-
- Revision 640.14 2005/02/21 21:40:28 ajc
- * Updated internal version number to 6.41
-
- Revision 640.13 2005/02/20 21:10:59 ajc
- * Repaired access control problem in IMAP SUBSCRIBE
-
- Revision 640.12 2005/02/17 16:13:59 ajc
- * Removed "Log Hooks." This enabled the removal of a buf[SIZ] in lprintf,
- where it can potentially blow lots of stacks.
-
- Revision 640.11 2005/02/17 03:52:16 ajc
- * setup.c: clarify some of the messages
-
- Revision 640.10 2005/02/16 19:03:38 ajc
- * master_cleanup() now passes along an exit code from its caller to the OS.
-
- Revision 640.9 2005/02/16 18:48:39 ajc
- * Try to reach our cleanup routine when SIGSEGV is caught. Hopefully
- we'll get there and we can close the databases cleanly.
-
- Revision 640.8 2005/02/16 17:37:16 ajc
- * Be more aggressive about shutting down when told to. Getting the
- databases closed is the highest priority.
-
- Revision 640.7 2005/02/16 04:08:42 ajc
- * newinstall.sh: put the checksum files server-side to avoid
- unnecessary downloads
-
- Revision 640.6 2005/02/16 03:02:28 ajc
- * Applied patches submitted by Kevin Kilbride for TCP_CORK and for
- turning CitContext into a doubly-linked list.
-
- Revision 640.5 2005/02/13 04:55:18 ajc
- * Did the server port hooks etc. for SSL listeners. For some reason it
- doesn't work. :(
-
- Revision 640.4 2005/02/13 04:23:59 ajc
- * Added server and client configuration settings to specify port
- numbers for IMAPS, POP3S, and SMTPS (SSL-encrypted services that start
- SSL upon connect instead of using a STARTTLS command). These services
- are not yet implemented, only the port number settings are.
-
- Revision 640.3 2005/02/13 03:39:21 ajc
- * IMAP flag twiddling with STORE was broken because of the \Flag leading
- backslash getting stripped out. Located problem and worked around. Said
- many nasty things about IMAP's gratuitous complexity, particularly the
- moronic idea to put backslashes in a place where they were completely
- unnecessary.
-
- Revision 640.2 2005/02/12 16:58:36 ajc
- * Changes to lprintf() and start_daemon() submitted by Kevin Kilbride
- for more "true unix" approaches to each.
-
- Revision 640.1 2005/02/11 03:51:51 ajc
- * <.A>ide <U>ser-edit is now <.A>ide <U>ser <E>dit
- * Added a new <.A>ide <U>ser <D>elete command, because it is unintuitive
- to tell people "delete a user by setting their access level to 0"
-
- Revision 640.0 2005/02/10 16:52:18 ajc
- * THIS IS 6.40
-
- Revision 630.16 2005/02/10 16:52:03 ajc
- * Updated documentation etc. for 6.40 release (and for 2005 copyright)
-
- Revision 630.15 2005/02/08 03:33:49 ajc
- * client_gets(char *buf) has been replaced by
- client_getln(char *buf, int maxbytes)
-
- Revision 630.14 2005/02/05 22:56:31 ajc
- * More reliable handling of conversion of vCard UID to Citadel Extended ID
- (necessary for GroupDAV URL's to be generated properly in WebCit)
-
- Revision 630.13 2005/02/05 04:13:34 ajc
- * msgbase.c: replication checks for Exclusive-ID no longer cause a save
- operation to fail when the existing message is newer. This was causing
- groupware clients to go haywire because of datestamps being set to
- event start times, etc.
-
- Revision 630.12 2005/02/03 04:36:56 ajc
- * serv_calendar.c: beforesave hook now looks for the UID inside nested
- VTODO components, in addition to VCALENDAR components.
-
- Revision 630.11 2005/02/01 23:11:46 ajc
- * new ENT0 syntax now also outputs EUID
-
- Revision 630.10 2005/02/01 19:46:12 ajc
- * Added an SMTP-like calling syntax to ENT0 to allow a confirmation message
- to be sent back to the client after a message is transmitted.
-
- Revision 630.9 2005/02/01 03:33:22 ajc
- * Changed CtdlRoomAccess() calling syntax in order to return both
- the access bits and the current view
- * All "list rooms" commands now return the view for each room.
-
- Revision 630.8 2005/01/27 22:05:21 ajc
- * Renamed the "Extended message ID" field to "Exclusive message ID"
- (nothing changes except documentation and internal variable names)
-
- Revision 630.7 2005/01/27 21:59:22 ajc
- * serv_vcard.c: changed the logic a bit. When saving a vCard to a user's
- "My Citadel Config" room, force-feed the vCard a site-compliant UID and
- FBURL. When saving a vCard to *any* address book room, set the Citadel
- EUID to the vCard UID.
-
- Revision 630.6 2005/01/27 17:33:52 ajc
- * The before-save hook in serv_calendar.c now runs for any room with a
- view of VIEW_CALENDAR or VIEW_TASKS, not just Calendar> and Tasks>.
-
- Revision 630.5 2005/01/26 23:04:22 ajc
- * When saving calendar items, if the vCalendar object does not contain
- a UUID, generate one on the fly. In order to support GroupDAV we need
- persistent URL's, and I plan to base those on the UUID.
-
- Revision 630.4 2005/01/25 20:58:07 ajc
- * serv_pop3.c: minor change to logging output
-
- Revision 630.3 2005/01/25 15:02:12 error
- * Updated SSL/TLS code to actually use the TLS cipher suites
-
- Revision 630.2 2005/01/22 04:15:32 ajc
- * Increased per-thread stack size again, this time to 1MB
-
- Revision 630.1 2005/01/22 03:14:20 ajc
- * Each message's metadata now has the ability to cache the length of
- the message when output in RFC822 format. The POP3 service populates
- this field the first time it sees each message, and fetches the length
- from cache on subsequent visits.
- * Because of this optimization, we no longer need to keep the entire POP3
- mailbox stored in open temp files during a session. Each message is
- opened again when it is fetched.
-
- Revision 630.0 2005/01/21 20:25:08 ajc
- * THIS IS 6.30
-
- Revision 629.10 2005/01/21 20:24:34 ajc
- * Internal version number is now 6.30
-
- Revision 629.9 2005/01/21 20:20:06 ajc
- * Increase per-thread stack size from 128k to 256k. This fixes the
- crashing IMAP service on 64-bit Linux.
-
- Revision 629.8 2005/01/19 20:49:46 ajc
- * Minor fixenbugs after running with Valgrind
-
- Revision 629.7 2005/01/19 03:03:36 ajc
- * Minor and/or cosmetic changes made during x64 troubleshooting
-
- Revision 629.6 2005/01/18 17:58:38 ajc
- * Trying to fix IMAP brokenness on Linux-x64. Committing changes even
- though there are a lot of annoying trace messages in this tree, because
- I did clean up a bunch of stuff here and there.
-
- Revision 629.5 2005/01/14 17:08:30 ajc
- * Applied a configure script fix sent in by David Given for more reliable
- detection of the installed libical version.
-
- Revision 629.4 2005/01/13 05:43:16 ajc
- * Initial support for having a room participate in a remote mailing list
-
- Revision 629.3 2005/01/09 03:20:41 ajc
- * Applied a patch sent in by David Given for handling of the "&" character
- plus Unicode characters in IMAP folder names.
-
- Revision 629.2 2005/01/07 15:56:14 ajc
- * msgbase.c: fixed an incorrect variable name in the bigmsg-handler
-
- Revision 629.1 2005/01/07 03:05:04 ajc
- * serv_imap.c: fail with a "BAD" error response if the LOGIN command is
- called with the wrong number of parameters (otherwise it goes boom)
- * user_ops.c: CtdlLoginExistingUser() was calling strproc() on the supplied
- name, which killed the ability to log in with your email address (because
- it stripped the @ symbol). Changed it to striplt() instead.
-
- Revision 629.0 2005/01/04 03:57:32 ajc
- * THIS IS 6.29
-
- Revision 628.2 2005/01/04 03:57:21 ajc
- * newinstall.sh: save tarball checksums after successful install of each
- component; skip subsequent installs for components which have not changed
- * Bumped internal version number to 6.29
-
- Revision 628.1 2005/01/04 02:06:28 ajc
- * sysdep.c: if we have enough information to do so, adjust maximum file
- descriptors to avoid exceeding FD_SETSIZE. This is done to circumvent
- a rare but specific vulnerability.
-
- Revision 628.0 2004/12/14 03:16:19 ajc
- * THIS IS 6.28
-
- Revision 627.12 2004/12/12 17:33:24 error
- * sysdep.c: lprintf(): Bug 124: Fix remote format string vulnerability
- (thanks to coki@nosystem.com.ar)
-
- Revision 627.11 2004/12/01 16:28:58 ajc
- * tools.c: don't crash when striplt() is called with z zero length string
-
- Revision 627.10 2004/11/26 22:44:08 ajc
- * Added a sooper-seekrit way to spool network messages to a remote node
- where the room has a different name
- * Internal version number is now 6.28, so that WebCit doesn't b0rk the
- netconfigs of older Citadel servers
-
- Revision 627.9 2004/11/19 02:31:56 ajc
- * Added developer ID # 177
-
- Revision 627.8 2004/11/16 23:04:18 ajc
- * setup.c: added "dovecot" to the list of "other email services" which
- the setup program can helpfully disable for you. :)
-
- Revision 627.7 2004/11/12 03:51:42 ajc
- * serv_expire.c: auto-purge any user whose user number is less than 1.
-
- Revision 627.6 2004/11/11 16:21:12 nbryant
- * database_sleepycat.c: make cdb_rewind enforce that cursors must be
- closed before they can be opened again. (prevents cursors being held
- open for longer than they should be and holding database locks.)
-
- Revision 627.5 2004/11/11 14:56:16 ajc
- * Further adjustments to ldap setup
-
- Revision 627.4 2004/11/11 04:38:36 ajc
- * setup.c: fix bug that kept creating new inittab entries for slapd
-
- Revision 627.3 2004/11/10 21:33:47 ajc
- * Go to Berkeley DB 4.3.21 in Easy Install
-
- Revision 627.2 2004/11/10 19:59:23 nbryant
- * configure.ac: detect /usr/local/BerkeleyDB.4.3
-
- Revision 627.1 2004/11/10 03:03:14 ajc
- * Added a few wonderful linebreaks to >80 column lines
-
- Revision 627.0 2004/11/03 20:18:58 ajc
- * THIS IS 6.27
-
- Revision 626.18 2004/11/03 20:18:46 ajc
- * Internal version number is now 6.27
-
- Revision 626.17 2004/11/02 22:59:20 ajc
- * setup.c: fixed an incorrect variable name that was causing inittab
- twiddling to malfunction.
-
- Revision 626.16 2004/11/02 02:47:10 ajc
- * Easy Install: put the log directly in /tmp instead of in the build
- directory so it doesn't get deleted on a failed install.
-
- Revision 626.15 2004/10/23 14:33:44 ajc
- * serv_notes.c: finished. When saving a message in a room whose view
- is set to "notes," look for an X-KOrg-Note-Id: header, and if one is
- present, set both the Extended ID and the Subject to that. This is for
- Aethera compatibility.
-
- Revision 626.14 2004/10/22 14:49:25 ajc
- * newinstall.sh: Be more careful about locating make/gmake on the host
- system. Also now tries to use curl if wget is not available.
-
- Revision 626.13 2004/10/22 02:53:25 ajc
- * serv_notes.c: added skeleton module
- * serv_newuser.c: corrected internal comment
- * techdoc: renamed session.txt to protocol.txt because it really isn't
- a session layer protocol, it's more of an application layer protocol.
-
- Revision 626.12 2004/10/13 02:11:00 ajc
- * Repaired a completely broken <;Z>ap floor command.
-
- Revision 626.11 2004/10/12 11:24:42 ajc
- * Tracing a problem with ;Z command
-
- Revision 626.10 2004/10/12 02:48:11 ajc
- * Reworked shutdown sequence to avoid thread deadlock
-
- Revision 626.9 2004/10/12 02:17:49 ajc
- * Cleaned up some things that generated compiler warnings
- * crypto keys directory is now relative to the server's working directory,
- not to the compiled-in CTDLDIR
- * Re-ordered the security checks in CtdlAccessCheck()
-
- Revision 626.8 2004/10/06 21:23:21 error
- * Fixup a few more compiler warnings from icc
-
- Revision 626.7 2004/10/05 01:44:20 ajc
- * Changed a bunch of localtime() calls to localtime_r(), for great justice.
-
- Revision 626.6 2004/10/04 21:40:29 error
- * configure.ac: Add CFLAGS for icc Intel Compiler
-
- Revision 626.5 2004/10/04 21:39:35 error
- * Fix a couple of minor compiler warnings
-
- Revision 626.4 2004/10/03 04:25:23 ajc
- * Removed some vestiges
-
- Revision 626.3 2004/10/03 04:11:48 ajc
- * sysdep.c: in the main server loop, when time_to_die is detected, return
- immediately instead of falling through to the end of the function.
-
- Revision 626.2 2004/10/03 03:57:32 ajc
- * Added pthread_attr_destroy() in the appropriate location (thanks fleeb!)
-
- Revision 626.1 2004/10/01 15:58:08 ajc
- * Configure "notes" view and auto-create Notes> room
-
- Revision 626.0 2004/09/28 16:11:16 ajc
- * THIS IS 6.26
-
- Revision 625.33 2004/09/28 16:09:58 ajc
- * Update documentation and config files for 6.26 release
-
- Revision 625.32 2004/09/28 02:18:12 ajc
- * Improve output of RECENT flag in IMAP
-
- Revision 625.31 2004/09/23 03:02:31 ajc
- * MyContext() no longer declared INLINE
-
- Revision 625.30 2004/09/23 02:54:46 ajc
- * in MyContext(), reduced the number of calls to pthread_getspecific()
- from two to one
-
- Revision 625.29 2004/09/23 00:22:18 error
- * rooms.c: create_floor(): Fix the check for whether a floor name was given
-
- Revision 625.28 2004/09/21 02:09:30 ajc
- * Tweaks to above
-
- Revision 625.27 2004/09/21 01:43:23 ajc
- * imap_search.c: when search criteria permit, do not fetch messages.
-
- Revision 625.26 2004/09/17 16:54:13 ajc
- * Updated documentation to include information about setting up MSA 587 port.
-
- Revision 625.25 2004/09/17 04:14:18 ajc
- * serv_network.c: added a missing \n in log output
-
- Revision 625.24 2004/09/17 03:54:47 ajc
- * citadel-openldap.schema: replaced. Dunno why it was missing.
- * serv_calendar.c: fixed a return with no value for a function returning
- int; this was causing a before-save hook to abandon messages
-
- Revision 625.23 2004/09/16 01:46:40 ajc
- * CRE8 command: allow setting default view during room creation
-
- Revision 625.22 2004/09/15 03:02:47 ajc
- * Add an SMTP MSA listener (separate port, requires auth)
-
- Revision 625.21 2004/09/13 15:51:59 ajc
- * newinstall.sh: updated from the working version at easyinstall.citadel.org
-
- Revision 625.20 2004/09/11 03:13:04 error
- * Remove calls to the broken flush_output() while I try to figure out what's
- wrong with it. Replaced with unbuffer_output() which does work.
-
- Revision 625.19 2004/09/10 02:54:26 ajc
- * Added flush_output() calls to IMAP modules. (Do we need them? Are we
- buffering IMAP output? Should we?)
-
- Revision 625.18 2004/09/09 02:26:45 ajc
- * Completed (I think) the 'dialog' mode in setup
-
- Revision 625.17 2004/09/08 04:16:07 ajc
- * setup.c: initial changes to use a 'dialog' based setup (yes, it's back,
- because the b0rken version is now long gone and it appears to be more
- portable than newt)
-
- Revision 625.16 2004/09/07 04:15:35 error
- * msgbase.c: cmd_msgs(): Call unbuffer_output() when a message list is
- requested using a search template.
-
- Revision 625.15 2004/09/06 01:11:35 error
- * msgbase.c: cmd_ent0(): Fix another unbuffer_output()
-
- Revision 625.14 2004/09/06 00:59:01 error
- * file_ops.c: cmd_writ(): Add an unbuffer_output() that I forgot.
-
- Revision 625.13 2004/09/05 17:39:09 error
- * Buffered output needs to be flushed in several places. Added calls to
- flush_output(). (basically anywhere where we send a response and then
- wait for the client, except chat, where we turned it off entirely)
-
- Revision 625.12 2004/09/05 15:41:45 error
- * Network optimizations - buffer output server-side for better network
- utilization; one client-side optimization
-
- Revision 625.11 2004/09/05 15:20:41 error
- * sysdep.c: unbuffer_output(): Split the writing part to a new function
- flush_output() for more precise control
-
- Revision 625.10 2004/09/03 04:34:30 ajc
- * setup.c: when creating an inittab entry for slapd, use "-d 0" instead
- of "-d 1" to avoid spewing messages to the console, while still remaining
- in the foreground.
-
- Revision 625.9 2004/09/03 04:19:17 ajc
- * setup.c: Changes to inittab-twiddling to make it a bit more reliable
- * ipc_c_tcp.c: don't send SIGHUP to children; it makes them very angry
-
- Revision 625.8 2004/09/01 15:34:52 ajc
- * serv_smtp.c: fix build error on hosts with no SSL support
-
- Revision 625.7 2004/08/31 17:31:55 ajc
- * Calendar: store UUID+comment instead of comment as Subject (this was done
- at the request of Eugen Constantinescu for Aethera optimizations)
-
- Revision 625.6 2004/08/30 02:45:33 ajc
- * setup.c: when running in Newt mode, make the size of the dialogs dynamic
- to the size of the text in them.
-
- Revision 625.5 2004/08/29 15:18:41 error
- * newinstall.sh: fix detection of gmake/make
-
- Revision 625.4 2004/08/28 14:21:25 error
- * Change the logging level of some messages and add a couple of new ones to
- show when a network node is connecting.
-
- Revision 625.3 2004/08/28 02:42:44 ajc
- * setup.c: when run from the Easy Install script, auto-configure slapd
- and put it into /etc/inittab
-
- Revision 625.2 2004/08/28 01:56:38 ajc
- * Generalize some of the inittab-tweaking stuff so that we can use it
- for slapd, too.
-
- Revision 625.1 2004/08/27 21:39:33 ajc
- * Fleshed out contemplate_ldap() a bit
-
- Revision 625.0 2004/08/27 21:06:30 ajc
- * THIS IS 6.25
-
- Revision 624.8 2004/08/27 20:16:51 ajc
- * Update internal version number to 6.25
-
- Revision 624.7 2004/08/26 04:13:55 ajc
- * newinstall.sh: updated with some new goodies
- * setup.c: when run from Easy Install, offer to set up LDAP. (Not finished.)
-
- Revision 624.6 2004/08/23 21:41:26 error
- * html.c: Try to something sane with lists
-
- Revision 624.5 2004/08/23 21:40:04 error
- * No longer accept MD5 as a hash when encrypting
-
- Revision 624.4 2004/08/23 21:34:28 error
- * serv_network.c: Suppress Invalid node name for "." and ".."
-
- Revision 624.3 2004/08/16 04:19:14 ajc
- * newinstall.sh: more intelligent auto-run of setup programs
- * setup.c: change inittab question to be more newbie-friendly
-
- Revision 624.2 2004/08/15 05:04:36 ajc
- * newinstall.sh: various tweaks to make it more reliable
-
- Revision 624.1 2004/08/14 03:59:43 ajc
- * newinstall.sh: shuffled around the environment variables to prevent
- "C compiler cannot generate executables" error.
-
- Revision 624.0 2004/08/12 13:47:47 ajc
- * THIS IS 6.24
-
- Revision 623.16 2004/08/11 04:09:14 ajc
- * Replaced all "Citadel/UX" references with "Citadel"
-
- Revision 623.15 2004/08/05 03:19:48 ajc
- * html.c: handle the <BLOCKQUOTE> tag properly
-
- Revision 623.14 2004/08/05 02:02:33 ajc
- * CtdlHostAlias() now accepts "localhost" as a localhost address.
- * working_ignetcfg is now loaded during incoming NETP commands, which
- should theoretically take care of the missing config problem.
-
- Revision 623.13 2004/08/02 02:51:03 ajc
- * utilsmenu: removed. Because most of the admin functions have been moved
- into Citadel proper, what's left of this menu is now pathetic.
- * techdoc/build.txt: removed verbage that referred to the old build system.
-
- Revision 623.12 2004/07/30 03:18:21 ajc
- * user_ops.c: limit the length of the name which can be supplied
- to CtdlLoginExistingUser() to avoid crashing it.
-
- Revision 623.11 2004/07/28 04:09:58 ajc
- * serv_network.c: we had ignetcfg and working_ignetcfg, but it turns out we
- no longer use the former anywhere, so it has been removed (along with the
- aftersave hook that detected changes)
-
- Revision 623.10 2004/07/25 16:20:04 error
- * msgbase.c: CtdlCheckInternetMailPermission(): Do not allow twits to send
- Internet mail (they shouldn't be sending ANYTHING at all)
-
- Revision 623.9 2004/07/25 16:18:43 error
- * citadel.spec: update version number
-
- Revision 623.8 2004/07/25 16:17:37 error
- * stress.c: Slightly more verbose output
-
- Revision 623.7 2004/07/25 16:16:19 error
- * citadel_decls.h: fixed the new logoff() macro
-
- Revision 623.6 2004/07/24 05:11:52 ajc
- * citadel.c: temporarily commented out the signal() call for SIGHUP because
- it is causing the client not to work at all on Linux 2.6 (or at least on
- Fedora Core 2) when citadel is called as the login shell -- a SIGHUP is
- mysteriously received at the username prompt and the program exits.
-
- Revision 623.5 2004/07/15 02:54:49 ajc
- * serv_network.c: grab and use a networker-local copy of the network
- configuration, ensuring that it doesn't accidentally get clobbered while
- the network is running.
-
- Revision 623.4 2004/07/11 18:41:39 ajc
- * Updated roadmap document slightly
-
- Revision 623.3 2004/07/11 03:59:02 ajc
- serv_network.c: small fix to above
-
- Revision 623.2 2004/07/11 03:50:31 ajc
- * serv_network.c: removed a stray end_critical_section()
- * serv_network.c: purge invalid ignet_push_share entries during
- netconfig load instead of during rewrite
-
- Revision 623.1 2004/07/10 02:51:01 ajc
- * Changed "policy set" message to "policy has been updated" to make it
- clearer.
-
- Revision 623.0 2004/07/06 18:15:04 ajc
- * THIS IS 6.23
-
- Revision 622.7 2004/07/06 18:09:13 ajc
- * When writing a message body to the CDB_BIGMSGS table instead of the main
- message base, increase data length by one byte in order to include the
- NULL terminator. (Doh!)
-
- Revision 622.6 2004/07/03 04:09:37 ajc
- * Check the "Permission to send Internet mail" access controls when
- messages are submitted via Authenticated SMTP.
-
- Revision 622.5 2004/06/28 17:09:20 ajc
- * Properly re-terminate messages posted via IMAP APPEND. The newline
- conversion process was shortening the text but not adjusting string
- termination, causing extra message snippets to appear.
-
- Revision 622.4 2004/06/24 20:38:06 ajc
- * updated serv_vandelay.c to include new "c_ip_addr" config
-
- Revision 622.3 2004/06/24 20:33:37 ajc
- * Bumped internal version number to 6.23
- * Added "Server IP address" to config (server, client, docs)
-
- Revision 622.2 2004/06/24 15:26:33 ajc
- * Updated the ig_tcp_server() function to allow binding to a single IP
- address. This is not yet used by anything.
-
- Revision 622.1 2004/06/24 02:34:39 ajc
- * serv_imap.c: when an IMAP socket breaks while a folder is selected,
- auto-expunge the folder before closing it. Fixes the "mysteriously
- reappearing deleted messages" for clients that just drop the session
- without issuing a CLOSE when the user closes the window.
-
- Revision 622.0 2004/06/19 03:20:22 ajc
- * THIS IS 6.22
-
- Revision 621.19 2004/06/19 03:13:26 ajc
- * Updated internal version number to 6.22
-
- Revision 621.18 2004/06/19 02:35:16 ajc
- *** empty log message ***
-
- Revision 621.17 2004/06/19 02:33:54 ajc
- * Removed the configuration option "Allow Aides access to all mailboxes."
- This functionality *must* always be enabled for administrative create/edit
- of vCards, which live in the user's My Citadel Config> room.
-
- Revision 621.16 2004/06/16 04:17:43 ajc
- * More scheduler changes. Removed the rescan pipe again, and also
- removed the mutex wrapper around select(). In my initial testing I am
- getting reliable, fast service, but further testing is needed.
-
- Revision 621.15 2004/06/16 03:13:02 ajc
- * Scheduler fix ... added the rescan pipe back in
-
- Revision 621.14 2004/06/15 20:42:42 ajc
- * Store the body of any large (>1K) message in a separate database. This
- will allow fast headers-only retrieval later.
-
- Revision 621.13 2004/06/15 03:05:01 ajc
- * Bumped internal version number to 6.22
- * Added a new faster headers-only mode that excludes enumeration of
- MIME parts.
-
- Revision 621.12 2004/06/14 19:09:26 ajc
- * serv_vandelay.c: re-inserted a missing line of code for setting tempfile
- names, which was causing exports to crash.
-
- Revision 621.11 2004/06/11 01:26:02 ajc
- * Optimized the scheduler some more. The S_I_WANNA_SELECT mutex now
- wraps only the select() call itself.
-
- Revision 621.10 2004/06/09 03:54:07 ajc
- * The scheduler can now "wake up" a session to deliver async messages.
- * Renumbered the "instant msgs waiting" message and changed its usage
-
- Revision 621.9 2004/06/07 22:12:19 ajc
- * Removed network/filterlist network/mailinglists network/rnews.xref
- because none of these are used anymore.
-
- Revision 621.8 2004/06/07 16:41:28 ajc
- * Changed "express message" to "instant message" everywhere in the code
- and documentation, to reflect the now industry-standard terminology for
- this function. (Obviously, the server command names have not changed,
- because that would break everything.)
-
- Revision 621.7 2004/06/06 22:30:10 ajc
- * New session scheduler. All sessions which select() marks for activity
- are now handled before select() is called again.
-
- Revision 621.6 2004/06/03 02:49:14 ajc
- * html.c: allow parsing of tags even when they're qualified
- (i.e. <TAG foo=bar> instead of just <TAG> )
- * html.c: handle escaped decimal characters (such as ' for an apostrophe)
-
- Revision 621.5 2004/06/03 02:28:16 ajc
- * citadel_ipc.c: SETR command was missing defaultview and flags2. Added.
-
- Revision 621.4 2004/05/31 15:19:14 ajc
- * Reworked the security checks for move/copy commands. Theoretically it's
- performing all the same checks, but the code is far more readable.
-
- Revision 621.3 2004/05/26 18:13:15 nbryant
- * stress.c: silence warning
-
- Revision 621.2 2004/05/26 16:53:31 nbryant
- * configure.ac: check for /usr/local/BerkeleyDB.4.2
-
- Revision 621.1 2004/05/24 01:59:16 ajc
- * serv_network.c: when processing incoming IGnet spool, give the <C> field
- priority over the <R> field. This allows messages emailed to a network
- room to be shared properly instead of attempting to deliver via email a
- second time.
-
- Revision 621.0 2004/05/21 01:58:16 ajc
- * THIS IS 6.21
-
- Revision 620.35 2004/05/20 16:14:08 ajc
- * Changed internal version number to 6.21
- * Added missing VIEW_* defines in citadel.h (they're used only by WebCit
- for now, which is why Citadel didn't need them, but they should be there
- anyway for completeness)
- * Removed the last vestiges of the built-in spam filter. It had been
- commented out, but it's definitely never coming back now, so away it goes.
- * Updated some of the docs
-
- Revision 620.34 2004/05/15 14:19:52 error
- * Scheduler: when next_session is to be deleted, make it point to some
- other session which isn't being deleted (or NULL if there aren't any).
-
- Revision 620.33 2004/05/14 03:09:54 ajc
- * When a session kills itself (for example, due to a broken socket),
- force the dead_session_purge() to run immediately. This avoids
- thousands of error messages for up to the next five seconds while it
- waits for the next purge.
- * For the main select() loop, we can now recover from EBADF by jumping
- back to the code that scans for valid descriptors. (Yeah, I used a
- goto. It's more readable that way, so STFU if you have a problem with
- it.)
-
- Revision 620.32 2004/05/11 15:21:45 nbryant
- * configure.ac: check for <sys/prctl.h>
- * server_main.c: call prctl(PR_SET_DUMPABLE, 1) if we are dropping root
- permissions.
- * sysdep.c: no longer call setrlimit(RLIMIT_CORE, ...); this can be handled
- from a shell script.
-
- Revision 620.31 2004/05/10 01:47:11 error
- * messages.c: Fix crash when trying to use m<Y> next
-
- Revision 620.30 2004/05/07 20:27:46 ajc
- # citadel-openldap.schema: updated to include RFC2739 objects & attributes
-
- Revision 620.29 2004/05/07 19:31:40 ajc
- * More RFC2739 compliance: when converting vCard to LDAP, include
- the calFBURL attribute.
-
- Revision 620.28 2004/05/07 19:09:07 ajc
- * Implemented partial RFC2739 compliance (calendar free/busy URL in vCard).
- Still need to add it to LDAP.
-
- Revision 620.27 2004/05/07 18:17:26 ajc
- * Scrawled some notes in roadmap.txt
-
- Revision 620.26 2004/05/06 03:38:26 ajc
- * Never reduce the size of the thread pool, only increase it (still
- observing the max ceiling, of course)
- * Don't explicitly call RemoveContext() when a session exits. The
- subsequent call to dead_session_purge() will handle it.
-
- Revision 620.25 2004/05/03 00:12:27 ajc
- * Found and removed a bug that caused network rooms to be un-shared with
- all nodes instead of only with nodes that no longer exist.
- * New target "make upgrade" (to be consistent with other projects)
-
- Revision 620.24 2004/04/29 02:37:58 ajc
- * Updated the roadmap
-
- Revision 620.23 2004/04/26 15:11:17 ajc
- * Enable core dumps regardless of system ulimit setting
- (maybe temporary until we fix BOOM)
-
- Revision 620.22 2004/04/23 17:27:50 ajc
- * user_ops.c: do not attempt to save the loaded user record into the
- supplied buffer, when the supplied buffer is NULL. (This calling
- syntax is used to check for the existence of a user without storing it.)
-
- Revision 620.21 2004/04/21 03:44:50 ajc
- * serv_crypto.c: small fix to make self-signed certs no longer invalid
-
- Revision 620.20 2004/04/21 03:00:06 ajc
- * Replace ctdl_install_certificate() with convenience functions found
- in the OpenSSL library.
-
- Revision 620.19 2004/04/20 02:42:54 ajc
- * techdoc/binaries.txt : updated, now includes WebCit instructions
- * setup.c: detect when setup is run from within the Citadel Ridiculously
- Easy Installer and skip the directory prompt; the installer sets it.
-
- Revision 620.18 2004/04/14 18:43:51 nbryant
- * citadel.spec: BuildRequire redhat-rpm-config
-
- Revision 620.17 2004/04/14 16:16:47 nbryant
- * citadel.spec: don't BuildRequire newt-devel
-
- Revision 620.16 2004/04/14 03:42:01 ajc
- * ICAL FREEBUSY output now includes ORGANIZER, DTSTART, and DTEND fields.
- (Required for Kolab compatibility.)
-
- Revision 620.15 2004/04/13 23:53:00 nbryant
- * citadel.spec: BuildRequire bison
-
- Revision 620.14 2004/04/13 22:44:35 nbryant
- * citadel.spec: commented out Icon line and the openldap-servers dependency.
- * citadel.spec: added several BuildRequires. Some of these are, strictly
- speaking, compile time options, but the goal is to document the runtime
- dependencies and make sure our RPM's are always built consistently.
-
- Revision 620.13 2004/04/13 21:09:20 error
- * citadel.spec: Updated for 6.20p1
-
- Revision 620.12 2004/04/13 18:31:40 ajc
- * serv_calendar.c: ICAL FREEBUSY command now tries the supplied name not
- only as a screen name, but as an email address, and then as an
- unqualified email address in every hosted domain. (For Kolab compat)
-
- Revision 620.11 2004/04/13 02:45:07 ajc
- * Don't display the "Ending SSL/TLS" log message unless TLS is actually present
-
- Revision 620.10 2004/04/12 20:51:40 error
- * citadel.lsm: Update LSM for 6.20p1; uploaded to ibiblio.org
-
- Revision 620.9 2004/04/09 23:11:01 error
- * serv_chat.c: Differentiate when a user does not exist when paging users.
-
- Revision 620.8 2004/04/09 23:05:52 error
- * user_ops.c: fix unused variable compiler warnings
-
- Revision 620.7 2004/04/03 15:42:35 ajc
- * stress.c: include <stdlib.h> in order to get RAND_MAX
- (Submitted by Thomas.Lotterer@cw.com, Cable & Wireless / OpenPKG)
-
- Revision 620.6 2004/04/01 04:41:55 ajc
- * Put some blankety-blank values in the default generated vCard so it's
- more acceptable to LDAP conversion
-
- Revision 620.5 2004/03/31 02:19:09 ajc
- * Change the IMAP folder delimiter from "|" to "/" because more than a few
- client programs don't follow RFC2060 strictly enough to work with
- non-"/" delimiters. Actual slashes in room names appear as "|" in IMAP.
-
- Revision 620.4 2004/03/30 03:11:07 ajc
- * control.c: when config.c_maxsessions is unset or negative, set it to 0
- instead of setting it to 1 when it is 0 or negative. The default should
- be unlimited sessions.
-
- Revision 620.3 2004/03/29 16:05:02 ajc
- * begin_critical_section() -- bypass transaction checking for S_FLOORCACHE
- sections, to avoid crashing the db layer
-
- Revision 620.2 2004/03/29 02:33:19 error
- * citadel.spec: major modifications for 6.xx (hasn't been updated since 5.xx)
-
- Revision 620.1 2004/03/27 23:04:59 error
- * citadel.lsm: update version number, sending to ibiblio
-
- Revision 620.0 2004/03/27 02:33:26 ajc
- * THIS IS 6.20
-
- Revision 614.105 2004/03/27 02:33:10 ajc
- * Bumped the version number to 6.20
- * Corrected session.txt writeup for CONF command (three of the five LDAP
- related fields were missing)
- * Updated the roadmap documentation slightly
-
- Revision 614.104 2004/03/27 02:21:30 ajc
- * Completed documenting the LDAP Connector
-
- Revision 614.103 2004/03/26 05:41:25 ajc
- * Began writing up the LDAP Connector for Citadel in the documentation
-
- Revision 614.102 2004/03/26 05:40:47 ajc
- *** empty log message ***
-
- Revision 614.101 2004/03/26 05:13:15 ajc
- * citadel-slapd.conf: comment out the reference to the Citadel schema
- and add "schemacheck off" to make it easier to get started with the
- Citadel LDAP connector. Also made the backend in the sample conf
- ldbm instead of bdb, because that's what RH9 ships with.
-
- Revision 614.100 2004/03/24 21:23:50 ajc
- * msgbase.c: repaired a memory leak
-
- Revision 614.99 2004/03/24 17:07:11 ajc
- * Put a new memory leak checker into the server because it turns out that
- the third-party ones all suck. :) This one doesn't involve renaming
- all of the malloc() related functions, though.
-
- Revision 614.98 2004/03/24 15:04:06 ajc
- * stress.c: fix "wrong password" race condition by giving the very
- first worker thread time to finish creating the user account before the
- other threads start using it. (Ok, I fixed it by creating a different
- race condition, but if your Citadel takes more than three seconds to
- create an account, your problems can't be fixed with the stress tester.)
-
- Revision 614.97 2004/03/24 03:46:40 ajc
- * Reorg header stuff to make it more compatible with leak checkers
-
- Revision 614.96 2004/03/24 03:25:19 ajc
- * Removed the built-in memory leak checker. It wasn't threadsafe and
- there now exist third-party utilities that do this job better.
-
- Revision 614.95 2004/03/24 02:59:19 ajc
- * After initializing the database, chown and chmod all files in the data/
- directory correctly to avoid EPERM errors later on when we drop root privs
-
- Revision 614.94 2004/03/22 19:37:28 error
- * sysdep.c: worker_thread(): Make scheduling a little more fair to higher
- sessions
- * sysdep.c: lprintf(): Enable microsecond display in trace file
- * stress.c: worker(): Sleep for random amount of time as per specification
-
- Revision 614.93 2004/03/21 22:51:54 error
- * Fix a few remaining lprintf(9, ...) to lprintf(CTDL_DEBUG, ...)
-
- Revision 614.92 2004/03/21 22:35:20 error
- * stress.c: Wait before posting instead of after posting.
-
- Revision 614.91 2004/03/21 22:34:41 error
- * database_sleepycat.c: emit a panic message when Berkeley DB wants us to
- run recovery; should provide a little more detail on the actual error
-
- Revision 614.90 2004/03/21 22:32:24 ajc
- * room_ops.c: increased the thread safety of cgetfloor()
- * housekeeping.c: check floor reference counts in two passes instead of
- trying to manipulate multiple tables in O^2
-
- Revision 614.89 2004/03/21 17:14:46 error
- * stress.c: Fixed. Now properly spawns threads and stresses out your
- favorite Citadel server by simulating large numbers of really active
- users. (It's configurable on the command line, too, to vary the stress
- level.) Don't use it against a production system! You've been warned!
-
- Revision 614.88 2004/03/21 17:13:15 error
- * configure.ac: Fix for defines for pthreads not being included properly
-
- Revision 614.87 2004/03/21 06:15:06 ajc
- * docs/citadel.html: documented TLS support and administration procedures
-
- Revision 614.86 2004/03/20 22:32:06 ajc
- * citadel.rc: changed the comments around local_screen_dimensions= to
- reflect its legacy type of situation
-
- Revision 614.85 2004/03/16 22:44:15 ajc
- * Better conversion of friendly name to fully qualified vcard name
-
- Revision 614.84 2004/03/16 21:09:37 ajc
- * Eliminate EVT_OUTPUTMSG server extensions (don't need them anymore)
- * Add EVT_NEWUSER server extensions
- * EVT_NEWUSER and EVT_PURGEUSER server extensions now specify a
- struct ctdluser * instead of a username and usernum
- * serv_vcard.c: automatically create and submit a skeleton vCard when
- a new user is created.
-
- Revision 614.83 2004/03/16 19:05:50 error
- * Further changes to stress.c, Makefile.in to build it, .cvsignore
- (but it's still broken)
-
- Revision 614.82 2004/03/15 18:11:34 error
- * stress.c: various fixed/improvements (but it still isn't working)
-
- Revision 614.81 2004/03/15 17:22:14 error
- * First draft of the stress tester. Isn't quite ready (it needs to be
- tested itself!).
-
- Revision 614.80 2004/03/15 16:48:22 error
- * Documentation update: update citadel.html for new syslog logging
-
- Revision 614.79 2004/03/15 16:47:04 error
- * msgbase.c: cmd_move(): Fix the security logic for non-aides trying to
- move or copy messages. The logic should do the following:
- * Allow move/copy for Aides
- * Allow regular users to:
- * Move a message between two personal rooms
- * Copy a message from a Personal room to a room the user is subscribed to
- * Copy a message from a room the user is subscribed to, to a personal room
- * Prohibit other moves/copies
-
- Revision 614.78 2004/03/15 16:39:27 error
- * Multiple files: Set permissions on existing Citadel directories to prevent
- access to the database by local unix users to prevent direct database reads.
-
- Revision 614.77 2004/03/15 16:36:50 error
- * Multiple files: Convert most remaining client code to use new Citadel IPC
- functions. A few bits remain and will be converted when the chat system
- is rewritten.
-
- Revision 614.76 2004/03/14 06:35:46 ajc
- * Cache IMAP "BODY" fetches in an already-converted format. This speeds
- up clients like Mozilla and Thunderbird that request big messages in
- chunks -- we don't have to load and convert the message every time
- another chunk is requested.
- * Fixed a potential memory leak in fetch
-
- Revision 614.75 2004/03/13 23:26:10 ajc
- * imap_fetch.c: don't fetch the message from disk at all for UID and FLAGS
- fetch items. (It's rare, but sometimes IMAP optimizations are actually
- possible, despite IMAP's brain-dead design!)
-
- Revision 614.74 2004/03/13 22:52:05 ajc
- * Documented the GNET and SNET commands :)
-
- Revision 614.73 2004/03/12 19:35:13 error
- * routines2.c: Fix two typos
-
- Revision 614.72 2004/03/12 19:32:09 error
- * routines2.c: Convert multiple functions to use new IPC code (almost done!)
-
- Revision 614.71 2004/03/12 19:30:06 error
- * citadel.c: main(): Fix error response for RCHG, HCHG and UCHG commands.
-
- Revision 614.70 2004/03/12 19:28:04 error
- * Implement GNET/SNET commands in IPC code; provide a CtdlIPC_delete();
- emit warnings when client code uses CtdlIPC_getline() or CtdlIPC_putline()
- (These are reserved and should not be used by client code.)
-
- Revision 614.69 2004/03/10 04:50:04 ajc
- * serv_expire.c: auto-purge any Citadel account that is associated with
- a Unix account that no longer exists.
-
- Revision 614.68 2004/03/09 20:46:33 error
- * Add a Linux Software Map file
-
- Revision 614.67 2004/03/08 05:26:49 ajc
- * When the last argument of an IMAP APPEND command is a binary literal
- (i.e. all the time), the client will still be sending a CRLF after the
- literal. Added an extra client_read() after the message input to absorb
- that extra CRLF, to keep client and server from getting out of sync.
-
- Revision 614.66 2004/03/06 05:09:04 ajc
- * serv_smtp.c: don't offer the STARTTLS extension if TLS is already
- active. Done for to-the-letter compliance with RFC2487.
-
- Revision 614.65 2004/03/06 02:03:39 ajc
- * serv_smtp.c: do not offer the PIPELINING extension when TLS is
- running. Doing so causes sessions to hang unexpectedly.
-
- Revision 614.64 2004/03/05 23:21:25 ajc
- * Added some more debugging to serv_smtp.c to try to figure out the
- problem with Postfix TLS hanging during send
-
- Revision 614.63 2004/03/05 03:36:03 ajc
- * Remove the automatic population of A and N fields we recently added
- when found to be NULL. It was confusing the output functions into
- thinking that Internet messages were local.
-
- Revision 614.62 2004/03/03 05:43:29 ajc
- * Generate better output when a user is kicked out of chat
-
- Revision 614.61 2004/03/01 22:36:14 ajc
- * Implement the NAMESPACE extension of IMAP (RFC 2342)
-
- Revision 614.60 2004/03/01 17:47:28 error
- * Fix missing arg in m<Y> next rewrite.
-
- Revision 614.59 2004/03/01 17:33:30 error
- * Rewrite m<Y> next function; now uses CtdlIPC code.
-
- Revision 614.58 2004/03/01 04:08:34 ajc
- * Revoke access to room when /kicked
-
- Revision 614.57 2004/02/29 23:26:48 ajc
- * Added /kick command to chat. /ban coming soon.
-
- Revision 614.56 2004/02/28 16:37:41 ajc
- * setup.c: removed an unused temp file name variable
-
- 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
- tiny TCP packets.
- * New API calls buffer_output() (to start buffering) and unbuffer_output()
- (to dump the buffer and stop buffering) are available to do this.
-
- Revision 611.0 2003/10/21 04:20:41 ajc
- * THIS IS 6.11
-
- Revision 610.22 2003/10/17 02:18:40 ajc
- * Replaced the DEFAULT_ENTRY definition in sysconfig.h with a new option
- "reply_with_external_editor" in citadel.rc.
-
- Revision 610.21 2003/10/14 03:09:47 ajc
- * routines2.c: fixed an off-by-one error in filename sanitization for
- client file uploads
-
- Revision 610.20 2003/10/10 05:43:57 ajc
- * citadel.c: Reworded one of the prompts
-
- Revision 610.19 2003/10/07 15:56:17 ajc
- * Better handling of incoming Internet addresses consisting of an address
- in angle brackets with no name outside the brackets.
-
- Revision 610.18 2003/09/21 04:10:56 ajc
- * messages.c: don't crash when a message contains more than MAXURLS of
- embedded URL's. Omit them instead.
- * citadel.rc: updated the sample browser remoting command for Macintosh
- based on a Mr.T suggestion
- * techdoc/session.txt: redid the writeup for the MOVE command (fixed a
- mistake and made the writeup clearer)
-
- Revision 610.17 2003/09/17 21:40:13 ajc
- * html.c: don't truncate messages when wacky characters are
- encountered. Substitute '?' characters instead. Now the Citadel
- community can complain about b0rken MS ASCII.
-
- Revision 610.16 2003/09/13 02:53:04 ajc
- * More intelligent selection of directory to save attachments
-
- Revision 610.15 2003/09/12 15:48:55 ajc
- * serv_smtp.c: remember whether we're SMTP or LMTP across a RSET command.
-
- Revision 610.14 2003/09/09 02:42:28 ajc
- * Documentation update for LMTP
-
- Revision 610.13 2003/09/09 01:47:02 ajc
- * Suppress domain forgery check when using LMTP
-
- Revision 610.12 2003/09/08 18:48:14 ajc
- * The unix domain socket used for citmail to talk to citserver now
- implements LMTP (RFC2033). Other LMTP client implementations (such as
- Postfix) can also use the socket, eliminating the need for citmail.
-
- Revision 610.11 2003/09/07 03:29:25 ajc
- * serv_network.c: aggressively poll any node for which we have data
-
- Revision 610.10 2003/09/06 02:04:54 ajc
- * Don't reset "last poll" time when not doing the "full" net processing
-
- Revision 610.9 2003/09/03 03:29:01 ajc
- * syslog messages now say session started/ended instead of ended/ended
-
- Revision 610.8 2003/09/03 03:24:40 ajc
- * client: remove rooms from the march list when zapping them (or the floors
- they're on)
-
- Revision 610.7 2003/09/02 15:05:34 ajc
- * Repaired an incorrect adjustment of floor reference counts when a room was
- moved to a different floor. (Thanks to Winzlo for reporting this.)
-
- Revision 610.6 2003/09/02 14:49:05 ajc
- * Improve client chat mode reliability and performance by assuming that all
- server output will be in complete lines. (This is a safe assumption.)
-
- Revision 610.5 2003/09/02 04:04:39 ajc
- * Don't try to directly spool to non-neighbor nodes
-
- Revision 610.4 2003/08/29 08:21:57 ajc
- * Do network runs more proactively. The inbound queue is now scanned
- every minute instead of every poll frequency.
-
- Revision 610.3 2003/08/21 23:26:06 ajc
- * setup.c: offer to disable "exim" if found
-
- Revision 610.2 2003/08/20 03:51:08 ajc
- * Bumped the internal version number to 6.11
-
- Revision 610.1 2003/08/20 03:36:13 ajc
- * Create a "Contacts" room for personal address book use
-
- Revision 610.0 2003/08/17 03:00:37 ajc
- * THIS IS 6.10
-
- Revision 609.2 2003/08/17 02:58:46 ajc
- * Changed internal version number to 6.10
-
- Revision 609.1 2003/08/17 02:46:37 ajc
- * Don't fail on "data files too old to be upgraded" for NEW installations
-
- Revision 609.0 2003/08/14 03:40:55 ajc
- * THIS IS 6.09
-
- Revision 608.21 2003/08/13 18:08:24 ajc
- * Removed the last vestiges of the now-obsolete global networking password
-
- Revision 608.20 2003/08/13 14:36:04 ajc
- * "make install" now installs the contents of docs/ as well as README.txt
-
- Revision 608.19 2003/08/13 14:30:47 ajc
- * Temporarily disabled IMAP TLS support due to the discovery of some
- compatibility problems. It will be re-enabled when they are fixed.
-
- Revision 608.18 2003/08/12 00:39:35 ajc
- * setup now knows about lots of other mail programs it can disable (various
- flavors of Cyrus and Courier, for example)
- * setup now ensures that it really did startup/shutdown the Citadel service,
- and displays an error message when that fails.
- * "make install" now instructs the user run "setup"
- * Removed an old GDBM reference from the documentation
-
- Revision 608.17 2003/08/05 03:06:58 ajc
- * Added a README.txt file because some Joker kept bugging me about it
- * Reloaded the code that extracts embedded URL's to a place where it'll
- get picked up on *every* message, not just the old variformat stuff
-
- Revision 608.16 2003/08/03 17:51:52 ajc
- * Clear out all masqueraded wholist fields when logging out, in case another
- user logs in without reconnecting.
-
- Revision 608.15 2003/07/30 20:36:18 ajc
- * Allow users to authenticate with either their display name or any valid
- e-mail address which belongs to them. Applies to all protocols.
-
- Revision 608.14 2003/07/30 03:54:34 ajc
- * Fixed a small client bug in the purge hour setting
-
- Revision 608.13 2003/07/30 03:47:53 ajc
- * Eliminated the EXPI command
- * Completed the configuration item of "purge hour"
- * Auto-purger now runs as a scheduled job
-
- Revision 608.12 2003/07/30 00:26:50 ajc
- * Removed the "weekly" script and began installing a facility to allow
- database maintenance to happen automatically. (One Step Install can't
- require the sysadmin to know cron)
-
- Revision 608.11 2003/07/28 04:17:24 ajc
- * migratenet.c: removed. Adjusted Makefile.in accordingly.
-
- Revision 608.10 2003/07/27 21:15:23 ajc
- * Implemented all IMAP date-based search criteria. Note that Citadel does
- not record an "internal date" of a message, so the "sent date" and "internal
- date" searches perform identically.
- * Date search comparisons available: "before," "on," or "on or after." Yet
- another example of IMAP's gratuitous complexity.
-
- Revision 608.9 2003/07/26 04:49:40 ajc
- * Implemented a bunch of the IMAP SEARCH keywords
-
- Revision 608.8 2003/07/26 04:28:44 ajc
- * tools.c: added bmstrcasestr(), a Boyer-Moore, case-insensitive string search
- * imap_search.c: implement BODY criterion in search command
-
- Revision 608.7 2003/07/24 04:57:53 ajc
- * Began implementation of the IMAP SEARCH command. Basically just got the
- parser working and stubbed all the search criteria. Next step is to
- implement the functionality of each criterion keyword.
- * Implemented the functionality for the ALL (wow!) and UID criteria.
-
- Revision 608.6 2003/07/23 03:57:05 ajc
- * Optimized the updating of visit records in several places by checking to
- see if they've changed and aborting the db update if they haven't.
- * Functions which read/write user records are now slightly faster due to
- an improvement of the algorithm used to generate the database keys.
-
- Revision 608.5 2003/07/22 03:07:50 nbryant
- fix build for Solaris
-
- Revision 608.4 2003/07/20 20:46:06 ajc
- * build system: link Berkeley DB only to the server, not to the client & utils
-
- Revision 608.3 2003/07/20 03:51:46 ajc
- * setup.c: offer to disable sendmail, postfix, and qmail if found (only if
- using the /etc/init.d type of startup scripts)
-
- Revision 608.2 2003/07/20 03:08:22 ajc
- * setup.c: offer to hack /etc/xinetd.d/telnet
-
- Revision 608.1 2003/07/15 14:54:09 ajc
- * Killed off CtdlGetDynamicSymbol() and just put all the symbols in server.h
-
- Revision 608.0 2003/07/15 04:12:52 ajc
- * THIS IS 6.08
-
- Revision 607.23 2003/07/14 17:26:42 ajc
- * strcpy() --> safestrncpy() in a few other random places
-
- Revision 607.22 2003/07/14 17:12:28 ajc
- * Replaced strcpy() with safestrcpy() in cmd_setp()
-
- Revision 607.21 2003/07/14 03:07:05 ajc
- * ipgm_secret is no longer set during setup. Now it is set at server startup
- and automatically changes whenever an IPGM command is executed.
- * Upon an IPGM authentication failure, wait 5 seconds before displaying an
- error, then disconnect the session.
-
- Revision 607.20 2003/07/13 04:58:35 ajc
- * Allow connect on unix domain sockets to Citadels in other directories
- * sendcommand now uses unix domain sockets instead of the network
- * Do not allow IPGM command to run on the network -- unix domain sockets only
-
- Revision 607.19 2003/07/11 22:33:02 ajc
- * Ignore comments in public_clients file
-
- Revision 607.18 2003/07/11 22:30:19 ajc
- * Automatically add 127.0.0.1 and config.c_fqdn to public_clients
-
- Revision 607.17 2003/07/11 22:19:49 ajc
- * is_public_client() now caches the IP addresses of all hosts in
- the public_clients file, at server startup and whenever the file is
- modified. This eliminates the need to make lots of calls to the
- resolver library every time.
-
- Revision 607.16 2003/07/10 05:51:46 ajc
- * Added cs_addr field to struct CitContext -- holds a dotted quad string
- of the user's source IP (if applicable). It's big enough to hold other
- types of address strings in the future (such as IPv6).
- * locate_host() populates cs_addr when on a network connection.
- * serv_smtp.c now saves the IP address in the proper place in
- the Received: header.
- * is_public_client() no longer accepts a hostname. It just looks at
- CC->cs_host instead.
-
- Revision 607.15 2003/06/29 19:54:39 ajc
- * Renamed "struct user" to "struct ctdluser"
- * Renamed "struct room" to "struct ctdlroom"
-
- Revision 607.14 2003/06/29 04:13:32 ajc
- * Renamed:
- S_QUICKROOM to S_ROOMS
- S_USERSUPP to S_USERS
- CDB_QUICKROOM to CDB_ROOMS
- CDB_USERSUPP to CDB_USERS
-
- Revision 607.13 2003/06/29 04:07:11 ajc
- * Globally renamed "struct quickroom" and "struct usersupp" to
- "struct room" and "struct user".
-
- Revision 607.12 2003/06/29 04:06:41 ajc
- *** empty log message ***
-
- Revision 607.11 2003/06/29 03:58:41 ajc
- * Renamed fields in 'struct config' which are no longer relevant (but kept
- them in place to avoid corrupting everyone's data files). Removed them
- entirely from serv_vandelay.c.
-
- Revision 607.10 2003/06/28 05:12:56 ajc
- * Bump internal version number to 6.08
- * Use (-1) instead of CTDLUID as the uid of user records which exist only
- in Citadel and not in the system password database. serv_upgrade also
- changes this setting for ALL such users, the first time the server is run
- after upgrading to 6.08
-
- Revision 607.9 2003/06/27 22:19:31 error
- * routines2.c: Quick and dirty fix for Mail> becoming new after entering a
- mail message
-
- Revision 607.8 2003/06/26 01:50:14 ajc
- * Compiler warning fix for building setup without newt
-
- Revision 607.7 2003/06/25 15:40:57 ajc
- * setup now uses "newt" instead of "curses" to draw its pretty screens.
- Changes were made to setup.c as well as all the autoconf stuff.
-
- Revision 607.6 2003/06/25 02:40:05 ajc
- * Per-user and global flags calling for validation need to be set in the
- vCard upload thingie, not in the wrapper function that emulates the
- deprecated REGI server command. Moved it to the correct place.
-
- Revision 607.5 2003/06/22 20:49:31 error
- * citadel.c: display idle times in wholist up to 999 days
-
- Revision 607.4 2003/06/19 04:12:30 ajc
- * domain.c: use qsort() to sort MX records by preference. Why have a
- custom function when the operating system provides one for free?
- * serv_smtp.c: accept mail from "<>" (empty sender). RFC1123 5.2.9 demands it.
-
- Revision 607.3 2003/06/19 03:55:22 ajc
- * Fixed a subtle but ugly bug in the SMTP sender that was causing it to
- ignore all successful connections except the last one. Now when it gets
- a connection it uses it.
-
- Revision 607.2 2003/06/17 22:05:11 ajc
- * New format for wholist.
-
- Revision 607.1 2003/06/16 04:39:45 ajc
- * support.c: removed an unused variable
- * citadel.c: sort wholist by idle time (most recently active users first)
-
- Revision 607.0 2003/06/10 04:15:39 ajc
- * THIS IS 6.07
-
- Revision 606.10 2003/06/04 21:46:13 error
- * citadel.c: Added a missing #ifdef __CYGWIN__
-
- Revision 606.9 2003/06/04 21:39:27 error
- * Numerous fixups needed for Windows port:
- * cmd_mesg() rewritten to use the stat() syscall to find files
- * really_do_keepalive() does not try to send if we are not connected
- * Misc. fixups; added Windows readme file
-
- Revision 606.8 2003/06/04 21:30:39 error
- * messages.c: When file attachment has no name, use message subject as name
-
- Revision 606.7 2003/06/02 23:11:00 error
- * Checkin installer script citadel.nsi for NSIS Windows installer
-
- Revision 606.6 2003/06/02 03:01:22 ajc
- * citserver.c: added another trace message to is_public_client(). Uncensored
- has crashed twice in this function, for no apparent reason.
- * internet_addressing.c: don't attempt to look up the specified Internet
- address in a Citadel directory, if the supplied address has no hostname
- portion. (Fixes a crash in the calendar service when alias() attempts to
- look up potentially nonexistent attendees during event validation)
-
- Revision 606.5 2003/05/28 03:08:38 ajc
- * msgbase.c: validate_recipients() now rejects Internet addresses in
- domains belonging to the local system or an attached Citadel network,
- when it fails to translate to a Citadel address.
-
- Revision 606.4 2003/05/26 05:36:25 ajc
- * citadel.h: changed internal version number to 6.07
- * file_ops.c: #include <ctype.h>
- * migratenet.c: #include <ctype.h>
-
- Revision 606.3 2003/05/26 05:30:18 ajc
- * serv_calendar.c: fixed a bug in the "ICAL freebusy" subcommand which
- caused it to always fetch the logged in user's freebusy times instead
- of the user specified.
-
- Revision 606.2 2003/05/22 13:34:30 ajc
- * database_sleepycat.c: added a couple of diagnostic messages to help
- troubleshoot problems with db-4.1.25 on Red Hat Linux 9
- * room_ops.c: call mkdir() instead of system() to create a directory
-
- Revision 606.1 2003/05/20 01:28:50 error
- * citadel.c: don't truncate roomname when user is idle, in long who list;
- display idle time in short who list
-
- Revision 606.0 2003/05/16 15:17:11 ajc
- * THIS IS 6.06
-
- Revision 605.50 2003/05/16 14:59:08 ajc
- * Removed the old rec_log() facility because the utilities which read its
- data are crufty, disused, and produce incorrect output.
- * Updated the documentation for the forthcoming 6.06 release.
- * public_clients: removed hostnames which crept in from development servers
-
- Revision 605.49 2003/05/16 04:07:37 nbryant
- make configure.ac automagically do the right thing on redhat 9
- remove crappy tolower() hack that was breaking the build on redhat 9
- (because the kerberized openssl includes ctype.h)
-
- before anyone yells at me, i did a little cvs archaeology on the tolower
- thing, and it appears to have been in the Citadel source base since,
- roughly, the Epoch. I doubt that the hack is needed any longer, and using
- the OS's tolower() will handle extended charsets.
-
- Anyone who is stupid enough to be using an OS with such a horribly broken
- tolower() can just scratch their head and figure things out for
- themselves. Citadel needs higher barriers to entry, there are too many
- weirdos on the IGnet lately. :-)
-
- Revision 605.48 2003/05/13 03:22:04 ajc
- * Implemented the IMAP STARTTLS command as specified in RFC 2595.
-
- Revision 605.47 2003/05/06 03:38:59 ajc
- * IMAP folder create and rename commands -- don't allow backslashes in
- folder names.
-
- Revision 605.46 2003/05/03 16:50:52 ajc
- * Change folder delimiter in room names from / to \
-
- Revision 605.45 2003/05/02 04:02:47 ajc
- * setup.c: allow specification of the Citadel system account by either
- username or uid
- * setup.c: tell init to re-read /etc/inittab by sending a SIGHUP to pid 1
- instead of hunting around for the correct init or telinit command
- * docs/citadel.html: documented the above change, and also rewrote some
- other stuff to be less BBS-specific
-
- Revision 605.44 2003/04/30 16:16:13 ajc
- * Minor fix to ESMTP greeting (missing '-' screwed up pipelining)
-
- Revision 605.43 2003/04/30 15:46:27 ajc
- * Added the ENHANCEDSTATUSCODES extention to ESMTP.
-
- Revision 605.42 2003/04/29 04:41:22 ajc
- * Fix an off-by-one error in the mime parser
-
- Revision 605.41 2003/04/29 04:13:58 ajc
- * mime parser: look for the "name=" subfield tacked onto either
- Content-type or Content-disposition, wherever it finds it.
-
- Revision 605.40 2003/04/28 16:56:51 ajc
- * Added a site-configurable setting to suppress the automatic correction of
- forged From: lines from authenticated SMTP users, for those who prefer
- strict RFC compliance instead of common sense.
-
- Revision 605.39 2003/04/26 21:55:15 ajc
- * Anytime a socket connect() fails, CLOSE THE SOCKET before erroring out.
- Not doing so causes a file descriptor leak.
-
- Revision 605.38 2003/04/26 04:22:51 ajc
- * Removal of individual "remote" lines from message delivery instruction sets
- was corrupting the end of the set, rendering the "bounceto" line unusable
- and preventing bounces from being delivered. Fixed this by explicitly
- adding a trailing newline when remove_token() strips it.
-
- Revision 605.37 2003/04/25 18:28:47 ajc
- * When rejecting spam, use SMTP error code 550, not 552
-
- Revision 605.36 2003/04/23 03:18:44 ajc
- * Allow IMAP STORE of more than one flag at a time (Mail.app from MacOS
- does this).
-
- Revision 605.35 2003/04/15 02:44:02 ajc
- * Do not allow incoming network polls while an outbound network processing
- session is in progress.
- * tools.c: removed collapsed_strcmp() as it is no longer used anywhere
-
- Revision 605.34 2003/04/08 04:03:37 ajc
- * Implemented the ".SILENT" protocol option in IMAP STORE. Certain apps seem
- to want to use it.
- * Optimized the IMAP operations which scan for expunged and added messages.
- These loops no longer make multiple traversals through the message list.
-
- Revision 605.33 2003/04/07 05:02:23 ajc
- * Reworked all the "list rooms" operations so that they only require one
- pass through the database.
- * Repaired the "create floor" operation which was broken by the switch
- to the new IPC libray
-
- Revision 605.32 2003/04/02 13:33:28 ajc
- * Fixed output of "-0500" vs. "+0500" type of timezone stamps in RFC822.
- (I think they were reversed.)
-
- Revision 605.31 2003/04/01 05:01:08 ajc
- * sysdep.c: optimized MyContext() a bit, and inlined it. A little profiling
- revealed that this function was getting used super heavily.
- * tools.c: removed the older, slower string tokenizer functions that
- weren't getting used anymore.
-
- Revision 605.30 2003/03/31 04:55:58 ajc
- * Repaired the formatting of text/plain messages with blank lines.
-
- Revision 605.29 2003/03/30 06:16:52 ajc
- * Optimized CtdlReadMessageBody() and also gave it an option to store
- messages with CRLF newlines instead of LF. This option is used when
- reading SMTP in order to keep Pine from barfing on LF-terminated newlines
- while decoding quoted-printable. *sigh*
-
- Revision 605.28 2003/03/26 05:17:12 ajc
- * Downloading of attachments was completely broken by the change to the new
- protocol library. Located and fixed bugs.
- * html.c: increased the conversion buffer size
-
- Revision 605.27 2003/03/24 03:42:14 ajc
- * Add the ability to quit out while validating users. Also added a help
- option listing available access levels. This closes Bugzilla #37.
-
- Revision 605.26 2003/03/22 05:38:23 ajc
- * During startup, display the version string from the Berkeley DB library.
- * When deleting a mailbox, don't reveal the namespace prefix to the user.
-
- Revision 605.25 2003/03/20 08:37:04 error
- * connection_died(): Don't crash before printing message, crash afterward.
- (Bugzilla id 111)
-
- Revision 605.24 2003/03/19 11:48:06 error
- * entmsg(): Don't corrupt the msg_arr[] when replying to a message in a room
-
- Revision 605.23 2003/03/19 04:04:56 ajc
- * Dropped support for GDBM and for versions of Berkeley DB prior to 4.1
-
- Revision 605.22 2003/03/18 05:15:05 ajc
- * Applied a patch sent in by Clint Adams <schizo@debian.org> to handle
- building on Debian's unstable with Berkeley DB 4.1, compiled with
- the --with-db-uniquename when errno is a macro (as in glibc 2.3.1).
-
- Revision 605.21 2003/03/17 11:56:35 error
- * Fix <G>oto in alternate_semantics - it actually marks messages read now.
-
- Revision 605.20 2003/03/17 04:03:14 ajc
- * Supply a NULL argument as the second argument to accept() instead of an
- empty buffer whose contents we never even look at.
-
- Revision 605.19 2003/03/16 05:07:12 ajc
- * Fixed the bug that caused freebusy publishes to crash.
-
- Revision 605.18 2003/03/15 23:05:08 ajc
- * Rewrite of calendar-to-freebusy conversion functions. This one creates
- freebusy in the correct format, instead of what I mistakenly assumed it
- was supposed to look like. :(
-
- Revision 605.17 2003/03/15 22:31:06 ajc
- * When scanning a user's Calendar> room for calendar events, search for
- MIME parts of type text/calendar instead of assuming that the event will
- always appear as part "1"
-
- Revision 605.16 2003/03/14 05:08:25 ajc
- * Clone calendar subcomponents before encapsulating in case they already
- happen to have a parent.
-
- Revision 605.15 2003/03/13 05:48:33 ajc
- * Move towards storing calendar objects as fully encapsulated VCALENDAR
- components instead of just VEVENT subcomponents.
-
- Revision 605.14 2003/03/12 03:33:54 ajc
- * More changes to the handling of RFC822 headers with regard to
- splitting up the headers and body. (Blank lines and such.)
-
- Revision 605.13 2003/03/11 06:23:50 ajc
- * More accurate handling of IMAP FETCH xx BODYSTRUCTURE command. This should
- make Pine happier with multipart messages.
-
- Revision 605.12 2003/03/10 05:38:21 ajc
- * Tweaks to msgbase.c and imap_fetch.c to fix slightly incorrect byte counts
- reported in the numerous variations of IMAP FETCH. This silences a number of
- error messages reported by Pine.
-
- Revision 605.11 2003/03/10 03:40:08 ajc
- * Fixed bug that caused segv when <R>eplying to certain messages
-
- Revision 605.10 2003/03/07 17:39:45 ajc
- * Remove the "modules" directory
-
- Revision 605.9 2003/03/06 04:58:11 ajc
- * When entering a message into Citadel with authenticated SMTP, stamp the
- room name as MAILROOM (Mail>) so it doesn't end up with an ugly moniker
- like "0000058008.Sent Items"
-
- Revision 605.8 2003/03/05 04:55:32 ajc
- * serv_smtp.c: when authenticated, do not log out when a RSET command is
- issued. This breaks clients which carelessly issue RSET before each
- message, such as Pine.
- * serv_smtp.c: when authenticated, ignore envelope FROM:<xxx> sender name
- and replace with address of user who authenticated. Also fixes Pine.
- * serv_smtp.c: when authenticated, not only do we continue our glorious
- RFC-violating condition of replacing the From: header with the user who
- is logged in, but we also stamp it with their preferred Internet address
- for outbound mail (which is kept in CC->cs_inet_email).
-
- Revision 605.7 2003/03/03 04:09:21 ajc
- * When creating a user, hide the "My Citadel Config>" room of the user being
- created, not the user currently logged in.
-
- Revision 605.6 2003/03/01 18:18:03 ajc
- * commands.c: alternate_semantics might have been getting set where it
- should not. Fixed.
-
- Revision 605.5 2003/03/01 17:25:33 ajc
- * citadel.rc default for alternate_semantics = no
-
- Revision 605.4 2003/02/23 05:34:45 ajc
- * When the <N>ew command is used to read new messages, the next "lazy"
- command (space bar) now always does <G>oto, regardless of the last one.
-
- Revision 605.3 2003/02/21 04:24:51 ajc
- * Completed the "ICAL freebusy" subcommand, which fetches free/busy times
- for any requested user (output in stripped-down VCALENDAR format)
-
- Revision 605.2 2003/02/20 04:51:17 ajc
- * Began framing up a command to view other users' free/busy times
-
- Revision 605.1 2003/02/19 22:38:43 ajc
- * Changed socklen_t to int (to allow compile on Macintosh)
-
- Revision 605.0 2003/02/19 03:46:01 ajc
- * THIS IS 6.05
-
- Revision 601.134 2003/02/17 05:23:20 ajc
- * Fixed a small bug in the GDBM backend (deprecated, but the bug was very
- obvious and a kind user pointed it out)
- * Removed vestiges of setjmp/longjmp from the client
- * When doing .TS, don't get caught in a constant-logout loop
-
- Revision 601.133 2003/02/14 16:12:04 ajc
- * Added support for any standard RBL
-
- Revision 601.132 2003/02/13 22:33:41 ajc
- * Fixed algorithm for reporting "last login"
-
- Revision 601.131 2003/02/13 21:52:13 ajc
- * IMAP service: fixed bug that was causing the wrong messages (usually *all*
- messages) to be flagged when a STORE or COPY operation was performed.
-
- Revision 601.130 2003/02/13 20:13:51 ajc
- * Applied "multi editor" patch supplied by georbit
-
- Revision 601.129 2003/02/12 04:51:44 ajc
- * More docs update
-
- Revision 601.128 2003/02/10 04:50:33 ajc
- * More documentation updates
-
- Revision 601.127 2003/02/09 03:38:28 ajc
- * Updated the documentation some more
-
- Revision 601.126 2003/01/25 07:37:15 error
- * whobbs.c: Print error message if we can't connect to server
-
- Revision 601.125 2003/01/23 05:50:59 ajc
- * citadel.c: hitting enter without entering a room name in the <.G>oto and
- <.S>kip commands now does nothing instead of exhibiting undefined behavior
-
- Revision 601.124 2003/01/23 04:42:33 ajc
- * Began reviewing, updating, and HTML-izing the documentation
-
- Revision 601.123 2003/01/22 03:53:24 ajc
- * More reliablility hacks for autologin mode, and better quarantine of
- autologin code when it's disabled.
-
- Revision 601.122 2003/01/21 04:42:12 ajc
- * Moved login-to-screenname code ... no longer part of CtdlTryExistingUser(),
- it's now part of getuser() so it always gets called, even when looking up
- addresses for mail and stuff.
-
- Revision 601.121 2003/01/19 08:59:02 error
- * Remove irrelevant file hpsux.h (was part of dynloader)
-
- Revision 601.120 2003/01/19 05:55:59 ajc
- * serv_calendar.c: allocate dynamic symbol at module startup, not during
- each session startup. This error was causing crashes (of course).
-
- Revision 601.119 2003/01/18 06:18:20 ajc
- * whobbs.c: line up the columns better
- * routines2.c: when doing <.ASI> command, entering a blank hostname causes
- it to abort instead of adding a new host. Also strip l/t whitespace.
-
- Revision 601.118 2003/01/17 22:36:56 ajc
- * This commit is a figment of your imagination.
-
- Revision 601.117 2003/01/17 21:50:27 ajc
- * Began making some build changes for Cygwin compatibility
-
- Revision 601.116 2003/01/17 10:06:54 error
- * fmout(): Ignore \r (carriage return) characters in messages
-
- Revision 601.115 2003/01/17 04:36:04 ajc
- * whobbs.c: fix bad call to CtdlGetServInfo() so we can get our session ID
- and the name of the Citadel site
-
- Revision 601.114 2003/01/16 21:16:23 error
- * CtdlIPCGetMessages(): Fix message read failing on first attempt to read
- messages
-
- Revision 601.113 2003/01/16 10:04:03 error
- * ENT0 command: changed post-as username from arg 4 to arg 5; 4 was already
- used as the message subject
- * Convert message entry and reading to new IPC code
- * Minor bugfixes throughout IPC code
-
- Revision 601.112 2003/01/16 04:17:02 ajc
- * citadel_ipc.c: when issuing a SPEX command, send the string value for
- room/floor/site instead of the number. citserver wants a string.
- * ipc_c_tcp.c: don't call SSL_shutdown() from connection_died(). This just
- causes it to segfault because there's no valid socket.
-
- Revision 601.111 2003/01/16 03:41:45 ajc
- * Renamed "dynloader" to "serv_extensions" globally. We don't want people
- to think we have a dynamic loader, do we? :)
- * serv_*_init() is now declared in serv_extensions.h. This is definitely the
- wrong place for it. It's there temporarily until we decide on a new
- convention for server extensions.
- * bootstrap: more reliable detection of Red Hat Linux 7.3 -- more specifically,
- fewer fireworks when the host system is *not* Red Hat Linux.
-
- Revision 601.110 2003/01/15 16:34:53 ajc
- * bootstrap: don't check /etc/redhat-release if it doesn't exist (which is
- the case on all non Red Hat Linux systems)
-
- Revision 601.109 2003/01/15 05:57:09 ajc
- * First cut at static-linking the citserver. Ripped out libtool and
- replaced the dynloader paradigm with "server extensions" paradigm (static
- linked, but still very loosely coupled by way of using the API's to
- register callbacks and commands etc.) Needs more testing.
-
- Revision 601.108 2003/01/14 04:12:26 ajc
- * Set default view for new user Calendar> rooms to 3 (calendar)
- * Set default view for new user Tasks> rooms to 4 (tasks)
-
- Revision 601.107 2003/01/13 17:04:19 ajc
- * Add a sample URL view command for Macintosh in the included citadel.rc
-
- Revision 601.106 2003/01/13 02:55:07 ajc
- * Do calendar support only if libical header *and* library are present
-
- Revision 601.105 2003/01/12 23:07:40 ajc
- * configure.ac: Attempt to check for libical 0.24 or newer
-
- Revision 601.104 2003/01/12 05:01:58 ajc
- * Start marking things for 6.05 release
-
- Revision 601.103 2003/01/12 04:48:23 ajc
- * Display message subjects in magenta instead of white
-
- Revision 601.102 2003/01/06 09:17:10 error
- * Remove non (yet) existent sstring.c dependency from Makefile.in
-
- Revision 601.101 2003/01/05 07:35:03 error
- * Add an AllFloors parameter to the citadel IPC API
-
- Revision 601.100 2003/01/01 08:07:46 error
- * commands.c: bugfix for reading from FILE pointers; affected quote, print
- and external editor.
-
- Revision 601.99 2002/12/28 05:33:29 ajc
- * ical_dezonify: set is_utc=1 even if we didn't convert from some arbitrary
- timezone. Presumably this means the time was already UTC, and we really
- need that "Z" to get slapped on it.
-
- Revision 601.98 2002/12/28 05:12:06 ajc
- * Yet another attempt at making ical_dezonify() send outgoing calendar items
- in UTC format. (This one will probably work -- the timestamps have the
- "Z" after them which signifies UTC instead of local time.)
-
- Revision 601.97 2002/12/27 04:40:40 ajc
- * Another attempt at fixing timezones :(
-
- Revision 601.96 2002/12/25 23:17:07 ajc
- * ical_dezonify.c: shuffle around #includes and #ifdef's
-
- Revision 601.95 2002/12/25 21:46:19 ajc
- * Another shot at timezone handling (ugggghh)
-
- Revision 601.94 2002/12/25 07:05:26 ajc
- * set up ical_dezonify() to be called at appropriate times
- (but it doesn't seem to work correctly yet)
-
- Revision 601.93 2002/12/25 06:41:44 ajc
- * ical_dezonify.c: added (function to strip localized timestamps out of
- a component and replace them with UTC timestamps)
-
- Revision 601.92 2002/12/19 04:51:49 ajc
- * database_cleanup.sh: added
-
- Revision 601.91 2002/12/18 04:08:16 ajc
- * Don't attempt to send out invitations when there are no attendees.
-
- Revision 601.90 2002/12/15 10:53:51 error
- * Final touches on the new message formatter.
-
- Revision 601.89 2002/12/15 09:42:37 error
- * Converted more routines to new IPC code.
-
- Revision 601.88 2002/12/14 23:21:29 ajc
- * When saving a calendar event, set the message Subject to the event
- summary string, and the message Date/time to the event start time.
-
- Revision 601.87 2002/12/10 23:36:20 ajc
- * Fixed a bug in the allocation of per-session dynamic data for calendar module
-
- Revision 601.86 2002/12/09 06:07:29 ajc
- * Finished the code to accept incoming calendar REPLY messages and
- merge/save the updated event in the user's calendar.
-
- Revision 601.85 2002/12/08 06:01:48 ajc
- * More work on the reply handler. Wrote functions to locate the message
- containing the invitation being replied to. Just need to write the
- merge and resave functions now.
-
- Revision 601.84 2002/12/08 00:23:08 ajc
- * Began adding a calendaring subcommand to accept a reply to a meeting
- invitation and update the event in the user's calendar. (Not finished.)
-
- Revision 601.83 2002/12/04 05:01:18 ajc
- * When sending out invitations, encapsulate the VEVENT component inside a
- VCALENDAR component, along with proper metadata such as product ID and
- vcalendar version. Move the METHOD:REQUEST property to the encapsulating
- component rather than the event itself. (Still need to add a VTIMEZONE).
-
- Revision 601.82 2002/12/03 04:49:15 ajc
- * Send out meeting requests! (Need to test with various clients.)
-
- Revision 601.81 2002/12/02 08:09:00 error
- * Improvements to the new message formatter, including URL support and
- doing the Right Thing for text/plain messages.
-
- Revision 601.80 2002/12/01 11:02:57 error
- * New experimental message formatter - try it, you'll like it!
-
- Revision 601.79 2002/12/01 04:48:24 ajc
- * The code to check for sending invitations needs to happen *after* save
-
- Revision 601.78 2002/12/01 00:59:54 ajc
- * Reliably detect when the user saving an event is listed as the meeting
- organizer. (Currently calls a stub function. Still need to write the
- function to generate and send invitations.)
-
- Revision 601.77 2002/11/30 21:35:30 ajc
- * just some trace messages
-
- Revision 601.76 2002/11/30 05:39:28 ajc
- * Started banging out some code to determine when a saved vEvent needs to
- send out meeting invites.
-
- Revision 601.75 2002/11/29 16:24:59 ajc
- * When calling ical*_remove_*() routines, the caller then owns the object
- which is removed. Added ical*_free() calls to free the memory.
-
- Revision 601.74 2002/11/29 15:44:41 ajc
- * CC->cs_inet_email is now a string buffer, not a pointer
- * Initialize CC->cs_inet_email with a default address, so it always
- contains something even when the directory doesn't
- * Augment CHEK command to return the user's preferred Internet e-mail addr.
-
- Revision 601.73 2002/11/27 21:05:31 nixo
- added dot ungoto functionality.
- It allows you to enter a room to ungoto, it will look
- through the ungoto list and goto there at the room position
- you last goto-ed it from.
- Don't blame me, this was Gary's idea.
-
- Revision 601.72 2002/11/25 05:10:07 ajc
- * Post a notification to Aide> when a user is manually deleted
- (resolves Bugzilla enhancement request #73)
-
- Revision 601.71 2002/11/25 04:57:43 ajc
- * Allow set/clear of per-user Internet mail privilege
- * Honor that flag
-
- Revision 601.70 2002/11/23 13:35:47 error
- * Makefile.in: Alphabetized all the source files
-
- Revision 601.69 2002/11/21 05:38:13 ajc
- * Added support for a "New User Greetings" room. See docs/install.txt
-
- Revision 601.68 2002/11/15 11:24:40 error
- * serv_rwho.c: cmd_rwho(): move logged_in from param 8 to param 11
- (see RWHO in techdoc/session.txt)
-
- Revision 601.67 2002/11/13 17:20:57 ajc
- * When in curses mode, call beep() instead of putc(7, stdout) to make it beep.
-
- Revision 601.66 2002/11/12 04:30:16 ajc
- * Completed the invitation accept/decline code. It now sends back a
- correctly formated reply! (Tested with Evolution)
-
- Revision 601.65 2002/11/11 06:21:55 error
- * Fixed minor bugs with color handling; added explicit support for handling
- the background color e.g. for transparent terminals
-
- Revision 601.64 2002/11/11 04:17:24 ajc
- * More work on reply to meeting invitation
-
- Revision 601.63 2002/11/10 09:21:57 error
- * messages.c: fixed <H>eader command
-
- Revision 601.62 2002/11/10 09:19:38 error
- * Convert some more routines to new IPC code
-
- Revision 601.61 2002/11/10 09:14:16 error
- * citadel.spec: updated for post-6.01
-
- Revision 601.60 2002/11/10 09:12:06 error
- * citadel.c: When terminating, don't mark messages new when using new
- message semantics
-
- Revision 601.59 2002/11/08 05:28:54 ajc
- * Reply to VEVENT invitations: generate reply by cloning the request,
- stripping out non-me attendees, setting the partstat to accept/decline,
- and extracting the address of the organizer. (Still not finished: right
- now it does everything except actually sending the reply.)
-
- Revision 601.58 2002/11/07 04:40:07 ajc
- * Repaired the "remember username/password" functionality of the client
- (it was broken during the transition to the new client protocol library)
-
- Revision 601.57 2002/11/06 05:03:01 ajc
- * No changes; just testing CVS permissions
-
- Revision 601.56 2002/11/04 21:49:53 ajc
- * Don't run the wait indicator when in an external editor
-
- Revision 601.55 2002/11/01 04:57:56 ajc
- * Fixed .AM and .AE commands
-
- Revision 601.54 2002/10/29 20:14:56 error
- * rooms.c: don't allow a blank floor name when creating a floor (in client)
-
- Revision 601.53 2002/10/26 06:15:09 ajc
- * cmd_cflr() - don't allow zero length floor names
-
- Revision 601.52 2002/10/26 06:01:19 ajc
- * Increase size of temp file name buffer in struct CitContext
-
- Revision 601.51 2002/10/25 09:38:38 error
- * Fixed broken .Goto by partial match
-
- Revision 601.50 2002/10/25 09:26:26 error
- * Fix the status line not updating with the new wait indicator; rearrange
- the code so network_status_cb is a member function of ipc.
-
- Revision 601.49 2002/10/25 04:39:38 ajc
- * When in fullscreen mode, display an "X" icon in the lower right corner of
- the screen while waiting for the server.
-
- Revision 601.48 2002/10/24 09:04:53 error
- * acconfig.h: add DISABLE_CURSES template
-
- Revision 601.47 2002/10/23 04:06:41 ajc
- * "conflicts" check now also tells the client whether a conflicting event
- is really just an older version of the same object.
-
- Revision 601.46 2002/10/23 03:55:21 ajc
- * Finished: when saving an object of type text/calendar to the Calendar> room,
- set the Citadel "extended message ID" to the UID of the VEVENT object. This
- causes the message base to automatically delete any existing instance(s) of
- that object: automatic replacement.
-
- Revision 601.45 2002/10/23 03:07:43 ajc
- * First hack at UID-to-EMSGID mapping (for auto replacement)
-
- Revision 601.44 2002/10/21 20:00:41 ajc
- * List UID and SUMMARY properties of conflicting events
-
- Revision 601.43 2002/10/21 17:14:42 ajc
- * More work on conflict detects
-
- Revision 601.42 2002/10/20 21:42:54 ajc
- * More conflict checking stuff
-
- Revision 601.41 2002/10/20 20:21:27 ajc
- * Put in a skeleton "hunt for conflicts" code
-
- Revision 601.40 2002/10/20 08:01:03 error
- * docs/install.txt: add Mac OS X build instructions
-
- Revision 601.39 2002/10/19 21:35:34 ajc
- * Moved some of the calendar logic over from WebCit
-
- Revision 601.38 2002/10/19 08:30:03 error
- * dynloader.c: Darwin places underscores in front of symbol names, just
- like OpenBSD.
-
- Revision 601.37 2002/10/19 08:18:06 error
- * Disable any use of curses on Darwin (this is temporary until I beat
- Apple's bizarre linker into submission)
-
- Revision 601.36 2002/10/18 10:33:09 error
- * More signed/unsigned fixes (for the new progress gauge)
-
- Revision 601.35 2002/10/18 07:56:30 error
- * fix self-service account creation at login prompt (accidentally called
- CREU instead of NEWU).
-
- Revision 601.34 2002/10/18 03:44:13 ajc
- * Fixed a bug in CtdlRenameRoom() that caused the old room record not to be
- deleted when there was a mailbox namespace attached.
- * Reworked imap_rename() and imap_rename_backend() to not use nested functions
-
- Revision 601.33 2002/10/17 12:56:44 error
- * Bug fixes: Fix numerous char array size mismatches, signed/unsigned
- mismatches, and const correctness problems (though not nearly all)
-
- Revision 601.32 2002/10/17 11:13:27 error
- * Convert room listings and some aide functions to new IPC code
-
- Revision 601.31 2002/10/16 13:46:19 ajc
- * Remove some trace messages
-
- Revision 601.30 2002/10/16 08:59:41 error
- * Don't assume pointer to time_t is compatible with pointer to
- struct timeval.tv_sec (it isn't on darwin)
-
- Revision 601.29 2002/10/16 02:49:55 ajc
- * CtdlWriteObject() encode in memory instead of on disk (not tested)
-
- Revision 601.28 2002/10/15 17:41:20 ajc
- * Numerous warning fixes and cleanups for compile on Linux for IBM S/390
- * Name temp files with source code location of who created them
-
- Revision 601.27 2002/10/15 06:47:11 error
- * IPC support for resumable downloads
-
- Revision 601.26 2002/10/15 06:44:55 error
- * configure.ac check for malloc.h header file (Mac OS X needs this)
-
- Revision 601.25 2002/10/15 03:56:33 ajc
- * Run without crashing on Berkeley DB 4.1 :)
-
- Revision 601.24 2002/10/15 03:30:52 ajc
- * Build ok on Berkeley DB 4.1
-
- Revision 601.23 2002/10/14 08:27:40 error
- * Mac OS X build fixes (everything but serv_imap now builds)
-
- Revision 601.22 2002/10/08 09:44:52 error
- * Build environment: cvs ignore .diff/.patch files
-
- Revision 601.21 2002/10/07 18:59:37 ajc
- * Build fixes for Solaris box without OpenSSL installed
-
- Revision 601.20 2002/10/07 09:40:49 error
- * Don't try to compile non-existent client_crypto.c (oops!)
-
- Revision 601.19 2002/10/06 18:46:30 error
- * Move (nearly) all IPC-related code to citadel_ipc.[ch].
-
- Revision 601.18 2002/10/05 04:48:29 ajc
- * Change MAXSETUP from 4 to 3 (bug reported by mavherzog, fix suggested by IO)
-
- Revision 601.17 2002/10/04 07:11:56 error
- * Fix bootstrap for Red Hat 7.3
-
- Revision 601.16 2002/10/02 04:07:27 error
- * status_line() now shows "new mail" only when there is new mail
-
- Revision 601.15 2002/10/01 04:00:13 ajc
- * html.c: speed improvement in html-to-ascii converter
- * messages.c: MASSIVE speed improvement in message output
-
- Revision 601.14 2002/09/30 08:07:11 error
- * ipcdef.h: add extern "C" for linking to C++ programs
-
- Revision 601.13 2002/09/30 07:32:09 error
- * ipcdef.h: remove prototype for connection_died(), it doesn't belong there
-
- Revision 601.12 2002/09/30 07:20:35 error
- * Fix configure mis-detecting libical and zlib and a missing semicolon in
- tools.h
-
- Revision 601.11 2002/09/29 04:55:13 error
- * File and attachment downloads now use the new IPC code.
- * Implemented high-speed pipelined file download in IPC code.
-
- Revision 601.10 2002/09/29 04:41:43 error
- * file_ops.c: cmd_read() now returns a short read at end-of-file instead of
- 4096, this prevents trailing garbage on the downloaded file; also it now
- succeeds if the requested number of bytes is > 4096; it simply returns
- only 4096 bytes.
-
- Revision 601.9 2002/09/27 06:53:20 error
- * Allow multiple simultaneous IPC connections. All changes necessary for
- the client to use the new code are necessarily included.
-
- Revision 601.8 2002/09/22 02:48:04 ajc
- * axdefs.h: add "Notes" view
-
- Revision 601.7 2002/09/17 03:18:15 ajc
- * Create the Calendar> and Tasks> rooms at login time, and set their default
- views to calendar and tasklist views. Renamed "My Calendar>" to "Calendar>"
- to be in sync with the KDE groupware project.
-
- Revision 601.6 2002/09/15 03:24:28 ajc
- * Renamed decode_base64() to CtdlDecodeBase64()
- * Renamed decode_quoted_printable() to CtdlDecodeQuotedPrintable()
- * These changes are to avoid namespace conflict with libical
-
- Revision 601.5 2002/09/13 15:41:39 ajc
- * serv_calendar.c: #include "serv_calendar.h", not "serv_ical.h"
-
- Revision 601.4 2002/09/11 03:17:18 ajc
- * [EXPERIMENTAL] Link in the "libical" calendar library if present
- * Rename serv_ical to serv_calendar (because the resulting module would be
- named "libical" which conflicts with the external library by that name)
-
- Revision 601.3 2002/09/10 08:07:38 error
- * update citadel.spec for 6.00* update citadel.spec for 6.00* update citadel.spec for 6.00* update citadel.spec for 6.00* update citadel.spec for 6.00* update citadel.spec for 6.00* update citadel.spec for 6.00* update citadel.spec for 6.00
-
- Revision 601.2 2002/09/09 03:03:18 ajc
- * When a user logs in, create the Mail> room if it doesn't exist. (Should
- never happen, but one site had a situation where this patch came in handy.)
-
- Revision 601.1 2002/09/08 04:15:28 ajc
- * Also fixed a bug in <.T>erminate <S>tay which caused the terminal to
- become wacky on second and subsequent sessions.
-
- Revision 601.0 2002/09/08 03:51:30 ajc
- * Let's call this 6.01, shall we?
-
- Revision 600.2 2002/09/08 03:48:48 ajc
- * Fixed a crashy crashy bug in the AGUP protocol function in the client
-
- Revision 600.1 2002/09/07 03:24:23 ajc
- * When displaying messages using MSG4, enumerate the attachments on the
- client side, because the server won't add their descriptions to the
- message text.
-
- Revision 600.0 2002/09/04 03:06:58 ajc
- * Committing the current code base as version 6.00
-
- Revision 591.109 2002/09/03 14:09:04 ajc
- * setup.c: automatically stop/start services
-
- Revision 591.108 2002/09/03 04:42:15 ajc
- * Added MSG4 support to client-side IPC
- * Moved HTML-to-text conversion to the client side
-
- Revision 591.107 2002/09/02 20:40:34 ajc
- * Automation work for setup
-
- Revision 591.106 2002/08/31 04:36:26 ajc
- * IMAP APPEND no longer forces messages to appear as from the logged-in user
- when appending to a mailbox room. (Allows migration to Citadel from some
- other type of server without losing all the sender names.)
-
- Revision 591.105 2002/08/31 04:12:39 ajc
- * Set version number to 6.00 in documentation and header files.
- * Convert RFC822 newlines (CRLF) to Unix/Citadel newlines (LF) when
- performing an IMAP APPEND command.
-
- Revision 591.104 2002/08/28 03:18:06 ajc
- * Make reply_to and reply_subject global (otherwise they don't work!)
-
- Revision 591.103 2002/08/27 04:01:03 ajc
- * Added the ability to run an external command from the client when new mail
- arrives. (Ok, I admit it: I just discovered http://www.dailywav.com and I
- just *had* to have Bear in the Big Blue House tell me I've got mail)
-
- Revision 591.102 2002/08/26 02:55:09 ajc
- * Small bugfix for memory bounds checking in the MIME parser
-
- Revision 591.101 2002/08/25 21:23:49 ajc
- * Hide the SMTP queue and the sysconfig rooms.
-
- Revision 591.100 2002/08/24 05:58:53 ajc
- * Bugfixes and cosmetic changes to listsub system
-
- Revision 591.99 2002/08/23 03:36:52 ajc
- * Finished all of the subscribe/unsubscribe/confirm stuff!
-
- Revision 591.98 2002/08/23 02:30:02 ajc
- * Delete unconfirmed pending subscribe/unsubscribe requests after three days
- * Don't allow multiple subscriptions of the same address to a list
-
- Revision 591.97 2002/08/22 03:55:11 ajc
- * Fixed bug in above
-
- Revision 591.96 2002/08/22 03:40:00 ajc
- * Add "unsubscribe" command (but not yet "confirm unsubscribe")
-
- Revision 591.95 2002/08/21 21:58:00 ajc
- * Completed self-service list subscription via web.
- (Still need to implement unsubscribe.)
-
- Revision 591.94 2002/08/16 21:04:56 ajc
- * Add LPRM command
-
- Revision 591.93 2002/08/14 20:21:52 ajc
- * Extend GETR/SETR to allow twiddling of bits in the QRflags2 bucket
- * New flag and config options to allow/disallow self-service list subscription
- and unsubscription to a room
-
- Revision 591.92 2002/08/14 02:36:05 ajc
- * WebCit list subscription integration
-
- Revision 591.91 2002/08/13 18:48:46 ajc
- * Generate and send subscription confirmation requests.
- (Still need to finalize the URL format)
-
- Revision 591.90 2002/08/13 17:19:11 ajc
- * Added email capability to quickie_message()
-
- Revision 591.89 2002/08/13 04:02:06 ajc
- * <R>eplace string is now case sensitive
-
- Revision 591.88 2002/08/13 03:46:31 ajc
- * More work on the self-service subscribe/unsubscribe infrastructure
-
- Revision 591.87 2002/08/12 03:00:20 ajc
- * Fixed bug in <R>eplacestring which caused it to lock up in certain conditions
-
- Revision 591.86 2002/08/12 00:09:05 ajc
- * Compress VISIT records using zlib if available. This reduces the object
- size from over 4k to about 70 bytes. Experimental.
- * Automatically uncompress database records found to be compressed (duh)
-
- Revision 591.85 2002/08/08 22:01:35 ajc
- * autoconf to look for zlib (for an upcoming experiment)
-
- Revision 591.84 2002/08/08 03:25:56 ajc
- * Bugfix for above
- * Started writing some infrastructure for sub/unsub
-
- Revision 591.83 2002/08/08 02:49:12 ajc
- * serv_network.c: retain unknown commands in netconfigs and write them back
- * techdoc/netconfigs.txt: specify commands for subscribe/unsubscribe pending
- * serv_listsub.c: added (currently a stub)
-
- Revision 591.82 2002/08/06 03:12:14 ajc
- * Fixed and clarified "new mail has arrived" messages.
-
- Revision 591.81 2002/08/06 03:02:29 ajc
- * ;AE command -- Make it clearer which floor the user is editing
-
- Revision 591.80 2002/08/06 02:58:01 ajc
- * Cleaned up the output of digest mode. It's usable now, but the self-service
- subscribe/unsubscribe functions are not there yet.
-
- Revision 591.79 2002/08/05 14:38:11 ajc
- * rooms.c: corrected a typo reported by Campagnolo (Mike Poulin)
-
- Revision 591.78 2002/08/03 19:48:40 ajc
- * NULLify 'roomrec' before attempting partial match in <G>oto
- (fixes heap corruption when this command is executed)
-
- Revision 591.77 2002/08/03 04:13:46 ajc
- * citadel_ipc.c: Attempted to clean up memory allocation
-
- Revision 591.76 2002/08/01 05:41:53 ajc
- * Completion of (most of) digest mode. Still needs some polish.
-
- Revision 591.75 2002/07/31 04:01:57 ajc
- * Began implementing "digest mode" for listserving. (Not complete)
-
- Revision 591.74 2002/07/28 20:33:13 ajc
- * Augmented the "headers only" functionality of the message reading API (as
- well as the options of the server commands which expose it) to allow
- headers+body, headers only, or body only.
- * Adjusted message output of IMAP command FETCH BODY[1] when message is in
- legacy Citadel format. This fixes a bug exposed by SquirrelMail.
-
- Revision 591.73 2002/07/23 04:00:06 ajc
- * Completed the MSGP and MSG4 commands to set the client's preferred MIME
- content types, and fetch messages with MIME content types.
-
- Revision 591.72 2002/07/21 22:29:46 ajc
- * Added in some infrastructure to switch the client's message reading from
- conventional MSG0 to a MIME-download type thing, like WebCit does.
-
- Revision 591.71 2002/07/21 15:45:07 error
- * Remove duplicate call for server time in who_is_online(); IPC does this now
-
- Revision 591.70 2002/07/21 15:43:57 error
- * citadel_ipc.c: Fix for segfault on empty messages
-
- Revision 591.69 2002/07/20 04:05:10 ajc
- * Updated hack.txt with some fresh new information
-
- Revision 591.68 2002/07/19 02:28:11 ajc
- * citadel_ipc.c: changed various buffer lengths from 256 to SIZ in order to
- accomodate long lines which often spew out (usually from spam unfortunately)
-
- Revision 591.67 2002/07/18 21:29:37 nbryant
- added a note about GNU make to the configure script output
-
- Revision 591.66 2002/07/18 20:21:18 ajc
- * Eliminated the 512-message limit in the client for reading messages.
-
- Revision 591.65 2002/07/13 04:12:40 ajc
- * Don't lie about format types in MSG0 anymore. We no longer need to.
-
- Revision 591.64 2002/07/13 03:24:32 ajc
- * CtdlOutputMsg() caches the most recently fetched message in memory. This
- eliminates the need to do multiple database fetches when we go back for
- additional MIME parts, etc.
-
- Revision 591.63 2002/07/11 03:40:51 ajc
- * When outputting a multipart MIME message, supply the client with "pref="
- and "suff=" lines in addition to the "part=" lines.
-
- Revision 591.62 2002/07/02 16:27:06 error
- * prototypes in citadel_ipc.h updated
-
- Revision 591.61 2002/06/29 23:26:55 error
- * fixed some memory leaks
-
- Revision 591.60 2002/06/29 18:36:31 error
- * tools.c: Massively faster versions of extract_token() and remove_token().
- These functions can now handle multi-kilobyte sized strings with hundreds
- of tokens (or more?).
-
- Revision 591.59 2002/06/29 15:55:07 error
- * Convert whobbs, serv_info, misc. functions to new IPC code
-
- Revision 591.58 2002/06/27 03:10:04 error
- * rooms.c: converted most functions to new IPC code
-
- Revision 591.57 2002/06/25 15:38:52 error
- * fixed bug in dotgoto() causing free() to segfault
-
- Revision 591.56 2002/06/25 15:13:27 error
- * gotonext() now uses new IPC code to retrieve room listing
-
- Revision 591.55 2002/06/25 14:21:35 error
- * remove a debugging trap I accidentally left in the code
-
- Revision 591.54 2002/06/24 20:17:43 error
- * Fixed code for client segfault at login
-
- Revision 591.53 2002/06/24 20:11:00 error
- * Buffer overflow fixes and minor cleanup in IPC code
-
- Revision 591.52 2002/06/24 16:07:42 error
- * Message reading and other functions which use the fmout() screen
- formatter now use the new IPC code.
-
- Revision 591.51 2002/06/22 20:09:16 error
- * Use a new IPC API (in citadel_ipc.c). Partially converted citadel.c to
- use the new API.
-
- Revision 591.50 2002/06/21 12:32:48 ajc
- * Minor documentation update
-
- Revision 591.49 2002/06/19 21:52:13 ajc
- * Support a transient room create as well
-
- Revision 591.48 2002/06/19 21:42:57 ajc
- * Added support for "transient goto" which allows entry into a private and/or
- zapped room without putting the room [back] on your known rooms list. This
- is useful for the new administrative functions in WebCit (updating a user's
- vCard without the Aide suddenly having that user's config room on their
- list).
-
- Revision 591.47 2002/06/18 16:34:06 error
- * room_ops.c: Fix for old room record not being deleted when renaming
- baseroom or aideroom
-
- Revision 591.46 2002/06/16 21:01:11 ajc
- * Allow Aides to create rooms in other users' namespaces (if global access
- controls allow)
-
- Revision 591.45 2002/06/15 20:48:50 ajc
- * Fixed small bug in the e<X>pert mode toggle
-
- Revision 591.44 2002/06/15 20:14:55 ajc
- * Fixed a memory allocation bug in the vCard parser
-
- Revision 591.43 2002/06/15 17:53:59 error
- * citserver.c: MESG command can now send a different system message based
- on the developer and client ID of the connected client
-
- Revision 591.42 2002/06/15 04:52:26 ajc
- * SpamAssassin connector is now configurable in <.A>ide <S>ysconfig <I>nternet.
- * Allow more than one SA server (it'll try 'em all)
- * Don't run SA for logged in users
-
- Revision 591.41 2002/06/14 20:42:56 ajc
- * Discovered that spamd works even without the Content-length: command, so I
- was able to redo the spam checker to work without a temp file.
-
- Revision 591.40 2002/06/14 20:37:03 ajc
- * Disabled the spam strings checker I wrote a few days ago.
- * When receiving SMTP, check to see if spamd (the SpamAssassin daemon) is
- running on the local machine. If yes, run the message through it and
- reject if spam.
-
- Revision 591.39 2002/06/12 03:42:21 ajc
- * "Suppress message prompts" has been changed to "Prompt after each message"
- and of course the effect has been reversed.
- * "Be unlisted in userlog" has been moved to the end of the list of
- configuration prompts, so it doesn't interrupt the flow of thought regarding
- the prompting questions.
-
- Revision 591.38 2002/06/10 22:25:25 ajc
- * Configuration for spam filter
-
- Revision 591.37 2002/06/09 23:59:38 ajc
- * Started working on the spam filter
-
- Revision 591.36 2002/06/07 22:10:51 ajc
- * Added a new message function hook type EVT_SMTPSCAN which permits modules to
- register hooks that can scan incoming SMTP messages and elect to reject them
- (due to virus or spam content, for example).
-
- Revision 591.35 2002/06/07 03:22:13 ajc
- * Added a module "serv_mrtg" which allows activity reporting to MRTG
- (http://www.mrtg.org) -- this will replace our stats program.
-
- Revision 591.34 2002/06/02 16:42:17 error
- * Support for Ctrl-W to erase a word when editing or at a prompt
-
- Revision 591.33 2002/05/31 18:34:04 nbryant
- better curses compatibility, and a couple makefile/configure tweaks
-
- Revision 591.32 2002/05/28 13:59:02 ajc
- * Removed the 'netsetup' and 'dnetsetup' utilities (obsolete)
-
- Revision 591.31 2002/05/24 19:58:13 ajc
- * Fixed the "idle timeout during paginator prompt" bug by reintroducting the
- concept of a "half keepalive" and sending them during paginator prompts.
-
- Revision 591.30 2002/05/23 03:33:21 ajc
- * Added a GTSN (GeT list of SeeN messages) command
-
- Revision 591.29 2002/05/20 14:29:59 ajc
- * commands.c: fixed bug in the scan for idle_threshold= which didn't include
- the = sign and ended up always setting this value to 0
-
- Revision 591.28 2002/05/17 03:57:30 ajc
- * When doing fixed_output() of converted HTML, output the whole block of
- data at once instead of one character at a time
-
- Revision 591.27 2002/05/16 04:44:58 ajc
- * Reduce the number of socket writes when doing fixed_output() to avoid
- getting killed by overhead. (Thanks to IO for the insight)
-
- Revision 591.26 2002/05/14 15:25:34 error
- * room_ops.c: clarified aide message when room aide is removed
-
- Revision 591.25 2002/05/14 15:18:43 error
- * rooms.c: Print name of room aide if any when doing <i>nfo
-
- Revision 591.24 2002/05/14 01:33:18 error
- * Fixed some incredibly silly typos
-
- Revision 591.23 2002/05/14 01:27:18 error
- * Minor cosmetic changes, extraneous double spaces etc.
-
- Revision 591.22 2002/05/14 01:15:54 error
- * Idle threshold on the who list is now customizable in the citadel.rc
-
- Revision 591.21 2002/05/14 01:09:57 error
- * citadel.c: spacebar won't read New if there are no new messages
-
- Revision 591.20 2002/05/12 23:00:11 ajc
- * Removed an unused variable
-
- Revision 591.19 2002/05/12 22:57:04 ajc
- * Removed the unfinished moderation system.
- * CtdlForEachMessage() - only fetch metadata when hunting for messages with
- a specified Content-type. Serious performance boost.
-
- Revision 591.18 2002/05/05 17:33:09 error
- * screen.c: fix lack of beeps in curses mode
-
- Revision 591.17 2002/05/04 02:58:16 ajc
- * Documented a small protocol change for the STEL command
-
- Revision 591.16 2002/04/30 03:13:59 ajc
- * When sending a page that results in the receiver's Sent/Received Pages>
- room to be created, don't automatically grant the sender access to that room.
- * Added a parameter to create_room() to implement the above
-
- Revision 591.15 2002/04/23 13:38:08 ajc
- * Minor docs update
-
- Revision 591.14 2002/04/21 21:28:06 ajc
- * Create the My Citadel Config> room along with the user account
-
- Revision 591.13 2002/04/20 03:00:01 ajc
- * One more fix for the RENAME command wrt namespaces.
-
- Revision 591.12 2002/04/18 18:44:36 nbryant
- don't use libtool -avoid-version for libcitserver - this might help for
- OpenBSD
-
- Revision 591.11 2002/04/17 04:35:06 ajc
- * Finished the IMAP RENAME command. (I ended up using nested functions
- because it made the task much, much easier. We can fix it later or convert
- it to C++ if we find this becomes a problem.)
-
- Revision 591.10 2002/04/15 13:25:47 ajc
- * Add error responses to imap_rename() and set up subfolder framework
-
- Revision 591.9 2002/04/14 22:42:49 ajc
- * Began implementing RENAME command in IMAP.
-
- Revision 591.8 2002/04/14 22:27:05 ajc
- * Added access control checking to CtdlRenameRoom()
-
- Revision 591.7 2002/04/14 22:11:22 ajc
- * New back end function CtdlRenameRoom() which is used to rename a room and/or
- move it to a different floor.
- * cmd_setr() now uses CtdlRenameRoom() to do part of its work
-
- Revision 591.6 2002/04/10 03:58:40 ajc
- * Began work on IMAP RENAME
-
- Revision 591.5 2002/04/09 14:26:43 ajc
- * Allow INBOX to have subfolders. There's no longer any reason not to.
-
- Revision 591.4 2002/04/05 22:31:59 error
- * Send time-of-day with pages sent via IMAP
-
- Revision 591.3 2002/04/05 14:34:02 ajc
- * Minor tweak to nested folder algorithm to handle nesting in mail root
-
- Revision 591.2 2002/04/05 04:25:56 ajc
- * Support nested folders in IMAP. We might want to change the delimiter.
-
- Revision 591.1 2002/04/04 23:25:30 ajc
- * Experimental hacking to handle subfolderization in IMAP. Seems to work ok
- but it makes Mozilla mail hang. Will investigate more later...
-
- Revision 591.0 2002/04/01 05:13:20 ajc
- * Tagged everything for 5.91 release
-
- Revision 590.168 2002/04/01 05:12:57 ajc
- * Prep for 5.91 release
-
- Revision 590.167 2002/03/29 04:43:15 ajc
- * Removed the BMBX command. Mailbox security update now runs automatically when the
- server starts and it sees data files version <5.91.
-
- Revision 590.166 2002/03/26 05:58:35 nbryant
- don't check for a database driver until after the openssl check is
- complete. if the ld paths aren't set up for the db installation this
- can interfere with the openssl check because it tries to run a program
- linked against the libraries we've been finding.
-
- Revision 590.165 2002/03/26 05:20:46 nbryant
- removed last vestiges of "#ifdef CIT_CLIENT" conditional compilation,
- which has been rendered unusable by the build system simplifications
-
- Revision 590.164 2002/03/26 05:13:32 nbryant
- fix monstrous shell script syntax in configure.ac
-
- Revision 590.163 2002/03/26 04:38:31 nbryant
- * support autoconf 2.53
- * make a note that people should be using libtool 1.4d
- * cut some of the more pointless bells and whistles out of the configure
- script in an effort to make it more maintainable
- * modularized ipc_c_tcp.c and client_crypto.o so that they're not tied
- to the curses stuff.
- * timezone/daylight and other FreeBSD fixes
- * more effort in the configure script to detect the common
- bastardizations (ahem, ports) of Berkeley DB without falling down
-
- Revision 590.162 2002/03/25 03:09:39 nbryant
- fix warning on platforms where pthread_t may be a pointer
-
- Revision 590.161 2002/03/25 00:01:50 nbryant
- * compatibility with Berkeley DB < 3.3
- * squished symbol clashes with the OK symbol from curses in certain *n[iu]x
- distributions. this is kind of a pain in the ass, but I had to rename our
- OK to CIT_OK :-(
-
- Revision 590.160 2002/03/22 04:35:38 ajc
- * Handle vCard registration updates for users other than the one currently
- logged in. (Allows administrative editing of contact information.)
-
- Revision 590.159 2002/03/20 19:03:27 ajc
- * Don't re-declare timezone variables ('cuz FreeBSD chokes on that)
-
- Revision 590.158 2002/03/19 04:34:42 ajc
- * mime_parser.c: minor changes for easier porting between Citadel and WebCit
-
- Revision 590.157 2002/03/19 04:19:33 ajc
- * Saw what IO did with strchr() and did the same in a few more places
-
- Revision 590.156 2002/03/17 00:08:02 error
- * mime_parser.c: more robust parsing of Content-Type header
-
- Revision 590.155 2002/03/16 05:22:59 ajc
- * Post an error message to Aide> when unlink() is unable to delete old
- database log files.
-
- Revision 590.154 2002/03/14 04:35:26 nbryant
- avoid symbol clash with curses' "timeout" function (which may be a macro
- in some versions)
-
- Revision 590.153 2002/03/14 04:24:20 nbryant
- support window resizing in curses mode
-
- Revision 590.152 2002/03/13 04:11:11 nbryant
- fix up minor gotcha introduced by fgets change
-
- Revision 590.151 2002/03/13 03:58:29 ajc
- * Site-configurable option "Allow system Aides to gain access to mailboxes"
-
- Revision 590.150 2002/03/13 03:34:38 nbryant
- /* when running in curses mode, the scroll bar in most
- xterm-style programs becomes useless, so it makes sense to
- pause after a screenful of pages if the user has been idle
- for a while. However, this is annoying to some of the users
- who aren't in curses mode and tend to leave their clients
- idle. keepalives become disabled, resulting in getting booted
- when coming back to the idle session. but they probably have
- a working scrollback in their terminal, so disable it in this
- case:
- */
- if (!is_curses_enabled())
- lines_printed = 0;
-
- Revision 590.149 2002/03/12 23:34:37 nbryant
- use ncurses in preference to curses if it's installed; it handles
- background colors properly on dtterm, has a larger color pair palette,
- and has a bigger terminal database than solaris curses
-
- Revision 590.148 2002/03/12 22:47:17 nbryant
- curses fix: map our normal color pairs into the 0-7 range instead of 1-8,
- in order to make our pairs fit on terminals such as dtterm where COLOR_PAIRS=8.
- map the white/blue color pair onto 8 instead of 9, but only if that slot
- is available; fall back on white/black otherwise.
-
- it seems there may be an off-by-one error in the color pair manpages for
- the various curses packages (?) if not, our 0 entry is unusable, but that's
- the DIM_BLACK color and we don't use it anyway.
-
- Revision 590.147 2002/03/12 22:17:20 ajc
- * Give mailbox owners access to "who knows room" command
-
- Revision 590.146 2002/03/12 21:08:03 nbryant
- support color under Solaris curses
-
- Revision 590.145 2002/03/12 19:59:40 ajc
- * Access control change: do not treat mailboxes as guessname rooms for Aides.
- Open up INVT/KICK commands to non-Aides for their mailboxes.
-
- Revision 590.144 2002/03/12 04:30:52 nbryant
- if a filesystem node exists at /var/run/egd-pool, try to connect to it as
- the EGD (Entropy Gathering Daemon) or PRNGD (pseudorandom number
- generator daemon) socket and seed OpenSSL's RNG.
-
- this is necessary on solaris and other systems which lack /dev/urandom.
-
- Revision 590.143 2002/03/12 03:43:26 nbryant
- squished the last remaining calls to sprintf
-
- Revision 590.142 2002/03/12 03:36:55 nbryant
- replace calls to gets with fgets
-
- Revision 590.141 2002/03/12 03:19:09 nbryant
- more sprintf bashing. now the only ones left are in mime_parser
-
- 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
-
- Revision 590.42 2002/01/06 10:33:10 error
- * SSL/TLS support for the Citadel wire protocol
-
- Revision 590.41 2002/01/06 08:54:58 error
- * user_ops.c: fixed become_session() when calling EVT_LOGOUT session hooks
-
- Revision 590.40 2002/01/05 22:31:22 ajc
- * Removed some protocol commands and writeups that are no longer necessary
- * Began some of the framework for the Global Address Book
-
- Revision 590.39 2002/01/05 12:44:43 error
- * serv_chat.c: allow a session to be killed while in chat
-
- Revision 590.38 2002/01/05 12:31:04 error
- * user_ops.c: become_session() when calling EVT_LOGOUT session hooks
-
- Revision 590.37 2002/01/05 04:51:36 error
- * stats now sorts its top 20 lists properly
-
- Revision 590.36 2002/01/04 20:57:36 nbryant
- cygwin fix
-
- Revision 590.35 2002/01/04 20:46:26 nbryant
- Makefile fix for cygwin (fix migratenet linkage)
-
- Revision 590.34 2002/01/04 20:43:26 nbryant
- configure/genstamp: check for struct tm.tm_gmtoff
-
- Revision 590.33 2002/01/03 22:01:17 ajc
- * Fixed mail to "sysop"
-
- Revision 590.32 2002/01/03 21:35:07 ajc
- * I think this is the last of the fixes for the new submit queue.
-
- Revision 590.31 2002/01/03 12:27:35 error
- * Fixed my name in docs/copyright.txt, why didn't I notice that before?
-
- Revision 590.30 2002/01/03 12:21:02 error
- * Autoconf support for recognizing OpenSSL
-
- Revision 590.29 2002/01/03 04:52:28 ajc
- * serv_network.c: migrated deliveries and bounces to the new message
- submission subsystem. NOT TESTED.
-
- Revision 590.28 2002/01/01 21:32:10 ajc
- * Finished the updates to serv_smtp.c, although I think there may be a
- problem with one-too-many reference counts when a message is submitted
- via SMTP.
-
- Revision 590.27 2001/12/31 20:15:13 ajc
- * Almost finished converting serv_smtp.c to the new message submission
- framework. Still not done yet; don't use this.
-
- Revision 590.26 2001/12/30 06:20:46 error
- * More keys while reading messages: Q or S same as Ctrl-C, N same as Ctrl-O.
-
- Revision 590.25 2001/12/30 05:50:46 error
- * Security: Citadel now drops privileges when called from telnetd, also
- checks to make sure you didn't set the setuid/setgid bits. No more
- loginwrapper.sh!
-
- Revision 590.24 2001/12/29 05:19:32 ajc
- * Minor cosmetic hack
-
- Revision 590.23 2001/12/29 04:21:22 nixo
- stupid me. I didn't realize that asking for the header did what I wanted
- so I changed my little 'y' hack to not bother reading the text of the
- message. a little saving on the bandwidth.
-
- Revision 590.22 2001/12/28 22:32:38 nixo
- Added a "read m<y> next" function in read mode. It will skip to the next
- message by the user in the current message list (whatever mode you're in
- be it read forward, last 50, whatever.)
-
- Revision 590.21 2001/12/28 11:06:53 error
- * More server support for hostnames up to 63 characters (oops I missed a spot)
-
- Revision 590.20 2001/12/28 09:39:10 error
- * Client support for hostnames up to 63 characters: truncated at 24 in
- short who list, full display in long who list.
-
- Revision 590.19 2001/12/28 09:28:04 error
- * Server support for hostnames up to 63 characters
-
- Revision 590.18 2001/12/26 05:01:30 ajc
- * Added a new developer ID for Anticlimactic Teleservices
-
- Revision 590.17 2001/12/23 10:00:43 error
- * Pages are once again formatted to the caller's screen width.
-
- Revision 590.16 2001/12/23 09:57:47 error
- * tools.c: added parameter to fmt_date() to allow for printing the seconds
- along with the time, e.g. 12:34 pm or 12:34:56 pm
-
- Revision 590.15 2001/12/20 04:54:26 ajc
- * If you paid for this software, someone is ripping you off.
-
- Revision 590.14 2001/12/18 08:24:56 nbryant
- more lovely configure tweaks (include paths for db)
-
- Revision 590.13 2001/12/18 06:04:08 ajc
- * Moved the buffers in the_mime_parser() from the stack to the heap, because
- it was crashing boxen with small stack sizes.
-
- Revision 590.12 2001/12/18 05:54:16 ajc
- * Added more load_floorlist() commands to the beginning and end of functions
- in the client that manipulate the floor list. This fixes a bug in which
- new floors don't show up right away after being created.
-
- Revision 590.11 2001/12/17 08:14:26 nbryant
- restored the checks for /usr/include/db3 and /usr/local/include/db3
- in configure. there are too many variations on db installation; this is
- getting messy :-(
-
- Revision 590.10 2001/12/17 08:00:45 nbryant
- set the pthreads stack size to 128K because FreeBSD's default of 64K
- seems too small. fixes crashes under FreeBSD.
-
- Revision 590.9 2001/12/16 00:50:14 error
- * Added usersupp.lastcall to the parameters returned from the PASS/PAS2
- commands in logged_in_response().
-
- Revision 590.8 2001/12/14 21:33:18 nbryant
- finally changed configure to complain if there's no database driver ;)
-
- Revision 590.7 2001/12/14 08:29:30 error
- * Security: trace file is now only readable by owner, since it contains
- plain text passwords.
-
- Revision 590.6 2001/12/14 07:04:24 ajc
- * Now you can send mail to yourself. Hi from Stu.
-
- Revision 590.5 2001/12/14 06:58:12 ajc
- * Hi from Stu
-
- Revision 590.4 2001/12/13 22:36:30 nbryant
- make configure search for /usr/local/BerkeleyDB.4.0
-
- Revision 590.3 2001/12/13 22:29:57 nbryant
- make it compile with Berkeley DB 4.0.x
-
- Revision 590.2 2001/12/11 21:31:07 nbryant
- - test for -ldb3 before -ldb
-
- Revision 590.1 2001/12/11 20:04:41 nbryant
- - fix library flags, includes for portability
- - malloc.h is deprecated
- - fix genstamp, hopefully
- - fix size_t *printf handling for portability
-
- Revision 590.0 2001/12/08 03:31:41 ajc
- * THIS IS 5.90
-
- Revision 580.95 2001/12/08 03:30:37 ajc
- * Final changes to networking docs for 5.90
-
- Revision 580.94 2001/12/06 05:13:34 ajc
- * Added the documentation for room sharing and listserv
-
- Revision 580.93 2001/12/04 05:24:15 ajc
- * Added two more bytes to the possible length of shared secrets in networking
- due to some legacy support requirements.
-
- Revision 580.92 2001/12/04 05:16:19 ajc
- * mime_parser.c: change to memory allocation algorithm ... some badly done
- messages were crashing the server
-
- Revision 580.91 2001/12/03 22:48:16 ajc
- * ooops. Look for the QR2_SYSTEM flag in QRflags2, not QRflags.
-
- Revision 580.90 2001/12/03 17:02:50 ajc
- * dynloader.c: fixed improperly done declaration and mallok()
-
- Revision 580.89 2001/12/03 04:28:02 ajc
- * mime_parser.c: now uses built-in functions to decode base64 and
- quoted-printable attachments, instead of piping data to outboard programs.
-
- Revision 580.88 2001/12/03 02:45:46 ajc
- * Began implementing some code to handle multiple recipients (but #define'd
- it all out because we're approaching a release)
-
- Revision 580.87 2001/12/03 01:50:17 ajc
- * When sending mail, copy to the sender's "Sent Items>" room instead of to
- the sender's "Mail>" room.
-
- Revision 580.86 2001/12/02 23:36:24 ajc
- * On a new system, set the default new user level to 4 instead of 1.
-
- Revision 580.85 2001/12/02 23:27:01 ajc
- * Removed references to the old networker from the documentation. Did not
- write any new documentation, so what's there now is kind of sparse.
-
- Revision 580.84 2001/12/02 02:42:55 ajc
- * Implemented new room flag QR2_SYSTEM which supresses the room from all
- room listings, even for Aides (but it's still gotoable). This will be used
- for rooms which hold system configuration and message queues.
-
- Revision 580.83 2001/12/01 19:23:26 ajc
- * clientsocket.c: implement socket timeouts for read operations
-
- Revision 580.82 2001/12/01 17:00:23 ajc
- * serv_smtp.c: when multiple MX's are the same preference, randomize them
-
- Revision 580.81 2001/12/01 07:18:28 ajc
- * Fixed an SMTP delivery problem that was causing certain classes of
- transient errors to cause a message to never be delivered.
-
- Revision 580.80 2001/12/01 05:26:01 ajc
- * Added a command "SMTP" to the Citadel protocol, to do some unimportant
- utility/diagnostic functions.
-
- Revision 580.79 2001/11/27 17:08:29 ajc
- * When calling an external editor, set the environment variable
- WINDOW_TITLE to an appropriate value.
-
- Revision 580.78 2001/11/26 03:27:08 ajc
- * new algorithm to load the use table
-
- Revision 580.77 2001/11/17 19:55:08 ajc
- * Updated some of the documentation
-
- Revision 580.76 2001/11/16 04:43:12 ajc
- * Eliminated the sock_puts_crlf() function and ensured that all SMTP client
- commands are sent out using a single sock_write() call. There are broken
- SMTP server implementations that can't handle SMTP commands split across
- multiple writes. (Thanks to Andru Luvisi and Ben Mehlman for the idea.)
-
- Revision 580.75 2001/11/15 04:11:30 ajc
- * hack.doc: updated to reflect Cit86Net compatibility fields removed from the
- file format (since we dumbed down the gateway software)
- * ipc_c_tcp.c: removed SOCKS4 support. Nobody uses it anymore.
- * ipc_c_tcp.c: fixed a bug which caused the client to fall back to defaultPort
- if a numeric port number was specified instead of a service name
-
- 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
-
- 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.
-
- Revision 573.129 2001/04/21 04:55:51 ajc
- * Began implementation of per-message seen/unseen attribute
-
- Revision 573.128 2001/04/20 03:39:54 ajc
- * IMAP LIST/LSUB: made it case insensitive. Also minor IMAP code cleanup.
-
- Revision 573.127 2001/04/17 00:35:19 cough
- * Modified rooms.c in the client so that it would allow inviting into
- public rooms. This is important since there is now a V_LOCKOUT
- flag which prevents users who have been kicked from rejoining
- a room unless/until you invite them back in.
-
- Revision 573.126 2001/04/16 19:21:14 cough
- * Fixed bug in room_ops.c that wasn't allowing aides to goto passworded
- rooms without knowing the password.
-
- Revision 573.125 2001/04/14 04:26:44 ajc
- * Fixed an unterminated string bug in IMAP APPEND. Storing messages should
- work now.
-
- Revision 573.124 2001/04/10 01:04:10 ajc
- * Finished coding IMAP APPEND. It works, but there's a bug in it somewhere
- that is corrupting the memory.
-
- Revision 573.123 2001/04/03 00:47:23 ajc
- * Began implementing IMAP APPEND
-
- Revision 573.122 2001/04/01 22:05:44 cough
- * *Actually* fixed a botched ChangeLog entry.
-
- Revision 573.121 2001/04/01 22:04:28 cough
- * Fixed a botched ChangeLog entry.
-
- Revision 573.120 2001/04/01 22:03:10 cough
- * Changed two fclose()s to pclose()s.
-
- Revision 573.119 2001/03/25 11:52:36 error
- * serv_pop3.c: Fixed APOP. Now logs in properly. Also cleaned up some non-
- RFC-compliant error messages.
-
- Revision 573.118 2001/03/21 05:47:49 ajc
- * Added the new IMAP mailbox string compare submitted by Daniel Malament.
-
- Revision 573.117 2001/03/20 01:33:55 ajc
- * Added the (\NoInferiors) tag to all rooms listed in IMAP. This made Mozilla
- behave very nicely.
-
- Revision 573.116 2001/03/13 17:19:33 ajc
- * support (BODY[HEADER.FIELDS(BLAH BLAH BLAH)]) and HEADER.FIELDS.NOT
-
- Revision 573.115 2001/03/12 01:27:42 ajc
- * Implemented SUBSCRIBE and UNSUBSCRIBE commands
-
- Revision 573.114 2001/03/11 23:00:29 ajc
- * Mega sexy hack to deliver express messages THROUGH IMAP! uber coolness!!
-
- Revision 573.113 2001/03/11 22:09:20 ajc
- * Replaced the "citlogin" binary wrapper with the "loginwrapper.sh" script.
-
- Revision 573.112 2001/03/11 20:06:53 ajc
- * Fixed bug that created incorrect roomnames when sending pages
-
- Revision 573.111 2001/03/11 19:23:32 ajc
- * IMAP DELETE command ... also split up access control for room delete cmds
-
- Revision 573.110 2001/03/10 17:29:07 ajc
- * Implement proper access control for deleting messages from IMAP
-
- Revision 573.109 2001/03/07 04:02:27 ajc
- * Fixed some small IMAP bugs
-
- Revision 573.108 2001/03/06 04:44:00 ajc
- * Probable completion of STATUS, COPY, STORE, and EXPUNGE commands in IMAP
-
- Revision 573.107 2001/03/06 03:31:58 nbryant
- database-related cleanups and paranoia tests;
- fixed a transaction-leak/deadlock problem in cdb_delete;
- solved the SIGPIPE mystery (GDB stops on SIGPIPE is all it was)
-
- Revision 573.106 2001/03/05 04:59:31 ajc
- * IMAP COPY
-
- Revision 573.105 2001/03/04 23:49:41 ajc
- * IMAP EXPUNGE responses -should- be correct now
-
- Revision 573.94 2001/02/20 00:02:56 ajc
- * IMAP: implemented the STATUS command (sort of).
-
- Revision 573.93 2001/02/19 22:24:41 ajc
- * IMAP server: added untagged, unsolicited server messages for newly arrived
- messages, and messages expunged by another session.
-
- Revision 573.92 2001/02/17 05:53:35 ajc
- * Repaired the creation of page log rooms in the wrong namespace when the
- recipient does not yet have his/her log room created.
- * Rewrite "EXPI messages" to run in two passes: one to gather messages to
- purge and the next to delete them. Works better in transactionland.
-
- Revision 573.91 2001/02/14 08:11:27 error
- * citadel.rc: added RCS ID (it's about time!)
-
- Revision 573.90 2001/02/14 04:23:54 ajc
- * Fixed POP3 server responses ending in \n instead of \r\n as they should be.
- This was causing some clients (such as Pine) to lock up.
-
- Revision 573.89 2001/02/13 04:06:14 ajc
- * Worked out the remaining bugs in IMAP FETCH for the BODYSTRUCTURE and
- BODY[n] data items. I think. So much protocol crud, so little time...
-
- Revision 573.88 2001/02/13 01:18:44 ajc
- * imap fetch
-
- Revision 573.87 2001/02/12 04:31:34 ajc
- * sysdep.c ig_tcp_server() - use IPPROTO_TCP instead of getprotobyname()
-
- Revision 573.86 2001/02/08 04:45:58 ajc
- * Fixed namespace problems resulting from the automatic namespece prefixing
- added to create_room(). Also added the ability to specify "create a mailbox
- but I've already supplied the namespace prefix" for situations where the
- namespace isn't that of the logged in user.
- * Made the POP3 server response messages slightly less humorous
-
- Revision 573.85 2001/02/06 04:44:12 ajc
- * Added a floor listing (complete with \NoSelect flag) to LIST and LSUB
-
- Revision 573.84 2001/02/06 02:09:38 ajc
- * citadel.rc: changed the default for local_screen_dimensions to 1, since
- Internet users now outnumber dialup users 100 to 0.
- * room_ops.c: added a really_create option to create_room(). Also moved the
- generation of personal namespace into that function. MODULE OWNERS PLEASE
- CHECK YOUR CALLS TO AVOID MULTIPLE NAMESPACING!!
- * room_ops.c: fixed a bug in cgetfloor() that left bad pointers around
- * serv_imap.c: finished the CREATE command (finally)
-
- Revision 573.83 2001/02/05 05:20:22 ajc
- * Made some changes to functions which translate between Citadel room names
- and IMAP folder names. They're still buggy.
-
- Revision 573.82 2001/02/04 23:17:28 ajc
- * Implemented the IMAP CREATE command
-
- Revision 573.81 2001/02/04 02:40:07 ajc
- * more imap. imap sucks. die crispin die.
-
- Revision 573.80 2001/02/03 10:02:12 error
- * serv_ical.c: Verify that objects posted to My Calendar> are of type
- text/x-calendar or text/calendar; abort saving if not
-
- 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.)
-
- 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)
-
- Revision 573.23 2000/11/09 04:48:50 ajc
- * tools.c: striplt() strips all whitespace, not just spaces
-
- Revision 573.22 2000/11/07 20:47:21 ajc
- * imap_fetch.c: added a skeleton "ENVELOPE" fetch. Currently sends NIL's.
-
- Revision 573.21 2000/11/07 15:54:53 ajc
- * xx FETCH n:n BODY[pn.MIME] now works
-
- Revision 573.20 2000/11/06 05:10:01 ajc
- * Changed the mime_parser() API (again) to allow "don't decode" mode
-
- Revision 573.19 2000/10/29 18:11:07 ajc
- * Start numbering top-level MIME parts as 1, 2... not 1.1, 1.2...
-
- Revision 573.18 2000/10/28 14:14:19 error
- * msgbase.c: eliminated most gotos; a single goto in alias() remains because
- it actually makes sense to do it that way...
-
- Revision 573.17 2000/10/25 21:37:09 ajc
- * Implemented the AUTHENTICATE LOGIN command in IMAP
-
- Revision 573.16 2000/10/25 19:20:37 ajc
- * FETCH now works for ranges *and* sets, and with sequence numbers *and* UID's
-
- Revision 573.15 2000/10/24 20:39:59 ajc
- * Added RFC822, RFC822.HEADER, RFC822.SIZE, RFC822.TEXT fetch keys to IMAP
-
- Revision 573.14 2000/10/23 20:26:51 error
- * War on goto: rewrote a few easy functions to eliminate unnecessary gotos
-
- Revision 573.13 2000/10/11 23:03:44 error
- * utilsmenu: obey $PAGER environment var, if any. Default to more if neither
- $PAGER nor less is available.
-
- Revision 573.12 2000/10/11 22:55:25 error
- * citadel.c: when ansi_color=user, enable color at login, so Lobby> posts
- displayed at login are in color
-
- Revision 573.11 2000/10/11 22:47:51 error
- * domain.c: getmx() returns hostname as MX if no MX records found a la RFC 974
-
- Revision 573.10 2000/10/10 19:18:12 ajc
- * Added support of macros ALL, BODY, FAST, and FULL to the IMAP FETCH command
-
- Revision 573.9 2000/10/06 03:31:55 ajc
- * IMAP is a convoluted mess.
-
- Revision 573.8 2000/10/05 22:23:16 ajc
- * Slowly and painfully writing IMAP support
-
- Revision 573.7 2000/10/04 22:39:06 ajc
- * Added skeleton versions of the LIST and LSUB commands to the imap server
-
- Revision 573.6 2000/10/04 17:48:21 ajc
- * Allow Aides to zap rooms (site configurable setting)
-
- Revision 573.5 2000/10/03 01:45:00 ajc
- * Changed the <.A>ide <S>ysconfig <G>eneral command to explicitly allow the
- global page log room to be disabled (answer "no" to set the log room to a
- null string)
-
- Revision 573.4 2000/09/28 10:27:38 error
- * commands.c: changed stty_ctdl() to support HP/UX termios VMIN and VTIME
-
- Revision 573.3 2000/09/24 22:01:45 ajc
- * ipc_c_tcp.c: don't hardcode CTDLDIR path for unix domain sockets
-
- Revision 573.2 2000/09/21 04:16:44 ajc
- * Fixed logged_in_response() so it only displays responses during Citadel
- protocol sessions. (This was affecting POP etc.)
-
- Revision 573.1 2000/09/11 22:05:04 ajc
- * citadel.c: accept -h <host> and -p arguments, so citadel can be called
- directly by telnetd, bypassing /bin/login. It works, but not recommended at
- this time because it has to run as root.
-
- Revision 573.0 2000/09/05 18:35:22 ajc
- * Tagged everything for version 5.73 release
-
- Revision 572.39 2000/09/04 03:59:15 ajc
- IO's changes:
-
- revision 572.4
- date: 2000/09/03 06:36:01; author: error; state: Exp; lines: +5 -1
- Added HP/UX linker flag for dynamic modules to work
-
- revision 572.3
- date: 2000/09/01 06:50:00; author: error; state: Exp; lines: +8 -1
- Changed to use integer macros from typesize.h for specific bit widths
-
- Revision 572.38 2000/09/01 20:17:08 ajc
- * msgbase.c: cmd_opna() - increase desired_section buffer from 64 to 256 bytes
-
- Revision 572.37 2000/09/01 17:31:47 ajc
- * Fixed oopseth in control.c that might call fileno(NULL)
-
- Revision 572.36 2000/09/01 13:37:16 ajc
- * control.c: chown citadel.control to ctdluid when opening/creating as root
-
- Revision 572.35 2000/09/01 03:55:44 ajc
- * Fixed a few more references to the deprecated uncnsrd.mt-kisco.ny.us name
-
- Revision 572.34 2000/09/01 03:43:09 ajc
- * Added 'author' command-line arg to aidepost. Closes enhancement request
- #71 on bugzilla.
- * Put the default SMTP and POP3 ports back to 25 and 110. Now that the
- unix domain socket bug is fixed, it's ok if these binds fail.
-
- Revision 572.33 2000/08/31 23:02:15 ajc
- * ig_tcp_server() and ig_uds_server() - check to make sure queue length is
- always at least 5. Zero-length queues can cause connection lockups.
-
- Revision 572.32 2000/08/31 21:32:44 ajc
- * Still trying to fix a socket connect bug
-
- Revision 572.31 2000/08/31 16:37:08 ajc
- * docs/import-export.txt: added.
-
- Revision 572.30 2000/08/28 19:51:51 ajc
- * messages.c: cosmetic cleanup (coding convention and comments)
-
- Revision 572.29 2000/08/26 20:23:18 ajc
- * Finished up the back end code for mailing list sends. Sends now work!
-
- Revision 572.28 2000/08/24 02:48:18 ajc
- * Merged in IO ERROR's diffs to make Citadel work with HP/UX
-
- Revision 572.27 2000/08/22 02:31:47 ajc
- * nonce (for APOP-style auth) is now generated when a context is created
- instead of during protocol greeting functions.
- * Moved Citadel protocol nonce output from greeting to INFO
-
- Revision 572.26 2000/08/18 21:09:36 ajc
- * Added a little more mailing list code to serv_network.c
-
- Revision 572.25 2000/08/10 04:36:25 ajc
- * Fixed a bug in keyboard polling (in commands.c) which was causing the
- client protocol to get out of sync in certain conditions.
-
- Revision 572.24 2000/08/10 02:42:13 ajc
- * Changed all the "200 ok" responses to more descriptive strings
- * Added a *temporary* protocol sync check. Remove this!
-
- Revision 572.23 2000/08/09 17:14:34 ajc
- msgbase.c: fixed a bug in
- remove_any_whitespace_to_the_left_or_right_of_at_symbol() that was
- causing the <R>eply function to fail on names with whitespace in
- certain parts of the string. This closes Bug #56.
-
- Revision 572.22 2000/08/05 04:24:00 ajc
- * Added [idle] to client wholist display for sessions idle >15 minutes
- * Added a generic "void *userdata" field to CtdlForEachMessage()
- * More prep for mailing list handling in the server
-
- Revision 572.21 2000/07/30 04:36:12 ajc
- * Set up the SNET (Send NETwork config) and GNET (Get NETwork config) commands
- for the network overhaul.
-
- Revision 572.20 2000/07/29 05:29:19 ajc
- * Changed the format of RWHO output to provide non-masqueraded user/room/host
- names (to Aides only) as additional fields rather than an extra line of
- output.
- * Changed the client to display new RWHO fields, in the "long" wholist only.
- * Default SMTP and POP ports are now -1, not 25/110. These services must now
- be activated manually.
-
- Revision 572.19 2000/07/24 00:39:13 ajc
- * Fixed a path problem when calling netmailer from mailinglist.c
-
- Revision 572.18 2000/07/22 03:44:17 ajc
- * Prepared infrastructure for the networker rewrite
-
- Revision 572.17 2000/07/17 02:38:08 ajc
- * Completed serv_vandelay.c (importer/exporter module)
- * sendcommand.c: fix behavior of SEND_LISTING mode
- * sysdep.c: client_gets() fill buffer with "000" terminator when returning -1
-
- Revision 572.16 2000/07/14 03:06:55 ajc
- * Added .ATN (DOWN) and .ATS (SCDN 1) commands to the client
-
- Revision 572.15 2000/07/10 23:36:08 ajc
- * Another attempt to fix the crashy crashy bug in serv_vcard
- * Did more work on the Art Vandelay module
- * Replaced all instances of sprintf(tempfile, tmpnam(NULL)) with strcpy()
-
- Revision 572.14 2000/07/10 04:01:12 ajc
- * added an unfinished serv_vandelay.c (Art Vandelay module - importer/exporter)
-
- Revision 572.13 2000/07/09 02:47:40 ajc
- * Overhauled the keepalive logic in the chat client. Closes bug #20.
-
- Revision 572.12 2000/07/09 02:27:02 ajc
- * Eliminated the whole SIGINT/SIGQUIT based handling of Ctrl-O and Ctrl-C
- keyboard interrupts. Replaced with a non-blocking check for keyboard input
- which sets the global variable 'sigcaught' if either key was pressed.
- fmout() and pprintf() switch to 'drain mode' if sigcaught is set.
- This closes Bug #18.
-
- Revision 572.11 2000/07/06 20:26:36 ajc
- * updated .Help SUMMARY
-
- Revision 572.10 2000/07/04 20:02:46 ajc
- * Fixed potential crashy crashy bug in serv_vcard.c
-
- Revision 572.9 2000/06/28 03:42:56 ajc
- * Changed the comments at the beginning of each file to a consistent format
- * Improved the parameterization of commands in the IMAP module
-
- Revision 572.8 2000/06/27 01:27:13 ajc
- * Coupla very small changes to get on the road to IMAP support
-
- Revision 572.7 2000/06/22 21:41:48 ajc
- * Made the ICQ stuff far more reliable ... by removing it!
-
- Revision 572.6 2000/06/21 03:46:20 ajc
- * IMAP is now legal but useless, supporting NOOP, LOGIN, and LOGOUT.
-
- Revision 572.5 2000/06/15 20:15:52 ajc
- * Inserted a skeleton IMAP module into the build. IT DOES NOT WORK AT ALL.
-
- Revision 572.4 2000/06/04 02:30:56 ajc
- * CtdlForEachMessage() now returns the number of messages processed. It also
- accepts the MSGS_EQ mode, for targeting a specific message number (useful
- for determining whether the specified message actually exists in a room).
- * Completed the server side of the moderation system (serv_moderate.c module
- which implements the MMOD command)
-
- Revision 572.3 2000/06/03 05:47:57 ajc
- * Replaced most of the very repetitive and very redundant access level checks
- in most commands with a single API call: CtdlAccessCheck()
- * serv_moderate.c: added (not finished)
-
- Revision 572.2 2000/06/02 03:38:50 ajc
- * Bind unix socket prior to TCP socket for citadel protocol
- * Fixed bug in sendcommand.c which was causing it to crash on attach
-
- Revision 572.1 2000/05/26 19:27:51 ajc
- * Changed some of the rev-level sensitive stuff to look at the actual version
- of Citadel running, not the last version with which we ran setup
- * Added a moderation system. Default filter level for new users is in the
- config file. Per-user setting is in usersupp. Moderation level of each
- message is in SuppMsgInfo. Tweaked CONF, GETU, and SETU. Read filter is
- working. Moderate message up/down commands are not here yet. See
- techdoc/moderation.txt for more info.
-
- Revision 572.0 2000/05/23 02:09:30 ajc
- * Updated docs and tagged everything for the 5.72 release
-
- Revision 571.7 2000/05/20 23:28:20 ajc
- * Fixed bug in client API that was causing netproc to crash
-
- Revision 571.6 2000/05/15 00:05:19 ajc
- * Double the retry interval for SMTP deliveries after each failed attempt.
-
- Revision 571.5 2000/05/11 03:08:47 ajc
- * serv_smtp.c: clear the relevant state buffers after an SMTP DATA command
- completes, allowing multiple messages in one session. Closes bug #58.
-
- Revision 571.4 2000/04/24 03:36:43 ajc
- * Removed references to strucmp() and struncmp(), replaced them with
- strcasecmp() and strncasecmp() as we did in the server a while ago, and
- set up the config script to figure out whether they need to be compiled
- in. Also moved them to tools.h
- * Wrote a password manager for the client
-
- Revision 571.3 2000/04/19 03:17:10 ajc
- * Don't ever expire the Local System Configuration> room
-
- Revision 571.2 2000/04/16 19:03:47 ajc
- * Minor changes to avoid host lookup for local clients
-
- Revision 571.1 2000/04/15 19:55:52 ajc
- * Fixed "Unvalidated users appear even with registration disabled" bug #36
-
- Revision 571.0 2000/04/13 02:43:24 ajc
- * Fixed a problem that crashed the client during <G>oto commands if a room
- existed with a name more than 32 characters (thanks to Magus for reporting
- this one).
- * Tagged everything and updated docs for the 5.71 release
-
- Revision 570.18 2000/04/10 01:47:22 ajc
- * More paginator changes. Shuffled code around, added pagination to a bunch
- of other functions, and replaced the old, cumbersome pagination with the
- new, easy, API-based one in everything except message output.
-
- Revision 570.17 2000/04/09 17:51:18 ajc
- * Added pprintf() (paginated version of printf) to the client-side API. Now
- any client side function can be paginated simply by changing all of the
- printf's to pprintf's. I've already done this for the user list and wholist
- (removing the old style pagination) and for "read directory."
-
- Revision 570.16 2000/04/08 04:52:48 ajc
- * Another minor stoopid little time display fix
-
- Revision 570.15 2000/04/08 03:58:12 nbryant
- * backed out the previous changes since they didn't look good on some
- xterms with a blue bold mode. just set the background color to black
- instead. this makes black-on-white terminals actually readable, if not
- particularly good looking.
-
- Revision 570.14 2000/04/08 01:36:30 nbryant
- * citadel.c, commands.c: comment out cls() as this wasn't called if
- ansi_color=user anyway, and we have no way of knowing whether the user's
- terminal does background color erase, which was the reason for adding this
- in the first place. with the recent changes to color(), the display will get
- screwed up if they *do* have background color erase. perhaps this is a job
- for terminfo.
-
- Revision 570.13 2000/04/08 00:37:42 nbryant
- * commands.c: fix color support for black-on-white color terminals such as
- CDE's dtterm. this just avoids white-on-white text; some color combinations
- such as yellow-on-white still aren't very legible due to contrast. There's
- not much I can think to do about that without affecting the look on the
- white-on-black terminals which probably account for most users.
-
- Revision 570.12 2000/04/07 20:22:34 ajc
- * Fixed am/pm bug in time display
-
- Revision 570.11 2000/04/07 19:22:45 ajc
- * For services disabled by setting port number to -1, administratively skip
- the bind instead of just allowing it to fail.
-
- Revision 570.10 2000/03/31 04:31:02 ajc
- * Quick fix to 'stats' utility to purge records with bogus timestamps
-
- Revision 570.9 2000/03/31 02:10:52 ajc
- * Caved in to pressure and enabled <R>eply in public rooms.
-
- Revision 570.8 2000/03/28 03:55:53 ajc
- * Modified <.RU> to allow search for partial match
-
- Revision 570.7 2000/03/27 03:08:19 ajc
- * Third parameter of CtdlDeleteMessages() now takes "" instead of NULL to
- specify 'any MIME type'.
-
- Revision 570.6 2000/03/27 01:14:08 nbryant
- * Makefile.in: generate parsedate.c automatically
- * configure.in: check for bison/byacc/yacc. bison seems to build cleaner
- code.
- * parsedate.c: removed from CVS
- * parsedate.y: added #include <stdlib.h> so it builds with bison
-
- Revision 570.5 2000/03/27 00:46:10 nbryant
- * First cut at Solaris fixes. There may still be some *printf("%s", NULL)
- type of issues lurking in the shadows.
-
- Revision 570.4 2000/03/25 18:29:58 nbryant
- changed my email address
-
- Revision 570.3 2000/03/23 02:41:50 ajc
- *** empty log message ***
-
- Revision 570.2 2000/03/21 03:23:24 ajc
- * Experimental new linebreak mode
-
- Revision 570.1 2000/03/20 14:43:19 ajc
- * "Brown paper bag" fix for SMTP bug (incoming long fields crash logger)
-
- Revision 570.0 2000/03/19 23:42:34 ajc
- * This is the official 5.70 release.
-
- Revision 1.494 2000/03/19 23:04:08 ajc
- * Small cosmetic change to date/time output
-
- Revision 1.493 2000/03/19 05:02:39 ajc
- * SMTP hacks to deal with AOL braindamage
-
- Revision 1.492 2000/03/18 18:18:04 ajc
- * Support multiline responses from SMTP servers when sending mail
-
- Revision 1.491 2000/03/17 16:26:57 ajc
- * Set up a private "Sent/Received Pages" room for each user
-
- Revision 1.490 2000/03/17 04:11:24 ajc
- * Moved bio-related commands out to a loadable module
-
- Revision 1.489 2000/03/16 17:58:54 smw
- Created a docs directory.
- Moved install.txt to docs.
- Added inetmailsetup.txt (Citadel server side e-mail)
- Added inetmailsetupmx.txt (local mail AND Citadel e-mail
- Added inetsiteconfig.txt (describes the .asi command)
- Added siteconfig.txt (describes .asg)
- Added chat.txt (describes changes and new chat functionality)
- Made a couple of changes to install.txt (references to new documentation)
- Added Steve Williams to copyright.txt as the document writer.
-
-Revision 1.488 2000/03/15 03:04:51 ajc
-* Added DEXP server command to disable incoming express messages.
-* <Q>uiet mode client side command to set/clear DEXP mode.
-* <K>nown rooms list displays through the paginator.
-
-Revision 1.487 2000/03/12 00:21:35 ajc
-* Removed the semi-broken "chat room" functionality in the chat system, and
- replaced it with direct mapping to the actual Citadel room the user is in.
-* Display masqueraded roomname in chat, if applicable. Fixes bug #19.
-
-Revision 1.486 2000/03/11 21:29:37 ajc
-* SM_ flags for CtdlSaveMsgPointerInRoom() need to be a bit bucket, not an
- enum, since more than one can be passed. Changed SM_DONT_BUMP_REF_COUNT
- from 3 to 4. This also fixes bug #33.
-
-Revision 1.485 2000/03/11 20:26:03 ajc
-* Reworked the <R>eply logic in messages.c - fixes bug #34
-
-Revision 1.484 2000/03/11 19:22:19 nbryant
- * commands.c: improved timing of background keepalives if connection is
- lagged
-
-Revision 1.483 2000/03/11 05:08:48 nbryant
- * commands.c: oops, that mutex stuff wasn't necessary
-
-Revision 1.482 2000/03/11 04:09:03 nbryant
- * new threaded client code for background keepalives
-
-Revision 1.481 2000/03/10 21:40:04 ajc
-* Changes to message base and networker to support Internet-style message
- ID's instead of the conventional Citadel style.
-
-Revision 1.480 2000/03/08 03:36:37 ajc
-* Shut off hostname resolution when dealing with Unix domain sockets
-* Cleaned up the 'citmail' MDA tool
-* Added POP3 and SMTP port numbers to global system configuration
-
-Revision 1.479 2000/03/07 21:54:58 ajc
-* Fixed the naming conventions and permissions for unix domain sockets.
-
-Revision 1.478 2000/03/05 07:33:23 ajc
-* Added support for protocols over Unix domain sockets.
-
-Revision 1.477 2000/03/04 22:36:23 ajc
-* Remove nulls appended to editor files during replace, edit, and print
- operations. Truncate temp files during same operations.
- Closes bugs #6 and #7.
-
-Revision 1.476 2000/03/04 05:29:18 ajc
-* Relax restrictions on editing of base rooms. Renaming is not allowed but
- all other attributes can be edited. Closes feature request #21.
-* Sending pages from the client now uses the same message editing functions
- as entering messages, allowing edit/abort. Closes feature request #25.
-
-Revision 1.475 2000/03/03 04:50:14 ajc
-* Moved all of the wholist masquerading commands into the serv_rwho module
-
-Revision 1.474 2000/03/03 04:12:37 ajc
-* Finished the inbound side of gateway domain service
-
-Revision 1.473 2000/02/27 04:55:51 ajc
-* Added "keymenu()" generic menu-maker to commands.c
-* Blocked non-numeric input to intprompt() (fixes bug #16)
-
-Revision 1.472 2000/02/27 03:57:35 ajc
-* Completed 'fsck'-like reference count verifier (server and client)
-
-Revision 1.471 2000/02/26 18:30:40 ajc
-* Properly handle all aliases specified in network/mail.aliases for incoming
- SMTP mail (uses the alias() function, so if we replace that function with
- something that uses the same calling convention, it'll still work)
-
-Revision 1.470 2000/02/26 05:15:38 ajc
-* Fortified the message base and SMTP code so that misdirected bounce messages
- end up in the Aide> room instead of getting dereferenced
-* Started writing a message reference count verifier ('fsck' for message base)
-
-Revision 1.469 2000/02/25 06:14:05 ajc
-* Modularized the RWHO (Read WHO is online) command, basically as a pilot
- for modularizing all "non-API" functionality.
-
-Revision 1.468 2000/02/24 03:44:00 ajc
-* Implemented holdoff time (15 minutes) for SMTP send retry.
-* Implemented "try for 3 days and then give up" on SMTP send.
-
-Revision 1.467 2000/02/24 00:51:48 ajc
-* Client protocol synchronization check during exit from chat.
- This closes Bug #15.
-
-Revision 1.466 2000/02/22 16:37:28 ajc
-* Minor tweaks to RFC822 output to keep brain-damanged MS Outlook from dying
-
-Revision 1.465 2000/02/22 04:17:56 ajc
-* Got bounce messages working (mostly ... testers, please beat this up!)
-* Changed 'FIX' comments to 'FIXME' (less conflict, plus vim highlights it!)
-
-Revision 1.464 2000/02/18 22:29:18 ajc
-* Coded up the "bounce" functions. Still a coupla bugs.
-
-Revision 1.463 2000/02/18 05:10:50 ajc
-* Made the <.ASI> command a bit friendlier.
-* SMTP sender now pays attention to "smarthost" entries in the system's
- Internet configuration, using them if one or more is present.
-
-Revision 1.462 2000/02/17 05:27:39 ajc
-* Got the "MAIL From:" command sending the correct data. (unnnhhhhnnhhhh...)
-
-Revision 1.461 2000/02/16 22:06:26 ajc
-* Altered the display and conversion of RFC822 messages
-
-Revision 1.460 2000/02/16 03:43:28 ajc
-* Added the resolver library to the configure script
-
-Revision 1.459 2000/02/16 01:19:39 ajc
-* Vanquished the evil dn_expand() beast. getmx() now seems to be working.
-
-Revision 1.458 2000/02/14 04:36:14 ajc
-* sysdep.c: added new event hook type EVT_TIMER. Timer event hooks are called
- once per minute by any worker thread.
-* msgbase.c: removed dependence on nested functions in CtdlOutputMsg() by
- replacing them with an API call CtdlRedirectOutput() in sysdep.c, which
- can temporarily redirect a session's output to an arbitrary file or socket.
-* serv_smtp.c: implemented the purging of messages in the queue for which all
- deliveries have been completed.
-* serv_smtp.c: removed temporary 'QQQQ' server command and replaced it with
- a timer event hook that runs the queue once per minute (this needs to be
- made more robust)
-
-Revision 1.457 2000/02/08 21:00:47 ajc
-* Implemented the deprecated "LAST" command in POP3. Some clients need it.
-* POP3 sessions now set the last-read pointer in Mail>.
-
-Revision 1.456 2000/02/07 05:15:00 ajc
-* Renamed CtdlLocalHost() to CtdlHostAlias() and worked it a little deeper into
- the message routing logic. Still needs some work on the gateway-domain
- stuff.
-* Twiddled CtdlOutputMsg() a bit for 'all Internet' situations. Still needs
- some work to avoid printing dual headers when both Cit and RFC822 exist.
-
-Revision 1.455 2000/02/03 03:57:35 ajc
-* Formalized the 'Internet Configuration' logistics. Added new API call
- CtdlLocalHost() to detect aliases for the local host. Used in SMTP listener.
-
-Revision 1.454 2000/01/31 02:13:05 ajc
-* <.A>ide <S>ystem configuration <I>nternet in the client (unfinished)
-
-Revision 1.453 2000/01/26 02:41:27 ajc
-* SMTP delivery is working but still *very* rough.
-
-Revision 1.452 2000/01/25 04:45:50 ajc
-* Wrote enough of the SMTP sender to get Patriot drooling over it, but not
- enough to complete the transmission of mail.
-
-Revision 1.451 2000/01/23 21:25:45 ajc
-* Temporary hack to ig_tcp_server() to listen on an arbitrary port if the
- one specified is not bindable (for development only)
-* Added SM_DONT_BUMP_REF flag to CtdlSaveMsgPointerInRoom() to be used only
- in very specific and special situations
-* Generate delivery instructions when outbound SMTP mail is created from
- within Citadel (as opposed to being from the SMTP module)
-
-Revision 1.450 2000/01/23 05:22:41 ajc
-* Coded up some more of the SMTP-sender (still not done)
-
-Revision 1.449 2000/01/22 05:13:56 ajc
-* Added some more functionality to the string tokenizer
-
-Revision 1.448 2000/01/17 20:57:43 ajc
-* CR to CRLF hacks (lose, lose, lose)
-
-Revision 1.447 2000/01/17 18:30:27 ajc
-* Completed POP3 server. All RFC1939 commands except APOP are implemented.
-
-Revision 1.446 2000/01/17 17:09:23 ajc
-* Implemented LIST and STAT commands in the pop3 server
-
-Revision 1.445 2000/01/17 05:38:14 ajc
-* citserver.c: cleanup hook functions are now run under the proper context,
- even when initiated by the housekeeper thread
-* serv_pop3.c: establish a place to hold the message list
-
-Revision 1.444 2000/01/17 04:26:39 ajc
-* Modified CtdlOutputMsg() to handle output to arbitrary sockets or files.
- This uses nested functions and may not be portable beyond GCC...
-
-Revision 1.443 2000/01/15 18:29:15 ajc
-* Added a generic (void *) parameter to the ForEachUser() and ForEachRoom()
- callback mechanisms, to allow callers and callbacks to pass arbitrary data
- between each other without requiring TSD variables.
-* room_ops.c: eliminated the need for 'FloorBeingSearched' TSD variable
-* internet_addressing.c: eliminated 'buffer1' and 'buffer2' TSD variables
-
-Revision 1.442 2000/01/15 04:31:44 ajc
-* Removed UI_DIALOG mode in setup. Can't count on 'dialog' to be consistent.
-
-Revision 1.441 2000/01/15 04:07:17 ajc
-* Fixed the access rights on auto-created rooms (the same changes that were
- made to version 5.62 in the stable tree)
-
-Revision 1.440 2000/01/13 03:32:36 ajc
-* techdoc/delivery-list.txt: added (syntax for delivery lists)
-* domain.*: added (will contain MX lookup code)
-* internet_addressing.c, logging.c: fixed some buffer overflow bugs
-
-Revision 1.439 2000/01/12 03:56:27 ajc
-* sysdep.c: start the housekeeping thread *after* dropping root perms.
-
-Revision 1.438 2000/01/09 19:03:16 ajc
-* Removed the fifo-based protocol downloads and replaced it with a less
- elegant "download temporary file to client, then sx/sb/sz" because
- downloading through a fifo was confusing some software.
-
-Revision 1.437 2000/01/08 22:19:44 ajc
-* Completed spool to outbound delivery queue (still no queue sender implemented)
-
-Revision 1.436 2000/01/08 05:00:09 ajc
-* Reworked some of the data structures to handle multiple recipients
-* Began implementation of the delivery queue
-* Added CtdlReallocUserData()
-* CtdlSaveMsg() now returns the local message ID in the database
-
-Revision 1.435 2000/01/06 03:50:34 ajc
-* Replaced citmail.c with a new one that simply SMTP-forwards to Citadel
-* Started outbound SMTP queue work
-
-Revision 1.434 1999/12/30 04:56:29 ajc
-* Got initial SMTP delivery working in a very specific situation (delivery
- to a single, local user)
-
-Revision 1.433 1999/12/29 04:44:00 ajc
-* client_chat.c: display "No message sent" if a send page is aborted.
- Closes bug #2 in bugzilla.
-
-Revision 1.432 1999/12/26 21:50:07 ajc
-* serv_vcard: don't run hooks when not logged in (such as in SMTP sessions)
-* serv_pop3: added. This is the skeleton for a module implementing POP3.
-
-Revision 1.431 1999/12/23 04:46:23 ajc
-* "Finished" initial hack of RFC822 import
-
-Revision 1.430 1999/12/22 04:46:34 ajc
-* Fixed up the "Date:" headers to be RFC822-compliant
-
-Revision 1.429 1999/12/13 05:30:57 ajc
-* Removed our naive 'conv_date()' RFC822-to-unixtime conversion function
- and replaced it with the public domain 'parsedate()' function from UseNet
-
-Revision 1.428 1999/12/10 23:58:25 ajc
-* internet_addressing.c: added. (Internet address to Citadel mapping)
-
-Revision 1.427 1999/12/10 21:34:19 ajc
-* serv_smtp: implemented RFC821 "VRFY" and "EXPN" commands
-
-Revision 1.426 1999/12/09 05:01:14 ajc
-* Split cmd_user() and cmd_pass() into frontend/backend functions
-* serv_smtp: implemented AUTH LOGIN for client authentication
-
-Revision 1.425 1999/12/09 00:22:58 ajc
-* Finished the "arbitrary service" registration.
-* Eliminated "special" master socket for Citadel protocol - just register it
- like any other protocol.
-* Began initial implementation of native SMTP service.
-
-Revision 1.424 1999/12/08 18:09:10 ajc
-* Added CtdlRegisterServiceHook() and its data type, for implementing arbitrary
- TCP-based services directly in the Citadel server. Not finished yet.
-
-Revision 1.423 1999/11/29 17:39:07 nbryant
-* citserver.c: Solaris lacks inet_aton; use inet_addr instead
-
-Revision 1.422 1999/11/29 17:26:15 nbryant
-* citserver.c: include <sys/types.h>; may help portability to Solaris
-
-Revision 1.421 1999/11/22 00:27:42 ajc
-* Added some temporary variables to OpenCmdResult(). Hopefully fixes
- bug #14 when running on FreeBSD.
-
-Revision 1.420 1999/11/21 18:30:16 ajc
-* Protected cmd_move() from buffer overrun (no longer crashes the server)
-* cmd_chat() -- truncate input at 100 characters to prevent buffer overruns.
- Also handle broken client sockets properly. (Thanks to DME for bug report)
-
-Revision 1.419 1999/11/19 01:57:40 ajc
-* Fixed a *serious* memory leak in the database function wrappers.
-* Updated version number to 5.60 -- run setup when installing this version.
-
-Revision 1.418 1999/11/18 03:29:20 ajc
-* Changed the order of parameters in <.A>ide <S>ystem config into a more
- logical grouping.
-
-Revision 1.417 1999/11/18 02:31:50 ajc
-* Updated some of the documentation
-* Brought the internal version number up to 5.60
-
-Revision 1.416 1999/11/17 04:15:05 ajc
-* Removed the session_count() function. Instead, keep a reference count
- updated when sessions begin and end.
-* Replaced fixed number of worker threads with lower and upper limits; current
- code now tries to make thread count == session count, within these limits
-
-Revision 1.415 1999/11/15 03:17:39 ajc
-* Put lockfile in /tmp instead of in /var/lock. The latter is not guaranteed
- to exist, nor is it guaranteed to be writable by CTDLUID
- (Resolves bug #11 from the Bugzilla repository)
-
-Revision 1.414 1999/11/15 03:07:24 ajc
-* Fixed the network-wide vCard purge logic so that it (1) actually works,
- and (2) forces a netproc run immediately when a purge is entered
-
-Revision 1.413 1999/11/09 21:20:44 nbryant
-* configure.in: include <sys/types.h> when doing checks which require <utmp.h>
- (should fix Bug #10 on FreeBSD)
-
-Revision 1.412 1999/11/05 03:53:47 ajc
-* Issue 'cancel' messages for vCard when a user is deleted.
-* Try to delete 'cancel' messages locally after they've been distributed.
-
-Revision 1.411 1999/11/03 04:01:20 ajc
-* Fixed buffer overrun problems in cmd_rchg(), cmd_hchg(), and cmd_uchg()
-* Removed my email address as the feedback content from the docs; replaced
- it with a reference to the Citadel web site.
-
-Revision 1.410 1999/11/02 19:51:23 ajc
-* Fixed timeout problem for remote client sessions (all timeouts were set to
- 1 second ... probably a temporary hack that was missed in the cleanup)
-
-Revision 1.409 1999/11/02 03:03:27 ajc
-* Several fixes to msgbase.c and netproc.c to prevent corrupted incoming
- network traffic from crashing the server. Reject bad messages.
-
-Revision 1.408 1999/11/01 04:21:34 ajc
-* Fixed a concurrency bug which crashed the server when multiple sessions
- terminated simultaneously.
-
-Revision 1.407 1999/11/01 00:54:02 ajc
-* CtdlFetchMessage() - generate a "<no text>" message body if there's none
- on disk. Too much stuff goes haywire if there's no M field.
-
-Revision 1.406 1999/10/31 18:17:17 ajc
-* Fixed buffer overrun in cmd_rchg()
-* Call master_cleanup() when time_to_die==1 for proper shutdown
-
-Revision 1.405 1999/10/31 16:26:55 ajc
-* Fixed incorrect assignment of new session ID's
-
-Revision 1.404 1999/10/31 04:17:17 ajc
-* Fixed a bug which was crashing the server during very long message entry.
-
-Revision 1.403 1999/10/29 01:48:45 ajc
-* database.c: Removed arbitrary limit on maximum number of sessions
-
-Revision 1.402 1999/10/29 01:03:03 ajc
-* Debugged all possible ways for a session to terminate; do them cleanly.
-* Assign session numbers in a more portable and less arbitrary way.
-
-Revision 1.401 1999/10/28 19:50:55 ajc
-* Fixed a problem where the client protocol would spit out two responses
- and therefore get out of sync if ASUP command set the access level to
- 0 and therefore deleted the user (thanks to Eric McDonald)
-
-Revision 1.400 1999/10/28 05:08:49 ajc
-* Removed all of the thread cancellation cruft that is no longer necessary
-* Moved the now non-system-dependent RemoveContext() out of sysdep.c (now
- it's part of cleanup() in citserver.c)
-* Removed all references to pthread_* from all modules except sysdep.c
-
-Revision 1.399 1999/10/28 03:20:17 ajc
-* Fixed the problem of worker threads waking up prematurely.
-* 'QUIT'-terminated sessions now exit properly.
-
-Revision 1.398 1999/10/27 04:26:58 ajc
-* Initial hack of worker-thread rearchitecture. Right now it is successfully
- dispatching worker threads to active client sockets (and to the master
- socket too, of course). Removing sessions is currently broken.
-
-Revision 1.397 1999/10/26 20:20:29 ajc
-* Removed the auto-reconnect stuff... it was locking the client in an active
- loop more often than it was reconnecting.
-
-Revision 1.396 1999/10/26 13:59:11 ajc
-damn bugs
-
-Revision 1.395 1999/10/26 03:48:39 ajc
-* Shuffled around the order of events when a thread is terminating. All
- mutex operations now happen prior to the freeing of the CitContext structure,
- otherwise begin_critical_section() and end_critical_section() try to
- manipulate the context's mutex count when there isn't any context.
-
-Revision 1.394 1999/10/26 03:21:16 ajc
-* Changed a lot of strncpy() calls to safestrncpy() and replaced most of their
- hardcoded size arguments with 'sizeof' based arguments.
-
-Revision 1.393 1999/10/24 19:22:51 nbryant
- * Makefile.in, configure.in: added --enable-icq flag; made checks for
- authentication libraries more intelligent.
-
-Revision 1.392 1999/10/23 03:39:12 ajc
-* Finished moving vCard functionality to the new message base functions.
-
-Revision 1.391 1999/10/21 00:50:14 ajc
-* Finished up the flags and replication checks in CtdlSaveMsgPointerInRoom().
-
-Revision 1.390 1999/10/20 16:46:27 ajc
-* More code shuffle. Added some flags to CtdlSaveMessagePointerInRoom() and
- enabled the MOVE command to also do a "copy" operation (actually just
- creates a second link and bumps the ref count). Implemented "<C>opy" in
- the client.
-
-Revision 1.389 1999/10/20 16:07:48 ajc
-* Wholist fixes for users who are in chat mode
-
-Revision 1.388 1999/10/20 03:42:29 ajc
-* In the wholist, only show <private room> if the user viewing the list
- doesn't know that room. Otherwise show the name.
-
-Revision 1.387 1999/10/20 02:59:22 ajc
-* Code reorganization. Making it easier to move/copy messages without
- duplicating existing code.
-
-Revision 1.386 1999/10/17 02:25:18 ajc
-* Discovered a huge design flaw in the replication algorithm. Ripped it
- out and replaced it with something a bit more robust.
-
-Revision 1.385 1999/10/16 05:30:17 ajc
-* Changes to message replication code. Don't do server-side hooks during
- an ENT3 command. Also fixed a bug in cmd_whok() that caused crashes
- after a file format change.
-
-Revision 1.384 1999/10/14 03:04:16 ajc
-* Finished the netproc side of Z (zap/supersede) processing for replication
-
-Revision 1.383 1999/10/13 04:24:18 ajc
-* Added search-by-header-fields to CtdlForEachMessage(), and then to the
- server MSGS command. This will have lots of uses.
-
-Revision 1.382 1999/10/13 01:36:39 ajc
-* Starting some work on network zap (supersede) mode for replication
-
-Revision 1.381 1999/10/08 02:55:57 ajc
-* More vCard-related debugging
-
-Revision 1.380 1999/10/07 02:58:46 ajc
-* Semi-broken vCard replacement implementation in place.
-* Added "Z" (Zap, supersede) field to message format
-
-Revision 1.377 1999/10/04 03:19:52 ajc
-* We now have a housekeeping thread and a housekeeping queue.
-
-Revision 1.376 1999/10/03 21:48:21 ajc
-* Added serv_upgrade.h to automagically convert pre-5.55 format user records
- to 5.55 format user records and generate vCards.
-
-Revision 1.375 1999/09/29 21:13:17 ajc
-* CtdlWriteObject() can now store objects in personal rooms for any specified
- user -- rather than only the current user or non-personal rooms.
-
-Revision 1.374 1999/09/29 17:26:56 ajc
-* serv_vcard.c: fixed crashola bug in cmd_greg()
-* tools.c: simplified and improved the string tokenizer. Now it runs in a
- single pass with no intermediate buffer.
-
-Revision 1.373 1999/09/28 03:27:37 ajc
-* Fully migrated cmd_greg() and cmd_regi() into serv_vcard (still has bugs)
-
-Revision 1.372 1999/09/27 03:33:40 ajc
-* cmd_regi() is now in serv_vcard and writes to the vcard instead of to the
- usersupp file. Still needs tweaking.
-
-Revision 1.371 1999/09/24 03:32:19 ajc
-* "read my vCard" and "write my vCard" are written and tested.
-
-Revision 1.370 1999/09/24 02:54:17 ajc
-* Worked a little more on the vCard stuff. The serv_vcard module is now in
- place, and a "read my vcard" function is there; "write my" is next...
-
-Revision 1.369 1999/09/23 03:07:56 ajc
-* The vCard 'class' is now linked into the server, though it's not really
- functional yet. Its constructors/destructors are debugged, though.
-
-Revision 1.368 1999/09/19 21:28:33 ajc
-* Finished off the message architecture stuff with a new class of hooks to
- enable future server-side handlers.
-
-Revision 1.367 1999/09/19 15:57:06 ajc
-* migrated cmd_ent3() to CtdlSaveMessage()
-
-Revision 1.366 1999/09/19 05:13:57 ajc
-* Debugged the new version of CtdlWriteObject()
-
-Revision 1.365 1999/09/16 03:23:23 ajc
-* Did most of the migration from save_message() to CtdlSaveMsg(). The
- latter builds a "struct CtdlMessage" (so we can run server-side handlers
- against it later on), then serializes it and stores to disk.
-* BROKEN BUILD ALERT!! cmd_ent3() and CtdlWriteObject() are still not
- migrated. They are stubbed out and will MALFUNCTION if used right now!!
-
-Revision 1.364 1999/09/07 01:42:42 ajc
-* cmd_msg3() now uses serialize_message() for its output. All message
- commands will eventually exist as a "struct CtdlMessage" at some point
- so that we can install server-side handler hooks.
-
-Revision 1.363 1999/09/07 00:04:13 ajc
-* netproc.c: put outgoing messages into the use table, too -- this prevents
- locally originated messages from showing up again if a remote system is
- misconfigured and spools them back to us.
-
-Revision 1.362 1999/09/06 03:39:15 ajc
-* citadel.c: run strproc() on new passwords
-
-Revision 1.361 1999/09/03 17:50:26 playcow
-For URL view, don't prompt user to select url if there is only one. Display
-<U>RL View prompt if message contains url(s). -Ben
-
-Revision 1.360 1999/09/02 02:09:59 ajc
-* msgbase.c: new function serialize_message() for future use
-
-Revision 1.359 1999/09/01 21:09:25 ajc
-* database.c: display the GDBM version string on startup
-
-Revision 1.358 1999/09/01 02:36:34 ajc
-* Actually _enforce_ the max msg len limit
-
-Revision 1.357 1999/09/01 01:51:48 ajc
-* Added the ability to handle embedded URL's from the text client
-
-Revision 1.356 1999/09/01 01:02:47 ajc
-* Implemented "maximum message length" in global system config
-
-Revision 1.355 1999/08/31 00:57:17 ajc
-* Handle multipart/alternative properly during legacy message outputs.
- Basically it just prints the first alternative and skips the rest.
-
-Revision 1.354 1999/08/29 21:12:24 ajc
-* Made some changes to the output of MIME (especially multipart) messages.
-
-Revision 1.353 1999/08/29 19:56:43 ajc
-* HTML updates
-
-Revision 1.352 1999/08/24 02:01:03 ajc
-* html.c: added. This is an overly simplistic HTML-to-text converter.
-
-Revision 1.351 1999/08/21 18:37:29 ajc
-* Minor cosmetic cleanup. No code changes.
-
-Revision 1.350 1999/08/21 05:15:34 ajc
-* mailinglist.c, netmailer.c: fixed to allow list submissions from all posters
- on a Citadel network rather than only on the local system.
-
-Revision 1.349 1999/08/08 00:25:45 ajc
-* Made one more byte available in locate_host() and in all the structs which
- its output gets written to (client can display 24 positions but we were only
- saving 23).
-
-Revision 1.348 1999/08/07 16:34:38 nbryant
-* serv_icq.c: warning fixes
-
-Revision 1.347 1999/08/06 02:57:26 ajc
-* locate_host.c: use strdoop() and phree() instead of strdup() and free()
-* serv_icq.c: run learned IP's through Citadel's locate_host() & put in Wholist
-
-Revision 1.346 1999/08/05 17:58:59 ajc
-* RWHO command now returns express message code in postion 3
-
-Revision 1.345 1999/08/04 02:21:45 ajc
-* Fixed some bugs in the ICQ metaclient, and documented the new protocol cmds
-
-Revision 1.344 1999/08/03 11:34:35 ajc
-* Added client_icq.c and client_icq.h
-
-Revision 1.343 1999/08/03 03:14:51 ajc
-* Wrote the client side of the ICQ gateway. Now on to other projects. :)
-
-Revision 1.342 1999/08/03 01:52:06 ajc
-* Redesigned the client protocol commands for dealing with ICQ
-* Implemented page function priority ordering to prevent pages from being
- simultaneously delivered over multiple IM systems
-* Migrated serv_icq.* into the Makefile
-
-Revision 1.341 1999/08/01 21:36:30 ajc
-* EXTREME coolness. The server side of the ICQ metaclient is now working.
- It is set up using ICQL and ICQA commands, it automatically logs the user
- onto ICQ along with Citadel, and displays all non-offline ICQ contacts
- in the Wholist.
-
-Revision 1.340 1999/07/31 07:18:01 ajc
-* Restructured the express message infrastructure, adding a class of function
- hooks for the addition of multiple paging modules with message routing
-
-Revision 1.339 1999/07/30 22:20:19 ajc
-* Applied bugfix patches contributed by Vaggelis Tsirkas:
- * rooms.c: buffer overrun fix
- * room_ops.c: cmd_rdir() now behaves better when directory doesn't exist
-
-Revision 1.338 1999/07/30 03:32:24 ajc
-* Added strdoop(), a leak-checked version of strdup()
-* Small fixes to new API functions in msgbase.c
-* ICQ metaclient stores/reads config using the message base API functions
-
-Revision 1.337 1999/07/29 03:36:37 ajc
-* msgbase.c: reorganized. output_message() now uses CtdlFetchMessage(),
- cmd_msg3() now fetches directly from disk and spews to the client.
-
-Revision 1.336 1999/07/28 04:02:37 ajc
-* Server modules are now labelled with their RCS ID instead of a complex and
- manually-updated data structure.
-
-Revision 1.335 1999/07/28 03:50:24 ajc
-* serv_expire.c: expire-by-age now calls CtdlFetchMessage() instead of
- calling output_message() in MT_DATE mode.
-* msgbase.c: removed MT_DATE mode ('twas a sleazy hack)
-
-Revision 1.334 1999/07/27 22:47:26 ajc
-* Implemented new data type "CtdlMessage" which will eventually be used as
- widely as possible to represent a message in memory.
-* Implemented CtdlFetchMessage() which is intended to become the back-end to
- output_message() as well as a bunch of other things.
-
-Revision 1.333 1999/07/27 20:00:24 ajc
-Removed all references to CC->msglist and CC->num_msgs, and all utility
-functions which relied upon them. Citadel Is Now Better.
-
-Revision 1.332 1999/07/27 19:32:22 ajc
-Removed serv_upgrade.c and all references to it in Makefile.in
-Reworked new-mail-count to not use MessageFromList() etc.
-
-Revision 1.331 1999/07/25 02:59:37 ajc
-Fixed reference count problem in cmd_move()
-
-Revision 1.330 1999/07/24 22:50:38 ajc
-Continued replacing references to [get|put]_msglist() with better code.
-For some reason, cmd_msgs() still doesn't always work right.
-
-Revision 1.329 1999/07/24 22:16:41 ajc
-Experimenting with automatic updating of ChangeLog by CVS. Simply twiddle
-ChangeLog a bit (i.e. by adding or removing a newline from the end of the
-file) before issusing "cvs commit", and the comments recorded by CVS will
-automatically appear at the beginning of ChangeLog.
-
-Revision 1.328 1999/07/24 22:14:21 ajc
-cmd_move() now uses CtdlDeleteMessages().
-WARNING: build is temporarily broken. Currently removing all references
-to the "msglist" kept in CitContext. It's ugly and must die.
-
-Thu Jul 22 22:26:50 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Moved message deletion into new API function CtdlDeleteMessages()
- * Added CtdlWriteObject() to store generic data in the msgbase
- * Fixed really dumb error that prevented network msgs from posting
-
-Tue Jul 20 22:14:54 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Moved the actual work done in cmd_msgs() into a new API function
- called CtdlForEachMessage() which is supplied a callback function.
-
-Mon Jul 19 23:24:18 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Keep the (unqualified) content-type in the SuppMsgInfo record. We'll
- be using this shortly to search rooms for specific object types.
-
-Sun Jul 18 14:53:16 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Changes to dynloader et al to handle ICQ module being written
- * serv_icq.c, serv_icq.mk: added (separate makefile is temporary)
-
-1999-07-17 Nathan Bryant <bryant@cs.usm.maine.edu>
- * chkpwd.c: DELETED CVS REVISION 1.3 (backed out Art's last change)
- use 'cvs update -r 1.2 chkpwd.c; cvs update -A chkpwd.c' NOW to
- avoid problems with working directories.
- * Makefile.in: don't install chkpwd setuid if make install isn't
- being run as root.
- * citadel.spec: chmod u+s chkpwd during %install stage
-
-Fri Jul 16 18:39:04 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * PEXP and GEXP no longer trip the idle time display
- * Fixed bug which duplicated incoming private mail to Trashcan
- * Improved auto-reconnect by NOT using SIGPIPE and longjmp(); also
- implemented a 15 second delay to wait for a crashed server to restart
- * Relaxed the security check in chkpwd.c a bit; it was just flat-out
- preventing logins on my system otherwise
-
-Thu Jul 15 22:57:32 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * eliminate redundant "name" parameter in [l]putuser(), now uses
- usbuf->fullname to guarantee the correct name for the index
-
-1999-07-12 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in, configure.in: link netproc with gdbm
- * netproc.c: only include gdbm.h if HAVE_GDBM_H
- * user_ops.c: warning fix
-
-Mon Jul 12 19:51:30 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Mail is now saved in both sender and recipient mailboxes. This is
- structured in a way that will allow a separate "outbox" room and/or
- multiple recipients in the future.
-
-Sun Jul 11 18:46:48 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * netproc.c: msgfind() no longer uses the timestamp as a message-ID
- when no other message-ID is available (it screws up the loopzapper)
- * room_ops.c: eliminate room name parameter in putroom() and its ilk;
- get data from quickroom.QRname instead; prevents incorrect indexes
- * Tentative implementation of "personal rooms" (user-private namespace)
- * Added supplementary message info records for info that may change
- at some time later than when the message is saved (i.e. ref counts)
- * Implemented msg reference count increment/decrement; delete messages
- whose reference count reaches zero
-
-Wed Jul 7 23:25:09 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * control.c: create citadel.control if it doesn't exist (yikes!)
- * serv_expire.c: purge mailbox rooms belonging to non-existent users
- * user_ops.c: don't delete user's mailbox at user-delete time
-
-Mon Jul 5 17:01:29 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * utilsmenu: removed menu items for defunct utilities
-
-Mon Jun 28 16:24:10 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Changed any remaining references to UUCP, to "Internet" instead.
-
-Thu Jun 24 11:13:23 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * added server command line option "-f" to defrag databases on startup
- * control.c: better performance and reliability in [get|put]_control()
- * netproc.c: Finished the loopzapper
-
-Mon Jun 21 00:04:15 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * netproc.c: started writing a vortex checker. Not finished.
-
-Wed Jun 9 23:34:25 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Replaced all code that generated temporary filenames with calls to
- tmpnam(). Rewrote using tmpfile() where possible.
-
-Thu Jun 3 11:35:18 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * base64.c: mapped fi and fo to stdin and stdout using
- actual code rather than assignment at declaration time
- (several users of Red Hat Linux 6.0 reported problems)
-
-Fri May 21 20:05:00 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Added function CtdlGetDynamicSymbol() for dynamic symbol allocation
- * server.h: Changed discrete #define's to enum's where appropriate
- * sysdep.c: Changed the startup message to give credit to the whole
- development team :) Also made the message more GNU-ish.
-
-Thu May 20 20:01:30 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * database.c: print log messages for file defragmentations
- * citserver.c: implemented CtdlAllocUserData() and CtdlGetUserData()
- for arbitrary per-session data storage (by modules etc.) without
- having to add fields to struct CitContext
- * msgbase.c: removed "desired_section" from struct CitContext and
- implemented it using CtdlGetUserData() as a test.
-
-Wed May 19 19:30:28 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * commands.c, commands.h, routines.c: began color scheme changes
-
-1999-05-15 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: Added untested support for BSDI 4.x.
-
-1999-05-13 Nathan Bryant <bryant@cs.usm.maine.edu>
- * acconfig.h, configure.in, routines.c: fix for certain SYSV variants
- which lack utmp.ut_host
- * citadel.h, file_ops.c, msgbase.c, netproc.c, serv_chat.c: fix
- namespace collision with <sys/stream.h> on aforementioned SYSV
- variant
- * configure.in, getutline.c: check for paths.h
- * configure.in, Makefile.in: check for -lsocket and -lnsl
-
-1999-05-11 Nathan Bryant <bryant@cs.usm.maine.edu>
- * chkpwd.c: fixed excessive paranoia; it used to refuse to run when
- invoked by root and CTDLUID != 0
- * Makefile.in: ignore errors while installing /etc/pam.d/citadel
-
-1999-04-27 Art Cancro <ajc@uncensored.citadel.org>
- * file_ops.c: fixed NDOP to not crash the server if it has trouble
- with a download file
- * netpoll.c: upped default packet size
-
-Mon Apr 26 22:06:57 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Repaired IGnorant security hole blunder re. citmail
-
-Sun Apr 25 12:44:08 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * serv_chat.c: notify user of number of participants upon entering chat
- * Built the 5.53 distribution
-
-Wed Apr 21 22:23:13 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * aidepost.c: add -r flag to allow posting to rooms other than Aide>
- * serv_expire.c: now posts transcripts of all auto-purged rooms/users
-
-Tue Apr 20 12:45:55 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * messages.c: downloading more than MAX_MSGS messages now truncates
- (off the beginning of the list) rather than crashing.
-
-Mon Apr 19 12:11:48 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * whobbs.c: auto-detect when being called from a webserver, and act
- as a CGI (print HTTP headers and HTML output)
-
-1999-04-18 Nathan Bryant <bryant@cs.usm.maine.edu>
- * serv_chat.c: fixed some potential buffer overruns (thanks dme)
-
-Wed Apr 14 21:32:28 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Makefile.in: chmod 4755 citmail to prevent citmail from aborting
- when called from sendmail due to citadel.config security check
-
-1999-04-13 Nathan Bryant <bryant@cs.usm.maine.edu>
- * dynloader.c: OpenBSD places underscores in front of symbol names
- * Makefile.in: fixed a few sillies
- * aidepost.c, citmail.c, file_ops.c, logging.c, msgbase.c, netmailer.c,
- netproc.c, rcit.c, routines.c, serv_upgrade.c: fixed time_t handling
- (have to cast it to long for printf/scanf)
-
-Mon Apr 12 22:13:26 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * aidepost.c: rewrote to unlink temp file before writing to it so that
- it will automatically go away if interrupted. Also ran indent -kr -i8
-
-1999-04-12 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in, Makefile.in: taught it how to generate OpenBSD shared
- libraries
- * config.c, sysdep.c: fix -h option not setting proper modules dir
- * configure.in, citadel.spec: make --enable-chkpwd the default
- * setup.c: don't chown chkpwd
-
-1999-04-11 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: another OpenBSD fix, but we're still not quite there yet
- * serv_chat.c: warning fix
-
-Thu Apr 8 22:51:28 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * config.c: now requires a setup run for *any* rev level difference
- * Updated docs & confs for 5.53b1 release
- * setup.c: sets the 0600 permission bits on citadel.config that
- is checked for in config.c
-
-1999-04-08 Nathan Bryant <bryant@cs.usm.maine.edu>
- * citserver.c: improved is_public_client(), also if a public_client
- only supplies a numeric address, attempt to resolve it
- * locate_host.c: verify that the forward DNS matches the reverse
- * locate_host.c, locate_host.h: more general interface
- * configure.in, acconfig.h: fixes for Digital UNIX
-
-Wed Apr 7 21:36:16 EDT 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Implemented "access level required to create rooms" (client & server)
-
-1999-04-07 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: updated help messages, OpenBSD support
- * setup.c: if /etc/inittab doesn't exist, don't ask to create an
- entry in it
- * server.h, sysdep.c: fix a potential deadlock/data corruption bug
- * room_ops.c: fixed the 'gdbm error: Illegal data' message when
- deleting a room which had never been posted to
- * user_ops.c: include errno.h
- * dynloader.c: fix for OpenBSD
-
-1999-04-06 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in, configure.in, getutline.c, sysdep.c:
- fixes/bug workarounds for FreeBSD
-
-1999-04-03 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in, configure.in, chkpwd.c, acconfig.h: support for
- `chkpwd', a setuid helper program for machines which use shadow
- passwords (configure --enable-chkpwd)
- * Makefile.in, configure.in, auth.c, citadel.pam, user_ops.c: support
- for PAM or shadow passwords (configure --with-pam)
- * Makefile.in: made some messages simpler
- * citadel.spec: updated for 5.53; correct name of tarball; build with
- --enable-chkpwd and --with-pam; add defattr tags so rpm's can be
- built by non-root user
- * commands.c: cosmetic cleanup
- * config.c: (security/paranoia) check permissions on citadel.config
- * configure.in: check for ncurses if we can't find curses
- * dynloader.c: warning fix
- * sysdep.c: don't complain if initgroups() fails
- * citadel.c: fix systems with SYSV-style signal handling (e.g. libc5)
- * Makefile.in: New! Improved! Cleaner! Shinier!
-
-Sun Mar 21 14:21:47 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * messages.c: cosmetic cleanups to message reading loop
-
-Sat Mar 13 21:33:19 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * commands.c: use bright colors by default in color mode
- * citserver.c: initialize wholist fields with (not logged in) etc.
-
-1999-03-08 Nathan Bryant <bryant@cs.usm.maine.edu>
- * sysdep.c: call DLoader_Init() with an absolute path so that gdb can
- find module symbols
- * database.c: bail out if opening databases fails
-
-Sat Mar 6 01:55:55 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * serv_chat.c: use memfmout(), *not* cprintf() to transmit express
- messages. Calling cprintf() on strings >256 bytes crashes the server
- * msgbase.c: minor logging fix in save_message()
-
-1999-03-05 Nathan Bryant <bryant@cs.usm.maine.edu>
- * sysdep.c: add undocumented -r flag to citserver to prevent it from
- dropping root permissions.
- * sysdep.c: also drop supplementary groups
-
-1999-03-04 Nathan Bryant <bryant@cs.usm.maine.edu>
- * config.c: error checking in put_config()
- * setup.c: chgrp files to the login group associated with CTDLUID
- * sysdep.c: copyright 1987-1999; drop root perms; load modules and call
- master_startup() after dropping perms
-
-Wed Mar 3 00:00:55 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Prevent buffer overruns in lowercase_name in [get|put]user()
- * client_chat.c: use citedit() for page composition
-
-Sat Feb 27 07:47:36 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * rooms.c: download_to_local_disk() prompts for a filename if a blank
- filename was supplied to it (for attachments without names)
- * mime_parser.c: strip leading whitespace in content_type & disposition
-
-1999-02-24 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: improved check for pthreads
- * configure.in, routines.c, acconfig.h: check for ut_type in struct utmp
- * configure.in, Makefile.in: support for building server modules as
- relocatable objects for BSDI (which still uses a.out *gag* *choke*)
- * configure.in: compiler choice & flags for BSDI; check for libtermcap
- * database.c: don't use a critical section in open_databases()
- * housekeeping.c: use getfloor()/putfloor() instead of
- lgetfloor()/lputfloor() in check_ref_counts()
- * mime_parser.c: include <errno.h>
- * msgbase.c: include <limits.h>
- * sysdep.c: hacks for BSDI. use signals to fake thread cancellation;
- don't call master_cleanup() directly from signal handler.
- * routines.c: prototype getutline() if necessary
- * getutline.c: stupid bugfix
- * acconfig.h, configure.in, locate_host.c, server.h: work around
- nonreentrant gethostbyaddr() on BSDI
-
-Mon Feb 15 22:59:00 EST 1999 Vaggelis Tsirkas
- * citadel.c: increased hostname buffer size to handle very big names
-
-1999-02-15 Nathan Bryant <bryant@cs.usm.maine.edu>
- * sysdep.c(main): initialize alen before call to accept()
-
-1999-02-04 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: improved check for cygwin
- * configure.in, routines.c: access utmp directly instead of calling
- `who' if getutline() is available.
- * configure.in, Makefile.in, getutline.c: replace getutline() on
- systems which don't have it
- * routines.c: now always access utmp directly unless we can't find
- utmp.h
-
-1999-02-02 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Fixes for Cygwin:
- - ifdef out file download methods that require named pipes (client)
- - include pthread.h and gdbm.h only if they are present (fixes
- auto dependency generation)
- - include snprintf.h where needed
- - handle .exe suffixes for "make install"
-
-Tue Feb 2 22:15:08 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Overhauled the express messaging system (again)
-
-Mon Feb 1 19:48:04 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * messages.c: implemented client download of MIME attachments
-
-Sun Jan 31 18:29:18 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Added qpdecode.c to the distribution (decodes quoted-printable)
- * Finished the MIME parser
- * Gave MSG0 a reasonable behaviour for MIME messages
- * Added the OPNA command for downloading attachments
-
-Sat Jan 30 18:39:53 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Look for citadel.rc in current directory if not found elsewhere
- * More work on the MIME parser
- * Added base64.c to the distribution
-
-1999-01-29 Nathan Bryant <bryant@cs.usm.maine.edu>
- * fixes for IRIX (thanks to wr and family for use of the Indy):
- - use memset()/memcpy() instead of bzero()/bcopy() in all cases
- - configure updates
- - handle `long' pid's
- - a few other little bits
-
-Mon Jan 25 21:23:07 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Fixed bug in save_message() which crashed the server on mail to sysop
- * Rewrote pop_march() to be smarter about <G>oto heuristics
-
-Sat Jan 23 14:32:19 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Changed internal storage of express messages from a linked list to
- a single, resizable buffer.
- * Added a "room order" key to the room record, to allow some control
- over room listing order.
- * Made the room list commands aware of the room order key.
- * Overhauled <G>oto heuristics to pay attention to floor & room order
-
-Wed Jan 20 19:21:51 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Added some more code to the unfinished MIME parser
- * Changed module loading path to simply "modules" because after calling
- get_config(), the cwd is guaranteed to be the correct Citadel directory.
-
-Tue Jan 19 21:28:29 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Fixed a bug in the user editing command (client side)
- * Started a rewrite of the MIME parser
-
-Thu Jan 14 21:21:15 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Brought over the mime_parser from WebCit and began preliminary work
- on supporting MIME format messages.
-
-Tue Jan 12 22:30:00 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Various changes to begin work on support for MIME messages
- - Defined format type 4 for MIME
- - msgbase.c: *temporary* hacks in output_message() for Type 4
- - citmail.c: added more robust header parsing, and support
- for Type 4. Also eliminated the crappy built-in
- SMTP server.
- - Updated some of the technical documentation
-
-Sun Jan 10 13:34:36 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Fixed access to page log room
-
-Fri Jan 8 12:35:09 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * control.c: include <limits.h> to fix PATH_MAX undefined
- * serv_chat.c: made the following changes to cmd_sexp() --
- * Send zero-length message to check only, don't send
- * Send "-" message on the command line to invoke
- the SEND_LISTING transfer mode for a multi-line message
- * Added facilities to log all pages to a room (site configurable)
-
-Tue Jan 5 23:24:52 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Replaced all occurances of malloc(), realloc(), and free() in the
- server and server-modules with mallok(), reallok(), and phree().
- Wrote macros and a set of leak-tracking functions.
-
-Sun Jan 3 20:38:45 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Documentation changes
-
-Fri Jan 1 01:01:45 EST 1999 Art Cancro <ajc@uncensored.citadel.org>
- * Fixed security problem relating to private rooms
-
-Wed Dec 30 20:10:52 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * sysdep.c: put a bigger string buffer into lprintf() to avoid overruns
-
-Sat Dec 26 16:56:46 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * internetmail.config: commented this file more clearly
-
-Wed Dec 23 20:42:49 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * citadel.c: added some experimental code to automatically reconnect
- to the server if the connection is broken. For some reason, it only
- works once.
-
-Wed Dec 23 18:47:12 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * sysdep.c: ignore SIGPIPE. This keeps broken connections from
- crashing the whole server.
- * Tagged everything for the official 5.50 release.
-
-Mon Dec 21 07:54:20 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * housekeeping.c: call kill_session() with session_to_kill,
- not ccptr->cs_pid (was crashing the server)
-
-Sat Dec 19 13:57:48 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Added "-i" flag to netproc to make it skip the export phase.
- Updated other programs to call netproc in this way when appropriate.
- * Updated network.txt to reflect the usage for netproc (which has
- been wrong for several releases)
-
-Thu Dec 17 00:17:04 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Started removing the word "beta" from the docs and code.
- Preparing for an actual release.
- * msgbase.c: generate an 'I' field when requested (i.e. on locally
- originating messages. this was breaking parts of the network)
-
-1998-12-15 Art Cancro <ajc@uncensored.citadel.org>
- * msgbase.c: remove extra call to alias() which was causing
- Citadel-to-Citadel mail to fall into the bit bucket.
- * msgbase.c: fixed tempfile naming problem that could cause a new
- outgoing netmail message to overwrite another if netproc had not been
- run in between
-
-1998-12-14 Art Cancro <ajc@uncensored.citadel.org>
- * More session table stability nonsense
-
-Sun Dec 13 17:40:08 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * sysdep.c, citserver.c: (hopefully) fixed a session table concurrency
- bug which was causing the server to occasionally crash.
- * removed serv_test.so from the default build
-
-Fri Dec 11 18:50:00 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * setup.c: default value for maxsessions is now 0 (no limit)
- * room_ops.c: don't allow users to create a room called "Mail"
- * serv_expire.c: fixed "number of messages purged" display
- * commands.c: when using color, default to low-intensity colors
-
-Tue Dec 8 07:58:16 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Beta 2
-
-Sat Dec 5 01:24:03 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Added a new type of module hook for adding logging functions
- * Removed whitespace to left and right of '@' in netmail recipients
- * sysdep.c: read citadel.config _before_ initializing loadable modules
- * stats.c: fixed segfault resulting from extracting log lines
- * Ripped most of the "attachments" stuff out of both the client and
- server. (Thought of a better way to handle it ... LATER.)
-
-1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
- * setup.c: create citadel.config with mode 0600
- * Makefile.in: don't chmod sendcommand
- * serv_upgrade.c: don't create citadel.config if it doesn't already
- exist (paranoia)
- * setup.c: saner defaults for nodename and fqdn
-
-Wed Dec 2 20:37:05 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * msgbase.c: modified AddMessageToRoom() and all functions that call it
- to use a more reliable/accurate method to set quickroom.QRhighest
- * weekly.in: don't sort/purge filedir where filedir doesn't exist
-
-1998-12-02 Nathan Bryant <bryant@cs.usm.maine.edu>
- * weekly is now generated by configure
-
-Mon Nov 30 19:48:52 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * room_ops.c: added sort_msglist() to move and save operations
- * sendcommand.c: added (also updated utils.txt, weekly, Makefile.in)
- * BETA 1
-
-Sun Nov 29 23:57:39 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Fixed cmd_regi() to not display a second result code after xfer
- * Makefile.in: Removed "chmod 4755 citmail netmailer"
-
-1998-11-23 Nathan Bryant <bryant@cs.usm.maine.edu>
- * citadel.spec: added
-
-1998-11-22 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: split install target into install-exec, install-data,
- and install-doc subtargets
-
-Sat Nov 21 16:53:30 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Added a fourth color mode in the client: "user" which turns color
- on or off according to a per-user flag stored on the server. Added
- server-side support for this too, of course.
- * import.c: removed
- * serv_expire.c: finished the code to purge stale visits
- * sysdep.c: strip trailing nonprintables in client_gets()
- * routines2.c: fixed <.AS> command; all configs now work properly
- * Moved num_parms() and all the extract() type functions into tools.c
- and removed them from all other files. Linked in tools.[o|ro] there.
- * netproc.c: handled incoming file transfers to correct room directory
- * room_ops.c: fixed incorrect naming of files in info and images dirs
-
-Fri Nov 20 20:29:07 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * setup.c: removed all prompts that can be configured from within the
- client in order to simplify the setup procedure
-
-Thu Nov 19 23:28:33 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Fixed serv_upgrade.c and export5.c (found elsewhere) to use a new
- export format which treats visits as a separate section
- * serv_expire.c: began writing functions to purge rooms and visits
- (neither work yet), and added a way to call defrag_databases()
-
-Wed Nov 18 23:51:17 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Reimplemented 'visit' structs stored globally instead of as
- lists-per-user
-
-Tue Nov 17 22:37:48 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Started implementing global room numbers.
-
-Sun Nov 15 20:32:34 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * room_ops.c: mailbox rooms always appear on the main floor
- * made QR_MAILBOX rooms non-editable
- * cmd_setr() delete old room record when room name changes
- (This causes a big mess that exposes a flaw in the whole design.)
- * room_ops.c: users can delete messages from their mailboxes
-
-Thu Nov 12 23:59:13 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Rewrote cmd_rchg() and also increased the size of the "fakename"
- buffer. Overruns are probably what was causing the crashes.
- * Changed the way cmd_ent3() handles mail messages; the previous code
- rerouted all private mail to the trash.
-
-Wed Nov 11 17:57:39 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * citserver.c: slight changes to cmd_rchg() and cmd_hchg() [crashes]
- * citserver.c, msgbase.c, user_ops.c: hide the owner-prefix of mail
- rooms in a couple more places: set_wtmpsupp() and make_message()
- * sysdep.c: added an fflush() to lprintf() for "tail -f"-able logs
- * serv_expire.c: purge ops are now a command instead of a cleanup
- function. This is probably temporary as well.
- * citadel.c: fixed the way <.WL> parses the returned data from a
- TIME command.
-
-1998-11-11 Nathan Bryant <bryant@cs.usm.maine.edu>
- * serv_upgrade.c: fix uninitialized variable
-
-Wed Nov 11 00:47:32 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * msgbase.c: fixed a bug that was misrouting incoming network msgs
- * server.h, database.c: wrapped all GDBM calls in critical sections
- to avoid making those calls re-entrantly (gdbm fatal: lseek error)
-
-1998-11-10 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: link in snprintf.o where needed
-
-1998-11-09 Nathan Bryant <bryant@cs.usm.maine.edu>
- * client_chat.c: eliminate calls to sprintf()
- * commands.h, routines.c, routines2.c: warning fix
- * commands.c, control.c, cux2ascii.c, file_ops.c, import.c,
- ipc_c_tcp.c: eliminate sprintf() calls
-
-Mon Nov 9 19:15:31 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * serv_upgrade.c: added all missing fields to export/import
- * serv_expire.c: support per-user purge time when purging users
- * user_ops.c: added per-user purge time to AGUP and ASUP commands
- * routines.c: added more stuff to <.A>ide <E>dit user
-
-Sun Nov 8 22:56:53 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * serv_expire.c: created; moved message expiry from serv_test.c,
- moved user purge from userpurge.c
- * userpurge.c: deleted
- * routines2.c: finished <.AS> command
- * room_ops.c: fixed Aide room access (for some reason, the Aide
- room had the QR_MAILBOX flag set)
-
-1998-11-08 Nathan Bryant <bryant@cs.usm.maine.edu>
- * useradmin.c: really removed (cvs remove)
- * aidepost.c, citadel.c: convert all sprintf() calls to snprintf()
- * sysdep.c: fix overrun in lprintf() described by dme/Dead Monkey
- * citmail.c, citserver.c: convert all sprintf() call to snprintf()
-
-Sun Nov 8 13:19:36 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * useradmin.c: removed
- * utils.doc: removed references to useradmin and sysoputil
-
-Fri Nov 6 20:22:20 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * citadel.h (and related files): removed defunct parameters,
- c_defent and c_msgbase (erase your test system)
- * Implemented CONF server command for site-global configs
- * Shuffled yesno() and yesno_d() from routines.c to commands.c
- * commands.c: implemented boolprompt()
- * routines2.c: started adding CONF questions to <.AS> command
- * room_ops.c: began a fix for the mysterious disappearing Aide room
-
-1998-11-05 Nathan Bryant <bryant@cs.usm.maine.edu>
- * snprintf.c: warning fix propagated over from gcit
-
-1998-11-04 Nathan Bryant <bryant@cs.usm.maine.edu>
- * added RCS Id keyword strings to sources
- * citmail.c: reverted to version 1.10
-
-Wed Nov 4 10:53:13 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * messages.c: temporarily set screenwidth to a fixed value of 80
- during <P>rint operations.
-
-Mon Nov 2 12:59:03 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * setup.c: looks for 'citadel', 'bbs', or 'guest' in /etc/passwd to
- try to get a default for ctdluid if it's currently set to 0
- * citmail.c: changed usersupp.eternal to usersupp.usernum (why didn't
- it complain about this before?)
- * serv_upgrade.c: began writing an "export" command to do sidegrades
-
-Sun Nov 1 18:47:42 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * serv_upgrade.c: cosmetic changes
- * Implemented message expiry by date (this really needs to be moved
- out of serv_test.c, but where does it belong?)
-
-1998-11-01 Nathan Bryant <bryant@cs.usm.maine.edu>
- * serv_upgrade.c: warning fixes
- * acconfig.h: remove ANSI_COLOR
- * Configure, Makefile.tmpl: removed
-
-Sat Oct 31 20:48:44 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * More stoopid ANSI colour additions here and there.
- * ANSI colour selection is now in citadel.rc instead of an option in
- the configure script. "on" "off" and "auto" are available.
- * added "build.txt" to the techdoc directory, with LS's build notes
-
-1998-10-31 Nathan Bryant <bryant@cs.usm.maine.edu>
- * citadel.c, commands.c, commands.h: set background color to black
- before clearing screen, so that we can actually see text on
- black-on-white xterms.
-
-1998-10-29 Nathan Bryant <bryant@cs.usm.maine.edu>
- * rooms.c: fix color of Mail>
- * citadel.c: send ANSI detect sequence after attach_to_server() so the
- terminal doesn't send the answerback sequence to the shell if we
- can't connect.
-
-Wed Oct 28 20:20:14 EST 1998 Art Cancro <ajc@uncensored.citadel.org
- * citadel.c: Added a splash of colour to the Wholist
-
-1998-10-28 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: added comments
- * mkinstalldirs: new file to be used for `make install'
- * aclocal.m4, missing: new files, also swiped from automake
- * citadel.c: don't mung the terminal if we can't find citadel.rc
- * Makefile.in: added `install' target, `clean' removes
- *.mo, rebuild configure when configure.in changes.
- * configure.in: check for install and autoconf
- * configure.in, Makefile.in: only pass -fPIC to gcc
- * policy.c: warning fix for OSF/1 (use memset() instead of bzero())
-
-Tue Oct 27 22:25:42 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Unified the "unpacked database" format for both upgrades and
- sidegrades (also see export5.c elsewhere)
- * citserver.c: clear out cmdbuf before reading a command; some server
- commands were accidentally extracting parameters from previous cmds
- * rooms.c: removed the warning about the ineffectiveness of kicking
- users out of public rooms, because the new server can do lockouts
-
-1998-10-27 Nathan Bryant <bryant@cs.usm.maine.edu>
- * sysdep.c (client_gets), ipc_c_tcp.c (serv_gets): improved handling
- of long lines.
- * Makefile.in: partial support for VPATH builds, autodependency fix
-
-Tue Oct 27 00:08:16 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * minor documentation changes
-
-Sun Oct 25 14:57:40 EST 1998 Art Cancro <ajc@uncensored.citadel.org>
- * messages.c: fixed an oversight that was allowing attachments even
- when disabled in citadel.rc
-
-1998-10-25 Nathan Bryant <bryant@cs.usm.maine.edu>
- * routines2.c: warning fix
-
-Sat Oct 24 22:07:56 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Client: added message expiration policy questions to room edit
- * Client: added <.A>ide <S>ystem configuration command
-
-1998-10-24 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: Auto dependency generation (may require GNU make, but
- does at least function without this feature on OSF/1 make);
- Makefile is regenerated when Makefile.in changes (ditto);
- `realclean' is now known as `distclean';
- portability fixes for older Unix make utilities
- * citadel.c, citadel.h, commands.c: make client suspendable
-
-Fri Oct 23 19:34:38 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * setup.c: default node name is now obtained from uname()
- * config.c: added put_config()
- * policy.c: added, moved GetExpirePolicy() from room_ops.c
- * policy.c: implemented cmd_gpex() and cmd_spex()
-
-Wed Oct 21 22:24:48 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Mail rooms now hide their owner-prefix from the client.
- * proxy.c: added configurability and primitive message expiry
-
-1998-10-20 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.tmpl: fix to build client with old Configure script
- * configure.in: autologin defaults to enabled if crypt() is available
- * room_ops.c: fix improper null-termination bug I introduced
-
-Mon Oct 19 20:52:55 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Client ability to force display of prompts in Mail rooms, even when
- the user has prompting turned off (citadel.rc option)
-
-1998-10-16 Nathan Bryant <bryant@cs.usm.maine.edu>
- * sysdep.c (cprintf): generate a newline on truncated buffer
- * room_ops.c: exploitable overrun fixes
-
-Thu Oct 15 19:27:32 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * msgbase.c: reimplemented cmd_move()
- room_ops.c: wrote AddMessageToRoom() which is used for both entering
- and moving messages.
- * setup.c: system-default message expire policy of "number of
- messages, 150" is now a default configuration instead of a temp hack
- * proxy.c: cache dir create now dies on any error except EEXIST
-
-Wed Oct 14 22:41:16 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Misc code cleanup
-
-1998-10-13 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: don't check for -lcrypt unless autologin is enabled
- * file_ops.c: fix another overrun
-
-Mon Oct 12 15:27:21 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Killed the "rooms" subdirectory (it isn't used anymore)
- * dynloader.c: Made dynamically added server commands case-insensitive
- * import.c is now serv_upgrade.c, a module
- * Removed most of the "level 9" trace messages no longer needed
-
-1998-10-12 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: simplified to use pattern rules; files compiled with
- -D_REENTRANT go to *.ro to allow the same files to be used with both
- client and server
- * tools.c, tools.h: new files; misc routines used by both client and
- server go here. contains safestrncpy() at the moment.
- * rooms.c: fix several exploitable buffer overruns
- * sysdep.c: fix infinite loop when long lines are received from the
- client; fix exploitable buffer overrun in cprintf()
- * ipc_c_tcp.c: fix infinite loop on long line from server
- * serv_upgrade.sh: remove uncnsrd-dependent absolute path
- * .cvsignore: add *.ro
-
-Sun Oct 11 23:17:48 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Built some more of the message expiry infrastructure
-
-1998-10-11 Nathan Bryant <bryant@cs.usm.maine.edu>
- * citserver.c: fix two more overruns, one of which was preventing
- the "From Host" from showing up in the <W>ho listing.
-
-Sun Oct 11 02:51:55 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Moved "struct visit" and its associated defs from citadel.h to
- server.h where they belong
- * Set up data structures for room policies (expiry, etc.)
-
-1998-10-10 Nathan Bryant <bryant@cs.usm.maine.edu>
- * citserver.c: fix overrun which caused segv's on servers with long
- hostnames.
-
-Fri Oct 9 18:34:06 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * user_ops.c: added PurgeStaleRelationships() to do processing at
- session logout time to remove visits for rooms which no longer exist
- * user_ops.c: implemented NewMailCount()
-
-1998-10-09 Nathan Bryant <bryant@cs.usm.maine.edu>
- * serv_chat.c: fix buffer overrun that was resulting in segv's
- * serv_chat.c: fix another overrun that could cause sessions to hang,
- and cleaned up some other strncpy()-related stuff. DON'T FORGET TO
- NULL-TERMINATE DESTINATION BUFFERS AFTER STRNCPY CALLS.
-
-Fri Oct 9 13:22:37 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Implemented "lazy mode" traversal - pressing the space bar will do
- <N>ext messsage, <G>oto next room, or read <N>ew as appropriate.
- * room_ops.c: modify CtdlRoomAccess() to allow access to mailbox rooms
- only to their owners.
-
-Thu Oct 8 17:13:27 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * messages.c, citadel.rc: added the ability to display message numbers
- in the header when reading messages. I think this is butt ugly, but
- some of the DaveCode afficionados seem to like it...
-
-Thu Oct 8 15:34:45 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * room_ops.c: Added is_noneditable() function to replace all of the
- duplicated code present in all functions which edit room parameters.
-
-1998-10-08 Nathan Bryant <bryant@cs.usm.maine.edu>
- * lots of warning fixes; builds with -std1 on dec unix
- * aidepost.c, citadel.h, citmail.c, file_ops.c, msgbase.c, netmailer.c,
- netproc.c, rcit.c, server.h, stats.c, userlist.c: use time_t where
- needed
- * control.c, room_ops.c, serv_chat.c, sysdep.c: use memset() instead of
- bzero()
- * dynloader.c, dynloader.h, messages.c, server.h, sysdep.c,
- sysdep_decls.h: function pointer/prototyping fixes
- * rooms.c: use mkfifo(3) instead of system("mkfifo")
-
-1998-10-07 Nathan Bryant <bryant@cs.usm.maine.edu>
- * snprintf.c, snprintf.h: new files
- * Makefile.in, configure.in, dynloader.c, sysdep.c: support for the
- above; citserver now builds and runs on Digital Unix 4.0d with the
- GNU-style configure script. there is a bug with the hostname display
- in the wholist.
- * netproc.c: sillyness fix
- * room_ops.h: prototype delete_room()
- * client_chat.c, commands.c, serv_chat.c, sysdep.c:
- use HAVE_SYS_SELECT_H macro
-
-Mon Oct 5 17:01:32 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Began fixing the stuff I broke
-
-Sun Oct 4 23:35:18 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Did the big migration to the new data structures. Lots of stuff is
- now broken. Basic moving from room to room works, but Mail is
- broken, and some of the administrative commands are unimplemented.
-
-1998-10-02 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in: autologin now defaults to disabled
-
-Fri Oct 2 00:04:31 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Finally removed all three usersupp.foo[MAXROOMS] elements, and
- migrated all the code that used them to use "struct visit" instead.
-
-Thu Oct 1 23:02:20 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Rewrote [l][get|put]room() functions to use room names rather than
- room index numbers. Temporarily prepended a "n" to these four
- function names until they are put to use.
-
-Thu Oct 1 16:27:13 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Removed a few more references to usersupp.lastseen[]
-
-1998-10-01 Nathan Bryant <bryant@cs.usm.maine.edu>
- * .cvsignore: add so_locations (generated by osf1 ld with shared libs)
- * Makefile.in: restructured variables for greater consistency, use
- @echo to print out notices during the make process, add so_locations
- to `cleaner'
- * configure.in, Makefile.in: configure checks for -rdynamic
- * ipc_c_tcp.c: fix DEC compiler warning wrt unsigned char
- * stats.c: add semicolon to placate DREC compiler
- * user_ops.c: define _POSIX_C_SOURCE, include <limits.h>
- * configure.in: pass -pthread to DEC compiler, don't check for
- libpthread[s] on DEC Unix
-
-1998-09-30 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: new variable PTHREAD_DEFS for portability
- * aidepost.c, citadel.c, citmail.c, mailinglist.c, msgform.c,
- netmailer.c, netpoll.c, netproc.c, rcit.c, readlog.c, setup.c,
- stats.c, userlist.c, whobbs.c: return type of main() is int
- * citadel.c, commands.c, messages.c: use time_t properly
- * citserver.c: include <limits.h>
- * config.guess, config.sub, install-sh: new files
- * configure.in: don't use gcc on Digital Unix
-
-Tue Sep 29 23:17:34 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * room_ops.c: modified usergoto() to look at the new data structures
- for counting new messages and such.
-
-1998-09-29 Nathan Bryant <bryant@cs.usm.maine.edu>
- * user_ops.c: fix compiler warning and potential memory leak,
- include sysdep.h
- * configure.in, Makefile.in: only build the server if we find pthreads
- * Makefile.in: realclean removes config.{cache,log,status}
-
-Tue Sep 29 13:20:14 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Removed code from some of the utilities which was still attempting
- to access the old non-gdbm data store.
- * housekeeping.c: rewrote check_ref_counts() to do a ForEachRoom()
- traversal instead of a MAXROOMS loop.
- * sysdep.c: set up a dummy CitContext record to be used during server
- startup, during which time there is no real context.
-
-Mon Sep 28 23:51:51 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Implemented the function ForEachRoom() to handle all-rooms traversal
- (this will work with both the old and new paradigms, because both
- use a GDBM database with one room per record). Migrated all room
- list commands to use it.
-
-Mon Sep 28 22:05:35 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Implemented the function CtdlRoomAccess() to handle *all* of the
- user-access-to-rooms functionality. Migrated all room list commands
- to use it. Still need to migrate gotos.
-
-1998-09-28 Nathan Bryant <bryant@cs.usm.maine.edu>
- * configure.in, acconfig.h: new files; partially functional GNU
- autoconf configure script. Run autoheader; autoconf; ./configure
- --prefix=`pwd` to test.
- * Makefile.tmpl: new file; this is what Makefile.in used to be. Used by
- Configure.
- * Makefile.in: modified to work with autoconf-style configure script
- * Configure: modified to use Makefile.tmpl and generate autoconf-style
- macros. Removed procfs detection. Pass -O2 to gcc, -O to other
- compilers. Removed mknod/mkfifo detection; code should use mkfifo(3).
- * citmail.c, msgform.c, netproc.c, routines.c, support.c, userlist.c,
- whobbs.c: use HAVE_STRERROR macro rather than NO_STRERROR
- * commands.c: use HAVE_TERMIOS_H macro rather than POSIX_TERMIO
- * netproc.c: remove procfs stuff. simply attempt to kill the target
- process with signal zero instead; this checks whether the process
- exists.
- * setup.c, useradmin.c: use HAVE_CURSES_H macro
-
-Sun Sep 27 23:41:29 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * BOTH the old and new generation systems are being written to at
- this point. Code that reads stuff is still using the old system.
-
-Sun Sep 27 16:10:49 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Changed all "generation" variables from char to long, in preparation
- for removing MAXROOMS. Generations for new rooms are now timestamps.
- * Defined "struct visit" to hold user/room relationships.
- * Removed some #define's from citadel.h that are no longer used.
-
-Wed Sep 23 13:41:49 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * More changes to support attachments. They mostly work, but only
- in fixed-format messages.
-
-Mon Sep 21 21:19:17 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * msgbase.c: began laying the groundwork to support attachments.
- Purchased Rogaine(tm) in preparation for expected hair loss.
-
-1998-09-21 Nathan Bryant <bryant@cs.usm.maine.edu>
- * msgbase.c: include dynloader.h
- * citadelapi.h: removed
- * dynloader.h: prototype CtdlRegisterUserHook()
-
-Sun Sep 20 18:56:37 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Added a UserFunctionHook category to implement hooks which perform
- operations on various users or usernames
-
-Fri Sep 18 21:14:41 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * citserver.c: removed cmd_extn() and related code
-
-1998-09-18 Nathan Bryant <bryant@cs.usm.maine.edu>
- * user_ops.c: include dynloader.h
- * roomstats.{c,mk}: removed
- * Configure, Makefile.in: autodependency-related fixes
-
-Thu Sep 17 22:55:29 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Various changes to allow "new messages" to work correctly with Mail
-
-Thu Sep 17 22:21:45 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * server.h, dynloader.c, citserver.c, user_ops.c: reduced the number
- of hook types by inventing an EventType field to the Session hook.
- * proxy.c: added pre-fetching
-
-1998-09-17 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: add SERV_MODULES and PROXY_TARGETS to `cleaner'
- * dynloader.[ch], serv_{chat,test}.[ch], sysdep.c: cleaned
- up the dynamic loader interface as follows:
- - all the symbol table stuff is gone.
- - modules are loaded once at server startup and never unloaded.
- - Added a new function CtdlRegisterProtoHook() to handle the stuff
- that was being done with the symbol tables.
- - Dynamic_Module_Init() now returns a pointer to a static struct
- DLModule_Info; this structure itself has been modified to use char*
- fields instead of fixed char arrays.
- * roomstats.c: include <stdarg.h> not <stdargs.h> (is this file still
- in use?)
- * Configure, Makefile.in: added autodependency support
-
-Wed Sep 16 22:25:13 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Implemented separate structs, lists, and functions for each type
- of server-side hook available.
-
-1998-09-16 Nathan Bryant <bryant@cs.usm.maine.edu>
- * ipc_c_tcp.c: Fixed up some #include/prototyping stuff, call memcpy()
- instead of bcopy()
- * hooks.h: removed
- * sysdep.c, user_ops.c: removed reference to hooks.h
-
-Wed Sep 16 11:42:42 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * ipc_c_tcp.c: Reversed any changes that have been made to this file,
- because something was causing abominally slow response time.
- * proxy.c: added. This will eventually become a caching, pre-fetching
- multiuser proxy server for the Citadel protocol.
-
-1998-09-15 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: remove support.o from serv_chat.so, add -fPIC to compile
- flags for serv_chat.o
- * dynloader.c: include "sysdep_decls.h", use RTLD_NOW not RTLD_LAZY
- * dynloader.h: prototype CtdlRegisterHook()
- * .cvsignore: added data
-
-Mon Sep 14 20:49:08 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Tried my hand at adding the ability for server extensions to
- register various types of "hooks" in addition to just adding
- server commands. This is probably not final.
-
-Tue Sep 8 12:11:56 EDT 1998 Brian Costello <btx@calyx.net>
- * Added support for dynamic server modules. Reworked serv_chat.c
- to be such a module.
-
-Tue Sep 1 23:09:50 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * userpurge.c: rewrote using functions from the server core, rather
- than the now-defunct external API. This'll be ready once the module
- loading code is done. (I just had to commit _something_ tonight.)
-
-Mon Aug 31 22:47:58 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Yanked the citadelapi.c module. This wasn't working out well.
- * techdocs/citadelapi.txt - began documenting the new API to be used
- by modules which will be dynamic linked into the server - most of
- this API is existing server functions.
- * Added a ForEachUser() function with callback mechanism, and reworked
- cmd_list() to use it.
-
-Sun Aug 30 21:52:43 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Moved all of the gdbm databases to a separate "data" directory.
-
-1998-08-26 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: realclean removes Makefile, fixed `touch citadel.h'
- problem
-
-1998-08-25 Nathan Bryant <bryant@cs.usm.maine.edu>
- * room_ops.c: include time.h
- * userlist.c, whobbs.c, serv_chat.c, user_ops.c, sysdep.c, stats.c,
- citadel_decls.h, commands.c, messages.h, routines.h, routines2.h:
- remove duplicated declarations
-
-Mon Aug 24 23:45:01 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * setup.c: Removed yesno_s()
- * citadel.h, room_ops.c: added QRmtime field to struct quickroom,
- modified whenever a room is modified or posted in.
- * citadelapi.c: Added CtdlForEachRoom() function
-
-Mon Aug 24 20:04:04 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: new target `cleaner' does the same as `realclean'
- without removing sysdep.h
- * proto.h: is bad. eliminate. I've moved the prototypes into several
- header files, one per .c file
-
-Mon Aug 24 00:45:55 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Added a CtdlGotoRoom() function to the CitadelAPI.
-
-Sun Aug 23 21:47:00 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * sysoputil is finally dead! Removed it from the build.
- * Added userpurge.c server extension (initial implementation)
-
-Tue Aug 18 00:42:33 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: `clean' target no longer rm's sysdep.h; new target
- `realclean' removes everything clean does, plus sysdep.h, plus
- target binaries.
- * Configure: add -Wstrict-prototypes to CFLAGS for gcc systems
- * *.[ch]: protoized. Added several new header files containing
- prototypes and other external declarations; many duplicated
- declarations still should be moved to header files. proto.h must die
- as well, IMHO.
-
-Mon Aug 17 23:52:13 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Implemented a bunch of user account related functions in the
- CitadelAPI library.
-
-Mon Aug 17 20:01:18 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Fixed the crash problem. It wasn't AGUP/ASUP, but rather a buffer
- overrun in getuser() (thanks, Nathan). Implemented overrun checks
- in getuser(), getroom(), and getfloor() to prevent future problems.
-
-Mon Aug 17 00:06:52 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Updated citmail.c with the latest stuff from the production system.
- * Implemented AGUP and ASUP commands, but AGUP crashes the server
- after its first successful use (user-not-found's don't affect it).
-
-Thu Aug 6 19:25:01 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Got the CitadelAPI library to the point where the server can start
- up an extension, and the extension will connect to the server, do
- some initialization, call a user-supplied CtdlMain(), and exit. Also
- hacked together a _temporary_ form of the new EXTN server command.
-
-Wed Aug 5 23:02:22 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Second attempt at getting the server API started. Now it runs
- outside of the server and builds a connection.
-
-Tue Aug 4 18:33:06 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Modified the appearance of Internet addresses when they arrive on
- a Citadel system.
- * Removed the <E> field from the message format writeup in hack.txt.
- * Fixed-up citmail.c so that it doesn't try to do database lookups.
-
-Mon Aug 3 23:01:37 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Started developing the server-side API. This is in its very
- initial stages. See serverapi.c and techdoc/api.txt
-
-1998-08-02 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: added config_decls.h to dependencies
-
-Sun Aug 2 21:09:09 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
- * config_defs.h: renamed to config_decls.h
- * config.c, sysoputil.c: updated to reflect the above
-
-Sun Aug 2 18:52:05 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
- * config_defs.h: new file, contains external declarations from config.c
- * config.c: moved defs to config_defs.h, use PATH_MAX from <limits.h>
- for ctdl_home_directory
- * mailinglist.c, support.c: include <string.h>
- * sysoputil.c: include <string.h>, <limits.h>, "config_defs.h", remove
- duplicated defs, replace gets() call with fgets()
- * user_ops.c: define _XOPEN_SOURCE_EXTENDED
-
-Sat Aug 1 18:32:52 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
- * ipc_c_tcp.c: fixed order of memcpy parameters after gethostbyname
-
-Sun Jul 19 17:26:12 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
- * ChangeLog: reordered; the GNU standard is to add new entries to the
- top.
- * .cvsignore: added userlist
-
-Sun Jul 12 20:58:59 EDT 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Finished migrating everything to the new data store.
- * Replaced the binary "calllog" with the ASCII "citadel.log"
- * Began converting broken utilities that depend on the old data store
-
-Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
- * Makefile.in: removed msgstats
-
-Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
- * Initial CVS import