When QP encoding, we need to convert blanks to underscores
- Spamassasin test 'BAD_ENC_HEADER' matches if a subject looks like that:
Subject: =?UTF-8?Q?=5Btestml=5D l=C3=B6sch misch ey.?=
it needs to look like that:
Subject: =?UTF-8?Q?=5Btestml=5D_l=C3=B6sch_misch_ey.?=
Art Cancro [Fri, 19 Aug 2011 19:12:50 +0000 (15:12 -0400)]
Clear selected_language when marking a guest session as inuse=0.
This prevents new visitors from seeing their first page in Chinese after Baidu comes calling.
- Ctdl_GetUtf8SequenceLength(): testbyte needs to be unsigned char, else >> will shift us new bits in from the left
- we need to shift 'test' to the right
- start counting at 0
- when encoding plain md5 binary buffers we have to pass the length into the hex encoder, add parameter
- add wrapper providing old schematic
- fix documentation of StrBufSipLine()
Fix StrHtmlEcmaEscAppend() more edge cases in utf8 handling
- Ctdl_GetUtf8SequenceLength(): return 0 for broken, 1 for non-utf8 sequences
- StrHtmlEcmaEscAppend(): another attempt to fix json appending:
- use switch instead of Rumpelstilskin if sequence
- use HKEY for our static sequences
- don't check for buffer expansion again while utf8-handling; we have 11 bytes reserved, utf8 will at most become 6 bytes
- Simply handle ASCII chars in the utf8 loop
- since aptr is moved implicitely, we mustn't move it for the last byte
- add missing handling for some escapers
- let unicode escapers pass
parse reply-to header into its permanent database field
it seems as if some mailers (Open exchange for example) add Reply-To headers; if we don't parse it when receiving it,
our list service adds another header; thus parse it into the database of headers.
while appending the [roomname] to the mailsubject, we have to
- de-qp the original subject
- search for the roomname
- possibly prepend '[roomame] '
- and re-qp everything.
that way we solve...
- multiple [roomname] additions in case of QP encoded subjects
- non RFC-Conformant behaviour in case of roomnames with umlauts.
Art Cancro [Thu, 28 Jul 2011 16:45:04 +0000 (12:45 -0400)]
Removed the Base64 encoding in RSS feed links. There was a bug in the other implementation and it was easier to just do it this way. It's all StrBuf now, which Willi will like :)
IE <9 styling with seperate stylesheet
Added conditional for IE less than version 9, removed the nonworking stuff from general stylesheets and moved them to ie_lte8.css
Also forced IE8 to use IE8 rendering instead of "legacy" mode.
- add neccessary stuff to header/trailer to make the page complete
- add URL-handlers for the summary page sections for the refreshing
- fix tokens and circumvent our singlequote bug once more.
"Fixed" issues in IE by removing PIE.htc behaviour from critical places
1. iconbar hover effect lagged awfully behind
2. messages and boxes began to fall apart when an element styled by PIE.htc was scrolled out of the #content div
This might be a bug in PIE.htc, need to check and report upstream, if so.
We are now back to edged uglyness without pretty box shadows, but usability has to be dominant until we find a proper fix
NOTE: border-radius.htc does not work on iconbar buttons, it totally messes them up!
- move the little remaining stuff & needed functionality into useredit.c
- hash users by UID, faster, plus also uniq, and more clever to search from LBIO.
- utilize the new '1' parameter to LBIO so we can quickly locate users
- modify the users found in LBIO to mark them having a bio
- templatize userlist & user detailview.
- if the user provided '1' just the UIDs are listed instead of the actual user name.
- we now use dirent and friends instead of outputting the output of the unix ls command *cough*
Art Cancro [Tue, 12 Jul 2011 04:34:54 +0000 (00:34 -0400)]
Initial implementation of the 'replying_to=' method for extracting Subject and References from Citadel using the msgnum being replied to instead of passing them back and forth through the browser. Fully in place for public rooms Reply and ReplyQuoted. Mail messages are next.
Art Cancro [Mon, 11 Jul 2011 18:46:40 +0000 (14:46 -0400)]
Allow reuse of WebCit sessions currently resident in memory by unbinding unless the session is logged in or explicitly provided a session cookie. This prevents cookieless web spiders from flooding the session table.