Art Cancro [Tue, 27 Apr 2004 03:16:31 +0000 (03:16 +0000)]
* When running on the same host as Citadel, if no key/cert are found,
symlink to Citadel's if possible.
* One server binary now forks to start both http and https servers.
Art Cancro [Fri, 23 Apr 2004 17:27:50 +0000 (17:27 +0000)]
* 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.)
Art Cancro [Wed, 21 Apr 2004 02:19:41 +0000 (02:19 +0000)]
* Got HTTPS to work with Mozilla (by twiddling stuff that I still don't
understand, but read at http://www.informit.com/articles/article.asp?p=22078
). Still doesn't work with Internet Monopolizer, though.
Art Cancro [Tue, 20 Apr 2004 02:42:54 +0000 (02:42 +0000)]
* techdoc/binaries.txt : updated, now includes WebCit instructions
* setup.c: detect when setup is run from within the Citadel/UX Ridiculously
Easy Installer and skip the directory prompt; the installer sets it.
Art Cancro [Tue, 20 Apr 2004 02:32:44 +0000 (02:32 +0000)]
* Allow setup to run seamlessly from within the Citadel/UX Ridiculously
Easy Installer by observing the values of environment variables
CITADEL_INSTALLER, CITADEL, and WEBCIT.
* 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.
Art Cancro [Tue, 13 Apr 2004 18:31:40 +0000 (18:31 +0000)]
* 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)
Art Cancro [Wed, 31 Mar 2004 02:19:09 +0000 (02:19 +0000)]
* 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.
Art Cancro [Tue, 30 Mar 2004 03:11:08 +0000 (03:11 +0000)]
* 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.
Art Cancro [Sat, 27 Mar 2004 02:33:10 +0000 (02:33 +0000)]
* 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
Art Cancro [Fri, 26 Mar 2004 05:13:15 +0000 (05:13 +0000)]
* 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.
Art Cancro [Wed, 24 Mar 2004 17:07:11 +0000 (17:07 +0000)]
* 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.
Art Cancro [Wed, 24 Mar 2004 15:04:06 +0000 (15:04 +0000)]
* 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.)
Michael Hampton [Mon, 22 Mar 2004 19:37:29 +0000 (19:37 +0000)]
* 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
Art Cancro [Sun, 21 Mar 2004 22:32:24 +0000 (22:32 +0000)]
* 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
Michael Hampton [Sun, 21 Mar 2004 17:14:46 +0000 (17:14 +0000)]
* 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!
Art Cancro [Sat, 20 Mar 2004 05:03:14 +0000 (05:03 +0000)]
* Original startup thread becomes a worker thread after initialization.
Doing otherwise turns it into a zombie (at least on Linux) and possibly
leads to other problems
* Filter out NOOP's received in chat
Art Cancro [Thu, 18 Mar 2004 04:32:24 +0000 (04:32 +0000)]
* Removed the language in README.TXT which told everyone that chat wouldn't
work with a non-local Citadel server, because that's no longer true.
* Removed the old chat applet from the static/ directory
Art Cancro [Wed, 17 Mar 2004 18:25:31 +0000 (18:25 +0000)]
* When creating a new user, auto-chain to the "edit user configuration"
screen, and subsequently auto-chain to the "edit address book entry"
screen. This creates a nice sensible workflow.
Art Cancro [Tue, 16 Mar 2004 21:09:38 +0000 (21:09 +0000)]
* 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.
Michael Hampton [Mon, 15 Mar 2004 16:47:04 +0000 (16:47 +0000)]
* 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
Michael Hampton [Mon, 15 Mar 2004 16:39:27 +0000 (16:39 +0000)]
* Multiple files: Set permissions on existing Citadel directories to prevent
access to the database by local unix users to prevent direct database reads.
Michael Hampton [Mon, 15 Mar 2004 16:36:51 +0000 (16:36 +0000)]
* 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.
Art Cancro [Mon, 15 Mar 2004 04:27:44 +0000 (04:27 +0000)]
* Chat now appears in a separate window
* Use regular frames instead of IFRAMEs for chat
* Display user's own chat text in bold+italic
* Added a "List Users" button
Art Cancro [Sun, 14 Mar 2004 06:35:47 +0000 (06:35 +0000)]
* 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
Art Cancro [Sat, 13 Mar 2004 23:26:10 +0000 (23:26 +0000)]
* 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 Mark DIE DIE DIE Crispin's brain-dead design!)
Michael Hampton [Fri, 12 Mar 2004 19:28:04 +0000 (19:28 +0000)]
* 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.)
Art Cancro [Mon, 8 Mar 2004 05:26:49 +0000 (05:26 +0000)]
* 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.