* if we delete the last message, msglist[num_msgs - 1] points into an invalid area
* qrbuf.QRhighest is set to 0 if the room is empty; this will most probably fix the problems with empty rooms appearing to have unread messages.
Art Cancro [Sat, 6 Feb 2010 20:08:35 +0000 (20:08 +0000)]
* Ok, this is it: the 'new new' bbs view is now feature complete. Messages are displayed in a simple paginated format. When the selected operation is 'read new' it goes to the page containing the first new message and then automatically scrolls down to that message.
* move serv_func.c:read_server_binary() to tcp_sockets.c: serv_read_binary()
* serv_read_binary() now knows a way to get the whole thing at once instead of scattering in 4k blocks
* close the server file in all conditions while loading images, else our facility might block in the server
* add -R commandline switch so the user can limit the blobsize if the tcp connection citserver <-> webcit is expected to be less stable
* remember the total size a downloadable file has
* use mmap to read the download file for output; this way we don't need to copy it into memory first and can let the kernel do this job
* remove the 10k transfer limit
Art Cancro [Fri, 5 Feb 2010 05:38:39 +0000 (05:38 +0000)]
* Greatly simplified the bbsview code by eliminating the concept of using a 'pivot point' where the new messages start. What I'm checking in now is just a simple paginated view where the page numbers start at zero and all contain the same number of messages. Tomorrow I will make 'read new' work correctly by making it jump to an anchor within one of those pages.
* remove unneeded vcard function...
* put the mime struct through into the vcard functions instead of just parts
* evaluate the (new) charset from part= and DLAT
Dave West [Sat, 30 Jan 2010 16:11:50 +0000 (16:11 +0000)]
Attempt to fix the crash that results from a new sessions context
not existing before the command loop is entered.
This fixes a theoretical non atomic opperation but does not seem
to cause unwanted side effects. Lets see if it cures the problem
on those systems that are seeing it regularly.
* merge from dav_rework:
* modularize the parser for load_msg_ptrs
* add parser that has the euid
* add work on the URL parsers
* unfinished: new propfind; is #ifdefed
* merge in much of the dav_rework branch: (the drift was becoming to big, no functional changes)
* make configure search for cunit
* rename struct floor to Floor, since floor was already taken by math.h
* move over most of the functions from webserver.c to sysdep.c so main() is isolated and more easy to be replaced by another main in a test-suite-binary
* add first unit test implementations
- test the LANG header parser
- start testing the floor evaluation
* add macro to register defines with just a define as param
* flip the Current room QR-Flag conditionals to _one_ conditional working with a parameter
* make the templates follow that change.
Art Cancro [Sat, 16 Jan 2010 05:11:09 +0000 (05:11 +0000)]
* When a 'read new' operation returns zero messages, make the 'older messages' link available to start reading old messages from the end instead of the beginning of the room.
Art Cancro [Fri, 15 Jan 2010 02:52:33 +0000 (02:52 +0000)]
* When an outgoing message being delivered via SMTP does not properly terminate, don't just log a warning, but also output an extra CRLF so that the dot terminator on the next line is handled by the receiver.
* create function to parse the output of goto into our folder structure
* migrate wcsessions goto fragments to a static folder instance 'CurRoom'
* make all places follow that change
* use the room structure in goto_config_room
Dave West [Sun, 10 Jan 2010 12:41:01 +0000 (12:41 +0000)]
Fix race condition that caused segfaults in imap and xmpp as seen on
uncensored.
The race was that a new connection could begin doing its greeting
function and another thread could begin the connections command loop
function before the greeting had completed setting up the connection
environment.
Art Cancro [Thu, 7 Jan 2010 15:52:39 +0000 (15:52 +0000)]
* Made the 'older messages' and 'newer messages' link text just a bit smaller. It was looking obnoxious at the previous size.
* Also configured those links to turn to a red background when the mouse hovers over them
Art Cancro [Wed, 6 Jan 2010 21:50:59 +0000 (21:50 +0000)]
* Modified configure.ac to look for gc/gc_local_alloc.h instead of gc/gc.h, since the former is what the source code is actually calling for. THIS HEADER DOES NOT APPEAR IN RED HAT OR CENTOS BUILDS OF LIBGC. Why is this in here at all?
as
modules/wiki/serv_wiki.c: In function 'wiki_rev_callback':
modules/wiki/serv_wiki.c:447: warning: cast from pointer to integer of different size
modules/wiki/serv_wiki.c:447: warning: cast from pointer to integer of different size
points out, this wasn't 64 bit clean.
* rewrite memfmout() so it doesn't split overlong lines; It now will try to output everything till the last blank, and reattempt with the next line; if that doesn't work the overlong string is outputt'ed
Art Cancro [Fri, 1 Jan 2010 07:05:49 +0000 (07:05 +0000)]
* Updated the citserver and webcit initialization banners to output a copyright date whose range now ends in 2010. Everyone please remember to update the copyright banner on each individual file if you're the first one to touch that file in 2010.
* By Mcbrittmat:
* add the room extraction mechanisms to groupdav_delete as to the other rooms
* make it actualy send the request answer with end_boost