Wilfried Göesgens [Sat, 24 Apr 2010 09:33:15 +0000 (09:33 +0000)]
* move policy.c into modules/expire/expire_policy.c, since it just controls this.
* remove all unneded includes to policy.h
* remove hardcoded reference to policy from mk_module_init.sh (hard to find...)
Art Cancro [Sat, 24 Apr 2010 05:04:20 +0000 (05:04 +0000)]
* Finally got room chat working properly. Just need to add the bells and whistles.
Wilfried Göesgens [Thu, 22 Apr 2010 19:56:41 +0000 (19:56 +0000)]
* call json_roomflr with sort parameters
Wilfried Göesgens [Wed, 21 Apr 2010 22:42:11 +0000 (22:42 +0000)]
* ParseMessageListHeaders_Detail(): don't use the tokenizer to read the subject; this works around pipes in mail subjects
Wilfried Göesgens [Wed, 21 Apr 2010 22:08:16 +0000 (22:08 +0000)]
* headers_euid() ooops, 'T' is a string!
Wilfried Göesgens [Wed, 21 Apr 2010 22:00:59 +0000 (22:00 +0000)]
* cmd_oidf(): if we don't have ha Server to authenticate against, bail with ILLEGAL_VALUE
Wilfried Göesgens [Wed, 21 Apr 2010 19:52:03 +0000 (19:52 +0000)]
* fix flags for state of rest parsing
* DAV-Message-list: expect timestamp next to the EUID
Wilfried Göesgens [Wed, 21 Apr 2010 19:20:31 +0000 (19:20 +0000)]
* headers_euid(): print out timestamp of message too, DAV needs this.
* CtdlOutputPreLoadedMsg(): initialize pointer to silence value
Art Cancro [Mon, 19 Apr 2010 15:39:22 +0000 (15:39 +0000)]
-
Art Cancro [Mon, 19 Apr 2010 14:56:57 +0000 (14:56 +0000)]
* update room chat to the new protocol. This needs a couple more tweaks but I'm checking it in to avoid conflicts with other commits
Wilfried Göesgens [Mon, 19 Apr 2010 10:20:54 +0000 (10:20 +0000)]
* add one more callback hook to the webcit DAV handler structure; this will be used to revalidate URLs, move or delete certain items referenced by URLs
* add handler vor EUID based namespaces; so far we just have the exists logic; this will be filled with the other required operations soon.
* finish REST URL parsing with 'best-guess'-room logic
Wilfried Göesgens [Mon, 19 Apr 2010 10:07:49 +0000 (10:07 +0000)]
* CompareRoomListByFloorRoomPrivFirst() add a wrapper that can be called with types for webcit internal use...
Wilfried Göesgens [Mon, 19 Apr 2010 10:05:25 +0000 (10:05 +0000)]
* add the IO-Debug statement to the comment howto build .debs with devel support
Wilfried Göesgens [Mon, 19 Apr 2010 10:01:57 +0000 (10:01 +0000)]
* client_read_to(): print a bactrace when the client socket goes away on read
Wilfried Göesgens [Mon, 19 Apr 2010 09:59:56 +0000 (09:59 +0000)]
* fix umlaut
Art Cancro [Sat, 10 Apr 2010 19:12:22 +0000 (19:12 +0000)]
* oops ... fix a syntax error
Wilfried Göesgens [Sat, 10 Apr 2010 12:31:44 +0000 (12:31 +0000)]
* according to https://support.mozilla.com/en-US/forum/1/479557 it pushes the limit by 5MB, but its still just 19 of 30 which it sends :(
Wilfried Göesgens [Sat, 10 Apr 2010 10:07:57 +0000 (10:07 +0000)]
* ReadPostData(): abort if we fail to read the whole content
* session_loop(): allocate buffers after reading post data, so we don't have to free them on error
* session_loop(): abort if reading post data fails
Wilfried Göesgens [Sat, 10 Apr 2010 09:01:25 +0000 (09:01 +0000)]
* mime_parser(), mime_decode(), the_mime_parser(); use typedef for callback functions, signature gets compacter that way
Wilfried Göesgens [Thu, 8 Apr 2010 21:04:13 +0000 (21:04 +0000)]
* change_start_page(), LoadStartpage(): check whether the startpage is allowed by rule
* InitModule_MSG() disallow postpart_download, postpart, confirm_move_msg, delete_msg, move_msg, post to become the startpage; they don't do usefull things there.
Art Cancro [Thu, 8 Apr 2010 04:33:45 +0000 (04:33 +0000)]
* Moved instant messaging into its own module -- serv_instmsg
* Removed serv_chat and the CHAT command
* Implemented serv_roomchat and the RCHT command, which implements a brand new chat protocol
Wilfried Göesgens [Tue, 6 Apr 2010 22:05:15 +0000 (22:05 +0000)]
* GetRESTFolder(): find the parts of the URL matching our rooms; since there may be uids/messageids/mimeparts keep a 'best guess' we return if theres no direct match
* GetRESTFolder(): collect sub-rooms of the current URL so we can list them later
Art Cancro [Tue, 6 Apr 2010 16:41:22 +0000 (16:41 +0000)]
* Minor tweaks to ldap.c -- logging, remove commented-out code etc.
Wilfried Göesgens [Tue, 30 Mar 2010 18:50:27 +0000 (18:50 +0000)]
* say we're UTF-8 in vacation messages.
Art Cancro [Sun, 28 Mar 2010 17:25:08 +0000 (17:25 +0000)]
* Disabled CHAT cmd until the underlying I/O layer is fixed
Wilfried Göesgens [Sat, 27 Mar 2010 16:53:41 +0000 (16:53 +0000)]
* CtdlOutputPreLoadedMsg(): chop it into handy pieces; No functional change.
Art Cancro [Sat, 27 Mar 2010 15:22:18 +0000 (15:22 +0000)]
* Disable the XMPP-mortuary code. It's not ready for production yet.
Wilfried Göesgens [Sat, 27 Mar 2010 11:08:32 +0000 (11:08 +0000)]
cmd_chat(): use CCC instead of CC
Wilfried Göesgens [Sat, 27 Mar 2010 11:07:35 +0000 (11:07 +0000)]
* open_databases(): cast the yield function so the warning goes away.
Wilfried Göesgens [Thu, 25 Mar 2010 23:14:14 +0000 (23:14 +0000)]
* cdb_decompress_if_necessary(): memset 0 the buffer before accessing it
* cdb_decompress_if_necessary(): don't lean on cdb being big enough to fill our header
Wilfried Göesgens [Thu, 25 Mar 2010 23:12:09 +0000 (23:12 +0000)]
* client_read_sslblob(): don't use uninitialized values.
Wilfried Göesgens [Thu, 25 Mar 2010 22:53:51 +0000 (22:53 +0000)]
* html_to_ascii(): don't buffer underrun while checking whether we should append a trailing newline or not.
Wilfried Göesgens [Thu, 25 Mar 2010 20:34:55 +0000 (20:34 +0000)]
* unfold_rfc822_field(): don't forget to copy over chars while unfolding
Wilfried Göesgens [Wed, 24 Mar 2010 22:35:27 +0000 (22:35 +0000)]
* client_read_blob(): behave the same way in non-ssl as ssl, so we return <0 in case of errors.
Wilfried Göesgens [Tue, 23 Mar 2010 22:34:47 +0000 (22:34 +0000)]
* serv_read_binary(): in some cases we can get here without having anything in our read buffer; catch this situation.
Wilfried Göesgens [Tue, 23 Mar 2010 22:19:22 +0000 (22:19 +0000)]
* StrBufPlain(): secure input arguments; don't strlen(NULL)
Wilfried Göesgens [Tue, 23 Mar 2010 21:53:33 +0000 (21:53 +0000)]
* client_read_blob() don't swallow errorstates.
Wilfried Göesgens [Tue, 23 Mar 2010 21:05:20 +0000 (21:05 +0000)]
* qp_encode_email_addrs(): don't use static buffers for recipient parts; alloc the size of the total buffer here, so it fits in any case.
Art Cancro [Mon, 22 Mar 2010 18:31:36 +0000 (18:31 +0000)]
* More work on the XMPP dead buddy list
Art Cancro [Mon, 22 Mar 2010 04:57:27 +0000 (04:57 +0000)]
* more work on the dead buddies purge
Wilfried Göesgens [Sun, 21 Mar 2010 11:50:22 +0000 (11:50 +0000)]
* imap_fetch_rfc822(): migrate to strbuf
Art Cancro [Sun, 21 Mar 2010 04:40:39 +0000 (04:40 +0000)]
* clean up dead buddies from the xmpp roster (not finished yet)
Wilfried Göesgens [Sat, 20 Mar 2010 11:40:41 +0000 (11:40 +0000)]
* imap_listroom():
* use a nice name for buf
* don't use strcat, utilize that we know the size of string constants
Wilfried Göesgens [Sat, 20 Mar 2010 11:29:35 +0000 (11:29 +0000)]
* imap_append(): rename buffer, don't use it for several purposes
Wilfried Göesgens [Sat, 20 Mar 2010 11:20:24 +0000 (11:20 +0000)]
* 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...)
Wilfried Göesgens [Sat, 20 Mar 2010 11:01:13 +0000 (11:01 +0000)]
* rename another buf
Art Cancro [Sat, 20 Mar 2010 00:25:36 +0000 (00:25 +0000)]
* Fixed some syntax errors in de.po:
Wilfried Göesgens [Fri, 19 Mar 2010 22:47:44 +0000 (22:47 +0000)]
* give static buffers either a meaningfull name or/and respect their size in write operations.
Art Cancro [Fri, 19 Mar 2010 17:29:27 +0000 (17:29 +0000)]
* libcitadel internal version number is now 7.80
* citadel and webcit now require libcitadel 7.80
* webcit now requires citadel 7.80
Wilfried Göesgens [Thu, 18 Mar 2010 20:49:05 +0000 (20:49 +0000)]
* sock_getln() should return the length of the string read, not bool for fail / success
Wilfried Göesgens [Thu, 18 Mar 2010 00:25:01 +0000 (00:25 +0000)]
* fix memleak
Wilfried Göesgens [Wed, 17 Mar 2010 22:52:36 +0000 (22:52 +0000)]
* 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
Wilfried Göesgens [Wed, 17 Mar 2010 19:14:29 +0000 (19:14 +0000)]
* client_read_sslblob(): don't leave CC->Pos on an invalid position
Wilfried Göesgens [Wed, 17 Mar 2010 19:13:19 +0000 (19:13 +0000)]
* some null'ing of our debug codes
Wilfried Göesgens [Tue, 16 Mar 2010 23:37:38 +0000 (23:37 +0000)]
* CtdlFetchMessage(): don't use strdup on a buffer we also can steal; this saves us one strlen, one malloc, and one memcpy.
Wilfried Göesgens [Tue, 16 Mar 2010 23:05:22 +0000 (23:05 +0000)]
* CtdlOutputPreLoadedMsg: use length calculated by safestrncpy instead of doing strlen on each loop iteration
Wilfried Göesgens [Tue, 16 Mar 2010 22:03:44 +0000 (22:03 +0000)]
* free some forgotten buffers
Wilfried Göesgens [Tue, 16 Mar 2010 21:27:26 +0000 (21:27 +0000)]
* 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
Wilfried Göesgens [Tue, 16 Mar 2010 21:19:08 +0000 (21:19 +0000)]
* add iodbg switch to debian scripts
Wilfried Göesgens [Tue, 16 Mar 2010 21:18:09 +0000 (21:18 +0000)]
* StrBufReplaceToken(): source and dest of move operation was wrong
Wilfried Göesgens [Tue, 16 Mar 2010 19:46:30 +0000 (19:46 +0000)]
* StrBufStripAllBut(): cut at the right border not one char in front of it
Wilfried Göesgens [Tue, 16 Mar 2010 18:58:35 +0000 (18:58 +0000)]
* move the instant death to USR2 as dave questioned
Wilfried Göesgens [Mon, 15 Mar 2010 07:36:45 +0000 (07:36 +0000)]
* we did that +1 two lines above to avaid infinite loops
Wilfried Göesgens [Sun, 14 Mar 2010 23:28:02 +0000 (23:28 +0000)]
* move the pointer one to the right, else we will loop infinite.
-- Diese und die folgenden Zeilen werden ignoriert --
M lib/stringbuf.c
Wilfried Göesgens [Sun, 14 Mar 2010 22:31:07 +0000 (22:31 +0000)]
* exit citserver on SIG_USR1 instantly, so we have a clean exit hook for profiling etc.
Art Cancro [Sun, 14 Mar 2010 02:56:55 +0000 (02:56 +0000)]
* Call getnameinfo() without the flag that suppresses name lookups
Art Cancro [Sat, 13 Mar 2010 20:11:20 +0000 (20:11 +0000)]
* More tweaks to locate_host() but we still need to work on this because it does not resolve the host name.
Art Cancro [Sat, 13 Mar 2010 19:58:57 +0000 (19:58 +0000)]
* Port locate_host() to IPv6
Wilfried Göesgens [Sat, 13 Mar 2010 18:04:48 +0000 (18:04 +0000)]
* migrate redirect_buffer logic to StrBuf, valgrind reported some related errors.
* migrate the creation of bounce messages to strbuf
Art Cancro [Sat, 13 Mar 2010 17:05:56 +0000 (17:05 +0000)]
* IPv6 experiment. -DCTDL_IPV6 to enable. Disabled otherwise.
Wilfried Göesgens [Sat, 13 Mar 2010 09:56:00 +0000 (09:56 +0000)]
* 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
Wilfried Göesgens [Fri, 12 Mar 2010 21:48:45 +0000 (21:48 +0000)]
* upsi, forgot to move that flag
Wilfried Göesgens [Fri, 12 Mar 2010 20:26:08 +0000 (20:26 +0000)]
* casting int to char* doesn't work out on 64 bit architectures
* pass in a structure instead of casting stuf around all over the place
Art Cancro [Fri, 12 Mar 2010 16:58:54 +0000 (16:58 +0000)]
* Do not reinsert the existing wiki page when uploading an attachment. Fixes bug 537.
Wilfried Göesgens [Thu, 11 Mar 2010 20:33:17 +0000 (20:33 +0000)]
* make uid fetch and friends dynamic in size
Wilfried Göesgens [Tue, 9 Mar 2010 09:49:48 +0000 (09:49 +0000)]
* add function to replace a sub snippet of a string
Wilfried Göesgens [Sun, 7 Mar 2010 19:51:28 +0000 (19:51 +0000)]
* if we receive a text\n000 its a legal message. don't fright the user with "unexpected end of message" rather say "Empty Message". this closes #394
Wilfried Göesgens [Sun, 7 Mar 2010 09:48:49 +0000 (09:48 +0000)]
* replace rewrite_ctdl_sieve_config()s use of malloc/realloc/strlen/sprintf by StrBuf operations. They fit in here perfect.
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.
Wilfried Göesgens [Sat, 6 Mar 2010 12:56:21 +0000 (12:56 +0000)]
* 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.
Wilfried Göesgens [Thu, 4 Mar 2010 23:19:24 +0000 (23:19 +0000)]
* fix off by one while copying email headers
* check for CRLF regardles of what the caller is telling us, we did it like that in advance too.
Art Cancro [Thu, 4 Mar 2010 20:02:46 +0000 (20:02 +0000)]
* Fix rooms.c call to citedit()
Art Cancro [Thu, 4 Mar 2010 15:23:06 +0000 (15:23 +0000)]
* cleanup
Art Cancro [Thu, 4 Mar 2010 15:09:52 +0000 (15:09 +0000)]
* citedit() does not make use of the client's IPC context. Removing that parameter.
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.
Wilfried Göesgens [Tue, 2 Mar 2010 22:59:44 +0000 (22:59 +0000)]
* don't use strchr to find the end of the email header; instead iterate over it untill we run into it anyway
Wilfried Göesgens [Tue, 2 Mar 2010 22:58:17 +0000 (22:58 +0000)]
* #if-out the buffered-read-debug-o-matic
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.
Art Cancro [Tue, 2 Mar 2010 18:11:58 +0000 (18:11 +0000)]
* Replaced memfmout() with a much simpler version that doesn't contain unneeded fmout() cruft.
Art Cancro [Tue, 2 Mar 2010 16:43:20 +0000 (16:43 +0000)]
* The PEXP command has been deprecated for ten years and no one is using it. Removing this command.
Art Cancro [Tue, 2 Mar 2010 04:58:17 +0000 (04:58 +0000)]
* Eliminate an unused variable
Wilfried Göesgens [Mon, 1 Mar 2010 20:50:38 +0000 (20:50 +0000)]
* add configure detection for solaris localtime_r, it needs to know the size of the buffer
Wilfried Göesgens [Mon, 1 Mar 2010 20:44:59 +0000 (20:44 +0000)]
* forgot to commit this: add CTX_STRBUFARR
Wilfried Göesgens [Mon, 1 Mar 2010 20:15:29 +0000 (20:15 +0000)]
* incooperate Stefan Schwarz' sugestions
* work out remaining fuzzies
Wilfried Göesgens [Sun, 28 Feb 2010 22:09:45 +0000 (22:09 +0000)]
* defines for pop aggregation columns
Wilfried Göesgens [Sun, 28 Feb 2010 21:57:33 +0000 (21:57 +0000)]
* fix register to allow escapers
Wilfried Göesgens [Sun, 28 Feb 2010 21:33:29 +0000 (21:33 +0000)]
* add generic lists with strings
* use them for the configs, since there is no way to say how many items are in the list