* shrink default buffer size from 4K to 64 bytes. Applications that know they need a bigger size should use NewStrBufPlain(NULL, <wanted size>) so we don't get to much reallocs.
Art Cancro [Thu, 4 Jun 2009 18:54:28 +0000 (18:54 +0000)]
* Eliminated the CtdlCopyMsgsToRoom() function, since it has been reduced to nothing more than a single call to CtdlSaveMsgPointersInRoom(). All uses of this function have been changed to CtdlSaveMsgPointersInRoom() instead.
Art Cancro [Sun, 31 May 2009 19:33:47 +0000 (19:33 +0000)]
* New session variable 'can_receive_im' which indicates that the session is running a protocol that is capable of receiving instant messages. This is not the same thing as quiet/nonquiet mode, it determines protocol, not policy. The server will now prohibit sending instant messages to sessions which cannot receive them (SMTP, POP, IMAP, etc.). Jabber sessions now only show buddies that are capable of receiving instant messages.
* move stuff from Hdr into substruct that may be easily wiped by memset 0'ing them
* Hdr now belongs to the worker_entry() so we can lower the frequency of it and its members being de/alloced
* add commandline switch to set the default size of StrBuf s
* make default strbuf size configurable
* fix moving of pointer in case of increase buf; valgrind says its not yet perfect.
* add debug code to find out optimal default buffer size and to detect where demand for bigger buffers comes from.
* streamline gettext plugin
* handle bogus requests directly via the 404 handler; move it to context_loop
* handle static content without session locking
Art Cancro [Wed, 20 May 2009 17:07:21 +0000 (17:07 +0000)]
* The code that handled session establishment via http-auth was also handling re-login via cookie data, since they both set c_username and c_password ... the extra function for cookie login wasn't being called at all so I removed it.
* When re-establishing a session, use gotoroom() instead of explicitly doing a GOTO server command. This causes the wc_view and other session data to be loaded properly.
Art Cancro [Sat, 16 May 2009 04:06:04 +0000 (04:06 +0000)]
* Titles and descriptions for site configuration tabs are now divs with class 'conftitle' and 'confdescr' instead of H1 and H2 blocks. Added CSS declarations for these styles. Now they don't look obtusely large anymore.
Art Cancro [Fri, 15 May 2009 21:29:56 +0000 (21:29 +0000)]
* CSS changes to make the rounded boxes look like rounded boxes, even on IE8, which broke them (again). Fuck Microsoft. Where's a multi-megaton nuke when I need one?
* output the mime type of the tepmlate in read_message so we can have different ones
* switch msg to set the mimetype of the template
* add eDELETE HTTP Command to msg so we can do exactly that in this situation. previously executed stuff needs to let this through to there.
Art Cancro [Tue, 12 May 2009 21:31:44 +0000 (21:31 +0000)]
* Fixed a bug that caused vnotes not to display when encapsulated in multipart/alternative because mime_content_type was used where msg4_content_type should have been used.
Art Cancro [Tue, 12 May 2009 20:53:36 +0000 (20:53 +0000)]
* Notes now display properly, regardless of whether we received the text/vnote from MSG4 or DLAT. We can add text/vnote to our MSGP declaration as soon as dothebart confirms that an inline renderer is available.
Art Cancro [Tue, 12 May 2009 20:45:34 +0000 (20:45 +0000)]
* Reversed the IsEmptyStr logic to determine whether a note is in vNote format or legacy text format. Notes are now working again, but it's still calling load_mimepart() every time.
* add more module handlers:
* start (alloc structures here; don't depend on others...)
* init (fill your structs, register with others...)
* shutdown (free your static structs etc.
* Session New: for allocation etc.
* Session Attach: on each request before it gets hot.
* Session Detach: clean up your session local stuff
* Session Destroy: the user is gone; flush your memory.
* more news: WC is set before the SessionNew; so you can use WC there.
* shuffled some more stuff arround:
* i/o related stuff
* directory calculation
* local css detection is now part of the start handler...
* all creates/frees of structures that can be done in the above handrlers is done there now.
* serv_getln now is a wrapper around existing functionality. a new temporary var in WC is used for performance reasons.
* non-buffered IO is going away completely, thus we remove the buffered suffix from the function and all places that used it so far
* set O_NONBLOCK on our server FD, hopefully this does what we want?