* string_append_c(): use another name for buf
* imap_roomname():
* 256 is double ROOMNAMELEN; calculate it here to show the relation in place
* extract_token() gives us -1 or the stringlength, use it instead of doing another strlen a line below
* use safestrncpy()
* do_imap_match():
* while lowercasing run till \0 rather than doing strlen above
* respect the size of the target buffer...
* For-loop: assign pointers here, since we start using them here; use IsEmptyStr all over the place (also some forgotten ones...)
* CtdlClientGetLine(): we don't support Error while SSL I/O; remove it.
* client_readline_sslbuffer() put in Pos from the outside
* client_readline_sslbuffer() rewrite contents with StrBufTCP_read_buffered_line_fast() as sample
* fix imap uid fetching:
- imap_strip_headers() : fix loading of the line from the buffer
- imap_strip_headers() : split evaluation for headers_not/headers so we can more easily determine and abort if we want to print the header
- imap_strip_headers() : if ptr IS StrBufNotNULL we're done reading headers
- imap_fetch_body() : partial has to be a StrBuf too if its source is; adjust processing accordingly
* add StrBufPook which blobs out a sub-part of the string
* add StrBufStripAllBut, which aims to replace stripallbut, whose functionality is not yet all clear to me.
* add NULL protection to StrBufSub
Art Cancro [Sun, 7 Mar 2010 05:01:27 +0000 (05:01 +0000)]
* Never mind ... I understand now. Messages which were copied *in* by code between r8300 and r8431 are corrupt on-disk and cannot be rendered. Backed out my last change.
Art Cancro [Sun, 7 Mar 2010 00:19:01 +0000 (00:19 +0000)]
* msgbase.c now contains both the new and old versions of CtdlOutputPreLoadedMsg() so that I can work on other things while the new version is debugged. define NEW_COPLM to get the new version, otherwise you get the one from r8422.
* fix convert_internet_message_buf(); we forgot to append a newline here
* calculate the body start pos while iterating, so we can react the same way we did before
Art Cancro [Fri, 5 Mar 2010 21:19:07 +0000 (21:19 +0000)]
* New parameter to CtdlSaveMsgPointersInRoom() to suppress the reference count adjustment. To be used ONLY when we're going to rewrite the metadata manually. Used ONLY by serv_migrate. Everyone else HANDS OFF.
Art Cancro [Wed, 3 Mar 2010 05:29:25 +0000 (05:29 +0000)]
* Removed code from serv_chat.c that checks to see whether the final character was a newline. Moved it to memfmout() instead. memfmout() is now guaranteed to output a newline as its final character *if* it outputs any data at all.
Art Cancro [Wed, 3 Mar 2010 05:17:28 +0000 (05:17 +0000)]
* Changed strings to 'First Name' and 'Last Name' in the vcard editor to avoid namespace conflict with the strings 'First' and 'Last' in the bbsview. Also changed these strings in all existing localizations in order to avoid losing them.
Art Cancro [Tue, 2 Mar 2010 20:10:40 +0000 (20:10 +0000)]
* Slightly more computationally efficient version of memfmout() that doesn't use cprintf() and doesn't switch into kernel space one character at a time.
* rework imap tokenizer, we no longer copy the stuff around, we keep a reference in the source buffer
* we may have "unlimited" numbers of tokens
* spread the change of ConstStr all over the imap server
* lots of consts all over the whole place
* remove header of a function which was moved to libcitadel a while ago
* if UBER_VERBOSE_DEBUGGING is defined, wc_printf will wrap its output with File:Function:Line[string]
Art Cancro [Thu, 25 Feb 2010 05:21:39 +0000 (05:21 +0000)]
* Noticed that when serv_chat.c sets async_waiting to 1, it also checks to see if the target session is in CON_IDLE, and if so, switches it to CON_READY. serv_xmpp.c now does this as well. Also unified this action in both modules by creating a shared function called set_async_waiting().
Art Cancro [Tue, 23 Feb 2010 16:28:58 +0000 (16:28 +0000)]
* Tweaked some of the XMPP stanzas to include a valid 'to=' parameter. The presence of online buddies at login time is now working again in the current version of Pidgin. Unsolicited events are still not being received at all, however. This includes incoming instant messages and presence/nonpresence updates which occur during the session.
Art Cancro [Mon, 22 Feb 2010 18:30:51 +0000 (18:30 +0000)]
* Renamed the 'jabber' module to 'xmpp' module. Also renamed functions starting with jabber_ to xmpp_ . Obviously I did *not* rename any of the XML namespaces because that would break the protocol.