Art Cancro [Wed, 17 Feb 2010 16:53:03 +0000 (16:53 +0000)]
* Switch from ldap_search_st() to ldap_search_ext_s(). The latter is not deprecated.
* Ignore the return value from ldap_search_ext_s() because it appears to be misleading. Instead, check to see whether the search returned any results (null or not null). This also fixes a potential memory leak resulting from ldap_search_ext_s() returning an error code but still populating the search results.
Art Cancro [Mon, 15 Feb 2010 22:47:57 +0000 (22:47 +0000)]
* Implemented a new way to show where the new and old messages are, that is visually consistent with the rest of the layout. TRANSLATORS: there are a few new strings; please localize
* don't flush the inbuffer on send; while this is appropriate for a citadel client, it may irretate smtp traffic
* add some debug code for the linebuffered reader so we may find it again later
* fix the linebuffered reader; some cases (like having a part of a line in the buffer, and reading more of the same line) didn't work
* if we have the chance to flush the IOBuf because of we read everything inside, take it!
* 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.