Art Cancro [Mon, 24 May 2004 01:59:16 +0000 (01:59 +0000)]
* 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.
Art Cancro [Thu, 20 May 2004 16:14:09 +0000 (16:14 +0000)]
* 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
Art Cancro [Fri, 14 May 2004 03:09:54 +0000 (03:09 +0000)]
* 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.)
Nathan Bryant [Tue, 11 May 2004 15:21:45 +0000 (15:21 +0000)]
* 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.
Art Cancro [Thu, 6 May 2004 03:38:27 +0000 (03:38 +0000)]
* 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.
Art Cancro [Mon, 3 May 2004 00:12:27 +0000 (00:12 +0000)]
* 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)
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!