Art Cancro [Tue, 1 Apr 2003 05:01:08 +0000 (05:01 +0000)]
* sysdep.c: optimized MyContext() a bit, and inlined it. A little profiling
revealed that this function was getting used super heavily.
* tools.c: removed the older, slower string tokenizer functions that
weren't getting used anymore.
Art Cancro [Sun, 30 Mar 2003 06:16:52 +0000 (06:16 +0000)]
* Optimized CtdlReadMessageBody() and also gave it an option to store
messages with CRLF newlines instead of LF. This option is used when
reading SMTP in order to keep Pine from barfing on LF-terminated newlines
while decoding quoted-printable. Once again, Mark Crispin is an idiot.
Art Cancro [Sun, 30 Mar 2003 06:13:19 +0000 (06:13 +0000)]
* When reading from the server, do not treat CR as end-of-line because
there's probably an LF coming after it. Instead, keep reading to the LF
and then strip both.
* No not underline links in the icon bars
Art Cancro [Wed, 26 Mar 2003 05:17:12 +0000 (05:17 +0000)]
* Downloading of attachments was completely broken by the change to the new
protocol library. Located and fixed bugs.
* html.c: increased the conversion buffer size
Art Cancro [Tue, 18 Mar 2003 05:15:05 +0000 (05:15 +0000)]
* Applied a patch sent in by Clint Adams <schizo@debian.org> to handle
building on Debian's unstable with Berkeley DB 4.1, compiled with
the --with-db-uniquename when errno is a macro (as in glibc 2.3.1).
Art Cancro [Mon, 17 Mar 2003 04:17:41 +0000 (04:17 +0000)]
* Call to accept() was being made with an uninitialized variable for the
third argument. Changed the second and third argument to NULL and 0 because
we don't really need accept() to fill up a buffer full of information that
we'll never use. (Thanks to SteveV for reporting the bug and helping to
troubleshoot it.)
* Removed the mutex wrapper around select() because we don't need it. All
idle worker threads now block on select() and one of them will wake up when
a connection arrives.
Art Cancro [Sat, 15 Mar 2003 23:05:08 +0000 (23:05 +0000)]
* Rewrite of calendar-to-freebusy conversion functions. This one creates
freebusy in the correct format, instead of what I mistakenly assumed it
was supposed to look like. :(
Art Cancro [Sat, 15 Mar 2003 22:31:06 +0000 (22:31 +0000)]
* When scanning a user's Calendar> room for calendar events, search for
MIME parts of type text/calendar instead of assuming that the event will
always appear as part "1"
Art Cancro [Thu, 13 Mar 2003 05:20:23 +0000 (05:20 +0000)]
* Various changes to the calendar service to handle messages containing
fully encapsulated VCALENDAR components instead of only unencapsulated
VEVENT subcomponents. We have to move in this direction for compatibility
with other products.
Art Cancro [Mon, 10 Mar 2003 05:38:21 +0000 (05:38 +0000)]
* Tweaks to msgbase.c and imap_fetch.c to fix slightly incorrect byte counts
reported in the numerous variations of IMAP FETCH. This silences a number of
error messages reported by Pine.
Art Cancro [Thu, 6 Mar 2003 04:58:11 +0000 (04:58 +0000)]
* When entering a message into Citadel with authenticated SMTP, stamp the
room name as MAILROOM (Mail>) so it doesn't end up with an ugly moniker
like "0000058008.Sent Items"
Art Cancro [Wed, 5 Mar 2003 04:55:32 +0000 (04:55 +0000)]
* serv_smtp.c: when authenticated, do not log out when a RSET command is
issued. This breaks clients which carelessly issue RSET before each
message, such as Pine.
* serv_smtp.c: when authenticated, ignore envelope FROM:<xxx> sender name
and replace with address of user who authenticated. Also fixes Pine.
* serv_smtp.c: when authenticated, not only do we continue our glorious
RFC-violating condition of replacing the From: header with the user who
is logged in, but we also stamp it with their preferred Internet address
for outbound mail (which is kept in CC->cs_inet_email).
Art Cancro [Sat, 1 Mar 2003 22:07:19 +0000 (22:07 +0000)]
* New user registration, as well as existing user re-registration, now
uses the vCard editing screen.
* Administratively editing users' address book entries now works again,
mainly due to a fix in the Citadel server. Now requiring Citadel 6.06
in order to enforce this.
Art Cancro [Mon, 17 Feb 2003 05:23:20 +0000 (05:23 +0000)]
* Fixed a small bug in the GDBM backend (deprecated, but the bug was very
obvious and a kind user pointed it out)
* Removed vestiges of setjmp/longjmp from the client
* When doing .TS, don't get caught in a constant-logout loop
Art Cancro [Fri, 7 Feb 2003 04:44:17 +0000 (04:44 +0000)]
* Replaced sleep() with a function that sleeps using select() in order to
avoid potential issues with SIGALRM. Possible fix for weird behavior
when running on a Macintosh.
Art Cancro [Tue, 28 Jan 2003 15:37:12 +0000 (15:37 +0000)]
* All functions which read binary data from the server now make use of the
read_server_binary() function in tools.c
* Binary reads from server now have safety code to prevent infinite loops
* All output of MIME objects is now done with http_transmit_thing()
Art Cancro [Tue, 21 Jan 2003 04:42:12 +0000 (04:42 +0000)]
* Moved login-to-screenname code ... no longer part of CtdlTryExistingUser(),
it's now part of getuser() so it always gets called, even when looking up
addresses for mail and stuff.
Art Cancro [Sat, 18 Jan 2003 06:18:21 +0000 (06:18 +0000)]
* whobbs.c: line up the columns better
* routines2.c: when doing <.ASI> command, entering a blank hostname causes
it to abort instead of adding a new host. Also strip l/t whitespace.
Michael Hampton [Thu, 16 Jan 2003 10:04:04 +0000 (10:04 +0000)]
* ENT0 command: changed post-as username from arg 4 to arg 5; 4 was already
used as the message subject
* Convert message entry and reading to new IPC code
* Minor bugfixes throughout IPC code
Art Cancro [Thu, 16 Jan 2003 04:41:26 +0000 (04:41 +0000)]
* When displaying edit controls for time of day in the calendar, only show
minutes that are multiples of 5 ... unless the existing value is not a
multiple of 5, in which case we show that too.
Art Cancro [Thu, 16 Jan 2003 04:17:02 +0000 (04:17 +0000)]
* citadel_ipc.c: when issuing a SPEX command, send the string value for
room/floor/site instead of the number. citserver wants a string.
* ipc_c_tcp.c: don't call SSL_shutdown() from connection_died(). This just
causes it to segfault because there's no valid socket.
Art Cancro [Thu, 16 Jan 2003 03:41:46 +0000 (03:41 +0000)]
* Renamed "dynloader" to "serv_extensions" globally. We don't want people
to think we have a dynamic loader, do we? :)
* serv_*_init() is now declared in serv_extensions.h. This is definitely the
wrong place for it. It's there temporarily until we decide on a new
convention for server extensions.
* bootstrap: more reliable detection of Red Hat Linux 7.3 -- more specifically,
fewer fireworks when the host system is *not* Red Hat Linux.
Art Cancro [Wed, 15 Jan 2003 05:57:10 +0000 (05:57 +0000)]
* First cut at static-linking the citserver. Ripped out libtool and
replaced the dynloader paradigm with "server extensions" paradigm (static
linked, but still very loosely coupled by way of using the API's to
register callbacks and commands etc.) Needs more testing.