Art Cancro [Sun, 17 Feb 2008 04:56:49 +0000 (04:56 +0000)]
The auto-purger has its own thread so it needs its own
CitContext. Sharing the masterCC with housekeeping threads could be
causing data corruption issues.
Dave West [Wed, 13 Feb 2008 22:47:42 +0000 (22:47 +0000)]
When using host auth mode the user is given a default email address
based on the gecos field from the passwd file which is usually
"firstname_lastname" this results in the user not being able to receive
mail to their default username address.
To rememdy this when the user logs in for the first time we now create
the users vCard as normal and then add an alias to the vCard.
The alias is username@domain as opposed to firstname_lastname@domain.
We only add the alias if it would differ from the original address.
We only do this in host auth mode.
Dave West [Wed, 13 Feb 2008 19:04:57 +0000 (19:04 +0000)]
We are unable to purge users that have no name but the auto purger seems
to be finding some.
Altered the code so that we do not create a Users Purged message if we
try to purge a user with no name.
Instead we create a User Corrupt message containing the user number of
every user with no name.
These users shouldn't exist so we need to find out where they are coming
from.
Art Cancro [Wed, 13 Feb 2008 15:25:29 +0000 (15:25 +0000)]
Removed the 'defrag databases' stub function and command
line option from the citserver. This is a vestige of
the GDBM days and we're never going back there.
Art Cancro [Mon, 11 Feb 2008 18:23:47 +0000 (18:23 +0000)]
The external libiconv test in webcit configure was
faulty. It set the -libiconv compiler flag even if no external
libiconv was available. Fixed this by turning it into an
autoconf builtin test. Hopefully this fixes FreeBSD.
* add typedefs in citadel.h so we don't need to typedef all over the place.
* having a struct 'march' and a global variable 'march' isn't that smart. the variable is marchptr now.
* fixed some warnings and unneded inclodes.
* don't nail upload hellos to .gif as we don't need that anymore
* specify mimetype at image upload
* display the current image in the upload dialog
* specify mimetype at file upload
* display listing with mimetypes
* dummy implementation with mime-icons, just does diskette fallback atm.
* some tiny inacuracy in the translation.
* UIMG and UOPN require the client to specify a Mimetype now.
* the list file now contains this mimetype too, if there is no statement with a '/' in the expected place, we fallback to old notation and specify application/octetstream
* adjust the client library.
* in rooms.c list the [mimetype]. if s.b. doesn't like this notation, please change.
* tiny 'file'-extract, now we can detect the type of an image. and set the mimetype apropriate.
* First bits to fallback to serverwinde gettext if we don't have uselocale on that system.
Art Cancro [Fri, 8 Feb 2008 04:04:55 +0000 (04:04 +0000)]
httpdate_to_datestamp() no longer needs to temporarily
set the TZ environment variable to UTC, which is good because some systems
will fail to set it back afterwards. Instead we grab the offset from the
global 'timezone' variable and add it to tm_sec. mktime() will then
normalize the struct before converting to time_t. This fixes a bug on some
systems where the time zone would appear to spontaneously switch to UTC.
Art Cancro [Tue, 5 Feb 2008 21:13:44 +0000 (21:13 +0000)]
New option in the text client to open attachments
directly instead of saving them to a temporary file. The
fact that most Linux systems now have 'xdg-open' makes this
a big win.
Art Cancro [Sat, 2 Feb 2008 05:45:20 +0000 (05:45 +0000)]
* Thread ID's are now displayed in 0x%08lx format instead
of %ld format. This seems to be the standard.
* Added AUTHMODE_LDAP to the authentication modes in the header file.
The code itself has not been written, but the framework for cleanly
separating handlers for each auth mode is taking shape.
* if we find an '&', try to watch out for an ; within the next 6 chars. if we find a ';' we probably found an entity, and the URL is finished.
* fixiate our endpoint by a '\0' so the other fixups don't trick us.
Art Cancro [Tue, 29 Jan 2008 21:59:07 +0000 (21:59 +0000)]
Eliminated unnecessary complexity by removing support
for RFC 1893 (ESMTP enhanced status codes). This is a
stupid extension that doesn't accomplish what it intended
to, so out it goes.
Art Cancro [Tue, 29 Jan 2008 05:04:05 +0000 (05:04 +0000)]
Third try. :(
The test for libcitadel version in the configure script had too many
places where it could either break or send the build into an infinite
loop of reconfiguration. Moved the test into the citadel.h and
webcit.h header files, where they throw an error if the version is
too old.
Art Cancro [Mon, 28 Jan 2008 16:25:50 +0000 (16:25 +0000)]
* Unfinished code is now disabled.
To enable it, do 'CFLAGS=-DTECH_PREVIEW' prior to configure.
This will activate the Jabber and Wiki modules.
* Citadel and WebCit configure scripts now check to make sure that
libcitadel is current enough.
* Cleaned up some compiler warnings.
Art Cancro [Thu, 24 Jan 2008 16:43:23 +0000 (16:43 +0000)]
Fixed bug #226. The sample message supplied was
a multipart/mixed that contained nothing except an attached message/rfc822
submessage. This is quite unusual but I suppose it is legal. With no viewable
parts at the top level, webcit assumed that the message was corrupt. Changed the
code so that this is no longer an error condition. Instead of displaying an error
and jumping to the exit point, we now display nothing and jump to the portion of
read_message() that displays attachments and submessages.
Art Cancro [Wed, 23 Jan 2008 17:35:26 +0000 (17:35 +0000)]
Modified ical_dezonify() again. It seems that there
is never a need to free the icaltimezone, as it will always be one
of three things:
1. A built-in timezone (memory belongs to libical)
2. Hardcoded UTC timezone (memory belongs to libical)
3. A supplied timezone from another component (memory belongs to caller)
Removed the call to icaltimezone_free().
Dave West [Sun, 20 Jan 2008 13:52:06 +0000 (13:52 +0000)]
Now when a room is created or deleted this users icon bar is updated
immediately.
Other users will have to wait until their iconbar is refreshed (up to
300 seconds) but since they have no knowledge of when the room was
created/deleted they'll never notice.
Dave West [Sat, 19 Jan 2008 23:53:29 +0000 (23:53 +0000)]
Fix the user purge / delete thing once and for all.
When a user is deleted they are purged from the database immediately
unless they are currently logged in.
This used to rely on the autopurger purging the user at a later date.
Now when the user logs out we check to see if they have been marked for
deletion and if they have purge them immediately.
Art Cancro [Sat, 19 Jan 2008 06:51:26 +0000 (06:51 +0000)]
Aha! Finally found the culprit. Someone (possibly me) at
some point in the past decided to set the TZ environment variable
to UTC if it was empty. This is wrong because an empty TZ causes
libc to discover the timezone by other means. As a result, hosts
that were in other timezones were getting their times changed to
UTC.