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.
Art Cancro [Sun, 7 Mar 2004 21:31:17 +0000 (21:31 +0000)]
* serv_read() now zeroes out the supplied buffer (with the supplied
length) if a server read fails. This causes serv_gets() to return
instead of looping endlessly. Fixes chat problem found on linux-ppc.
Art Cancro [Fri, 5 Mar 2004 03:36:03 +0000 (03:36 +0000)]
* 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.
Art Cancro [Wed, 3 Mar 2004 05:21:36 +0000 (05:21 +0000)]
* Made the chat screen totally kick-ass sweet. The flickering reload
i-frame is now tiny and hidden, and it *appends* new chat data to
the viewable window using JavaScript. No flickering + scrollback!
* Added a help button to the chat screen.
Michael Hampton [Fri, 27 Feb 2004 17:23:22 +0000 (17:23 +0000)]
* Use syslog-compatible logging levels in lprintf(); the loglevel chosen
is passed directly to syslog(). The available levels are docuemnted in
sysdep_decls.h.
Michael Hampton [Thu, 26 Feb 2004 20:17:30 +0000 (20:17 +0000)]
* 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).
Art Cancro [Thu, 26 Feb 2004 04:08:58 +0000 (04:08 +0000)]
* Fixed a problem that made WebCit go to the "no cookies" screen instead
of the logout banner.
* Ford's latest stupid room has a name with more than 64 characters, and
we still had a 64-byte room name in the march_list struct. ooooops...
Art Cancro [Thu, 19 Feb 2004 04:12:56 +0000 (04:12 +0000)]
* 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.
Art Cancro [Wed, 18 Feb 2004 14:46:05 +0000 (14:46 +0000)]
* 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.
Art Cancro [Tue, 17 Feb 2004 16:56:51 +0000 (16:56 +0000)]
* 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.
Michael Hampton [Mon, 16 Feb 2004 15:06:45 +0000 (15:06 +0000)]
* 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.
Art Cancro [Sun, 15 Feb 2004 06:06:50 +0000 (06:06 +0000)]
* More work on IMAP TLS. Still not working correctly. :( Added in
support for server-side certificates. Now instead of failing it hangs.
VS: ----------------------------------------------------------------------