Art Cancro [Mon, 9 Feb 2004 03:37:57 +0000 (03:37 +0000)]
* Changed the thread pool management algorithm. Detecting idle time between
socket accepts was not working reliably on all systems, so we now follow
the same algorithm as the Citadel server (spawn more threads when number
of sessions < number of threads, but keep constrained to pre-defined
minimum and maximum thread count)
Art Cancro [Sat, 7 Feb 2004 04:59:21 +0000 (04:59 +0000)]
* 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.
Art Cancro [Fri, 6 Feb 2004 04:40:50 +0000 (04:40 +0000)]
* 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.
Art Cancro [Sun, 1 Feb 2004 06:19:22 +0000 (06:19 +0000)]
* 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"
Art Cancro [Sat, 31 Jan 2004 05:46:05 +0000 (05:46 +0000)]
* citadel-openldap.schema: added. (OpenLDAP schema for Citadel)
* citadel-slapd.conf: added. (Sample OpenLDAP configuration)
* serv_ldap.c: after binding to the LDAP server, create the node for the
base DN if it isn't there. When creating a node for the user, also
create a node for the user's OU if it isn't there.
Art Cancro [Sat, 24 Jan 2004 05:47:50 +0000 (05:47 +0000)]
* 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.
Art Cancro [Sat, 17 Jan 2004 22:57:54 +0000 (22:57 +0000)]
* 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.
Art Cancro [Sat, 17 Jan 2004 03:26:17 +0000 (03:26 +0000)]
* 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.
Art Cancro [Wed, 24 Dec 2003 05:02:49 +0000 (05:02 +0000)]
* 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.
Art Cancro [Tue, 23 Dec 2003 03:53:49 +0000 (03:53 +0000)]
* 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.
Nathan Bryant [Tue, 9 Dec 2003 06:39:20 +0000 (06:39 +0000)]
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.
Art Cancro [Tue, 9 Dec 2003 04:50:16 +0000 (04:50 +0000)]
* 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.
Art Cancro [Sun, 23 Nov 2003 04:39:30 +0000 (04:39 +0000)]
* Implemented SEND_LISTING mode in the session proxy
* Put together a simple 'enter message' loop (doesn't work properly yet)
* Threw in a temporary menu
Art Cancro [Sat, 22 Nov 2003 03:30:14 +0000 (03:30 +0000)]
* 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.
Art Cancro [Fri, 21 Nov 2003 18:22:19 +0000 (18:22 +0000)]
* Replaced the two-second sleep (and associated race condition) for the
session proxy to start, with a loop that attempts connection ten times
a second for ten seconds, resulting in faster, more reliable startup.
Art Cancro [Tue, 18 Nov 2003 04:58:34 +0000 (04:58 +0000)]
* Added ctdlelements.php ... this is to be used for functions which fetch
Citadel protocol data and convert it to insertable HTML.
* Implemented a first cut of a "read message" function.
Art Cancro [Thu, 13 Nov 2003 04:25:38 +0000 (04:25 +0000)]
* mime_parser.c: handle multipart *much* more efficiently now. Instead
of scanning line by line, we snag the boundaries using the Boyer-Moore
algorithm.
Art Cancro [Sun, 9 Nov 2003 17:53:47 +0000 (17:53 +0000)]
* Moved all of the session-management code from ctdlheader.php to
ctdlsession.php, leaving only a single function call. This will
hopefully make ctdlheader.php more palatable to non-programmers.
Art Cancro [Thu, 6 Nov 2003 04:25:30 +0000 (04:25 +0000)]
* 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.
Art Cancro [Sun, 2 Nov 2003 04:12:27 +0000 (04:12 +0000)]
* welcome.php: added.
* do_login.php: reworked to provide a squeaky-clean transition to
the welcome.php page. welcome.php can now contain whatever the site's
webmaster wants it to, without being clogged up with login code.
Art Cancro [Sun, 2 Nov 2003 04:02:36 +0000 (04:02 +0000)]
* Firmed up the login/logout process
* Don't allow load of pages other than login.php logout.php do_login.php
if the session is not logged in.
* Removed sessionproxy.c
Art Cancro [Sun, 2 Nov 2003 02:39:30 +0000 (02:39 +0000)]
* Added a proper CVS ID and Copyright disclaimer to every file. Other
developers and webmasters working on the project, please add your own
identities to the copyright notice of any module you work on.