Art Cancro [Fri, 8 Dec 2006 21:30:50 +0000 (21:30 +0000)]
CtdlSetSeen() now silently returns without doing anything,
if it was given instructions to manipulate an array of zero messages.
Resolves bug #204 due to imap_copy() actually calling it that way
in some situations.
Art Cancro [Mon, 4 Dec 2006 17:12:22 +0000 (17:12 +0000)]
* libSieve download and build for Easy Install. (Not yet tested.)
* citadel.h no longer defines CITADEL manually, instead it pulls the package
name and version from the build tools.
* Updated the documentation slightly in prep for the 7.00 release.
Art Cancro [Sun, 3 Dec 2006 05:10:39 +0000 (05:10 +0000)]
BubbleTooltips.js is now loaded as part of the HEAD of every
page, instead of in the middle of the calendar month view. This is because
Internet Exploder displays an error when we try to enable tooltips, if the
page was loaded using HTTPS. We don't know why, aside from the usual reason that
IE sucks.
Art Cancro [Sat, 2 Dec 2006 17:24:25 +0000 (17:24 +0000)]
Removed 'position: fixed' from iconbar div. This eliminates
the 'wobbling' of the iconbar that happens when you click on it in
Firefox v1.5 and up. (Thanks to grelf for figuring this one out.)
Art Cancro [Fri, 1 Dec 2006 21:11:14 +0000 (21:11 +0000)]
* Sanitize message headers by stripping high-ascii characters
before handing them off to libSieve. Otherwise, certain
badly-formed messages (usually spam) will cause libSieve to
clobber the stack, which was crashing Citadel.
Art Cancro [Tue, 28 Nov 2006 23:01:36 +0000 (23:01 +0000)]
* Citadel setup: if the environment
variable NO_INIT_SCRIPTS is set, setup will not offer to install
init scripts. This option is to be used by packagers who wish to
build platform-specific init scripts.
Art Cancro [Tue, 28 Nov 2006 15:34:43 +0000 (15:34 +0000)]
* Brought over ctdlsvc.c from webcit
* Removed all the old LDAP stuff from setup.
* Removed all /etc/inittab hacking from setup, except for
one remaining function to clean out the old entry.
Art Cancro [Mon, 27 Nov 2006 17:34:43 +0000 (17:34 +0000)]
setup now writes the /etc/rc*.d/ links to start and
stop webcit during run level changes, if running on a system that
has a SysV init style directory layout. This *should* work on most
Linuxes, including those running upstart, but we don't know yet. It
should also work on Solaris.
WebCit is also started or restarted at the end of setup in this case.
Art Cancro [Mon, 20 Nov 2006 22:35:12 +0000 (22:35 +0000)]
Began fleshing out the Sieve script generator. Actions,
final actions, and the generation of conditional braces are done. Still need to
write the code that generates the conditional statements themeselves. Warning: don't
try to run this code on a production system. In the current state it will generate
scripts with syntax errors.
Art Cancro [Fri, 17 Nov 2006 15:03:06 +0000 (15:03 +0000)]
* Applied matt's patch to have it show a loading graphic for ajax operations
* Applied matt's patch to add javascript for other features such as the new header view
* Cleaned up the gratuitous overuse of realloc() when outputting HTML messages.
Although the code wasn't buggy, gnu malloc was choking on it.
Art Cancro [Mon, 6 Nov 2006 16:09:00 +0000 (16:09 +0000)]
Add/remove sieve scripts in WebCit is now complete.
It is now completely usable, but still requires a user who knows how to
write Sieve scripts. Now we have to implement the 'easy' rules editor.
* added message subject to all those tiny messages
* paste descriptive message into aide room, if we fail to open ports or sockets
* completed managesieve server, enable it by setup with port 2020
Art Cancro [Wed, 1 Nov 2006 05:09:08 +0000 (05:09 +0000)]
Sieve screens now allow the user to choose 'no filters'
or 'manually edited scripts', to edit the existing scripts, and to select
a script. Still need to implement 'add new script', 'delete script', and
the WebCit-managed-rules screen.
Art Cancro [Tue, 31 Oct 2006 21:00:07 +0000 (21:00 +0000)]
Changed the Sieve API -- msiv_store() etc.
There is now a 'changes_made' parameter. If set to nonzero, changes are saved
to disk; if set to zero, it just frees the data structure without writing
anything to disk.
Art Cancro [Sat, 28 Oct 2006 16:05:12 +0000 (16:05 +0000)]
New server command DLAT (DownLoad ATtachment) which
is similar to OPNA (OPeN Attachment), except it outputs the
entire MIME part in a single server operation instead of
opening a download file for block transfer. This will be useful
for grabbing small components such as calendar appointments and
address book entries with substantialy less overhead.
Art Cancro [Sat, 28 Oct 2006 04:49:40 +0000 (04:49 +0000)]
SMTP queue display:
* Chop off local node name from sender if it's from our node
* Add a delete button for each message in the queue
* Add a Refresh button for the screen (wholesome AJAX goodness)
Art Cancro [Thu, 26 Oct 2006 03:33:11 +0000 (03:33 +0000)]
VACATION and REJECT messages now appear to come from
the owner of the mailbox rather than from Citadel.
Our back end Sieve implementation is now complete.
Art Cancro [Tue, 24 Oct 2006 03:05:21 +0000 (03:05 +0000)]
Added a system of weighted preferences to the
choose_preferred() callback. This will ensure that when we parse a
multipart/alternative message, the MIME types we've declared earlier in
our preference list will always be chosen ahead of the ones we've
declared later. This will eliminate the need for the text client to
parse HTML messages when there's a perfectly good text/plain available.
Art Cancro [Sun, 22 Oct 2006 05:15:36 +0000 (05:15 +0000)]
Patches submitted by matt:
Added:
** .RC .RS Read configuration, Read system info (citadel.c)
** .> .< .+ .- Same as <>+- But skips instead. (citadel.c)
Fixed:
** .Z not displaying zapped rooms. (rooms.c)
** U .U Ungoto wasn't restoring the # of last read in rooms in which the last
message read was zero (rooms visited for the first time). The work-around I
chose was to set it to 1 instead of 0 in these cases. (rooms.c)
** .aide edituser() spaces in front of 'Permission to send internet mail'
(routines.c)
** .rb? list_bio() segfaults if no users have a bio (routines2.c)