Art Cancro [Mon, 2 Nov 2009 05:21:58 +0000 (05:21 +0000)]
* did some work on the wiki history reverter
Art Cancro [Mon, 2 Nov 2009 03:54:39 +0000 (03:54 +0000)]
* Made some annotations regarding bug 368 in the code.
Art Cancro [Mon, 2 Nov 2009 03:41:19 +0000 (03:41 +0000)]
* removed a spurious trace msg
Dave West [Sun, 1 Nov 2009 18:09:14 +0000 (18:09 +0000)]
Fixed the bug that prevented DOWN from working properly.
Also broke the context handling routines out of sysdep.c and other places
and put them in context.c / .h
This has been done to make it easier to improve the speed with which we
create / destroy contexts and threads.
Dave West [Sat, 31 Oct 2009 15:29:37 +0000 (15:29 +0000)]
Fixed a bug in the threading code that would prevent new threads starting.
It was possible for threads that are running (not idle) to still be
marked as Blocked (idle).
Also Identified another problem that could prevent threads from starting.
If all existing worker threads were given a task during the same GC tick
then the system load average would go to 100% and prevent new threads.
This was due to a bad method of calculating the load average. We always
wanted the machine load average to limit the creation of new threads
so that the machine didn't become overloaded. Now we get the machine load
and use that to limit new threads. We also log a WARNING in this event.
Wilfried Göesgens [Fri, 30 Oct 2009 20:43:01 +0000 (20:43 +0000)]
* by the_mgt: wrap a box around the knrooms treeview so it looks nicer
Art Cancro [Fri, 30 Oct 2009 19:45:08 +0000 (19:45 +0000)]
* Noticed something that was technically correct but confusing: when viewing a wiki history, each line displayed the date and author of the diff, which is NOT the same thing as the date and author of the page you would get if you reverted to that version. Configured some off-by-one logic in the display code to compensate for this. As an added bonus, the last line, which simply displayed an empty message, has been replaced by a new first line, which displays the date and author of the current version.
Art Cancro [Fri, 30 Oct 2009 18:44:17 +0000 (18:44 +0000)]
* Completed the WebCit UI functions to view a historical version of a wiki page.
Art Cancro [Fri, 30 Oct 2009 16:39:41 +0000 (16:39 +0000)]
* Code and comments cleanup
Art Cancro [Fri, 30 Oct 2009 04:32:42 +0000 (04:32 +0000)]
* Performing a 'fetch' operation on an old revision of a wiki page now stuffs the reverted version into a room called '
9999999999.WikiWaybackMachine'. Due to the invalid namespace, the DAP will clean up after us later.
Art Cancro [Fri, 30 Oct 2009 03:47:50 +0000 (03:47 +0000)]
* Wrote the code to fetch a particular revision of a wiki page and stuff it back into the msg base
Art Cancro [Thu, 29 Oct 2009 21:26:40 +0000 (21:26 +0000)]
* Completed the code to patch a wiki page back to the desired revision. todo: do something with the results, such as output or reply the reversion
Wilfried Göesgens [Thu, 29 Oct 2009 20:22:23 +0000 (20:22 +0000)]
* version blabla not overwrite me apt update
Wilfried Göesgens [Thu, 29 Oct 2009 19:28:09 +0000 (19:28 +0000)]
* used wrong encoding for room links
Dave West [Thu, 29 Oct 2009 17:40:39 +0000 (17:40 +0000)]
Don't register commands twice, only register them before threading begins.
Because its filling up my log unecesarily.
Art Cancro [Thu, 29 Oct 2009 13:58:39 +0000 (13:58 +0000)]
* Disable creation of wiki rooms temporarily
Wilfried Göesgens [Wed, 28 Oct 2009 22:32:40 +0000 (22:32 +0000)]
* use the new regular way to get the accept language header
Wilfried Göesgens [Wed, 28 Oct 2009 22:01:05 +0000 (22:01 +0000)]
* respect the context while sorting. Else unexpected results will follow.
Art Cancro [Wed, 28 Oct 2009 04:00:00 +0000 (04:00 +0000)]
* Parts of the wiki history reverter code
Art Cancro [Tue, 27 Oct 2009 21:02:42 +0000 (21:02 +0000)]
* skeleton/stub code for new revision control stuff
Art Cancro [Tue, 27 Oct 2009 15:40:27 +0000 (15:40 +0000)]
* Added the code to let display_wiki_page_backend() know when it's expected to fetch a specific revision of a wiki page. Stopped cold dead when I realized that it's going to be practically impossible to supply read_message() with anything other than a message number.
Art Cancro [Tue, 27 Oct 2009 02:44:03 +0000 (02:44 +0000)]
* Added some of the buttons needed for wiki revision management
Wilfried Göesgens [Sun, 25 Oct 2009 23:30:48 +0000 (23:30 +0000)]
* more doxygen cleanup
Dave West [Sun, 25 Oct 2009 22:05:03 +0000 (22:05 +0000)]
A little more with the API coding style.
Also added following functions
CtdlGetFloorByName Gets floor by name. Return -1 if not found.
CtdlGetFloorByNameLock As above but locks the floors.
CtdlGetAvailableFloor Returns number of first unused floor.
These functions make use of the floor cache for performance.
The idea is if you want to create a floor you first check that the name
is available with CtdlGetFloorByNameLock
If the name is available you get -1 back and you then do CtdlGetAvailableFloor
Now you have a floor number to use so you can CtdlGetFloor and fill in the
structure information before doing CtdlPutFloorLock
Wilfried Göesgens [Sun, 25 Oct 2009 21:04:58 +0000 (21:04 +0000)]
* add doxygen config
* correct some errors in StrBufs documentation
Wilfried Göesgens [Sun, 25 Oct 2009 13:31:57 +0000 (13:31 +0000)]
* add outfunction to MSGS that just outputs ID|EUID
Wilfried Göesgens [Sun, 25 Oct 2009 11:07:25 +0000 (11:07 +0000)]
* by Feivel: check for day when highlighting weekday
Wilfried Göesgens [Sun, 25 Oct 2009 09:33:23 +0000 (09:33 +0000)]
* use macro for templateparam custom parameters
Dave West [Sun, 25 Oct 2009 01:07:14 +0000 (01:07 +0000)]
And a few more things comply with the coding style.
Dave West [Sun, 25 Oct 2009 00:26:06 +0000 (00:26 +0000)]
A few more API clean ups. Mainly revolving around user_ops.c
Dave West [Sat, 24 Oct 2009 23:30:34 +0000 (23:30 +0000)]
Fix that annoying warning about signedness.
Dave West [Sat, 24 Oct 2009 23:23:27 +0000 (23:23 +0000)]
Cleaning the API a bit more.
serv_autocompletion no longer needs to include anything but ctdl_module.h
Dave West [Sat, 24 Oct 2009 22:45:21 +0000 (22:45 +0000)]
Removed the artv_*.h files, they arent used any more.
Cleaned the API a bit, moved prototype of CtdlAccessCheck and the enum it uses
into ctdl_module.h which is where the API is defined.
Cleaned some unused includes from serv_autocompletion.c
Dave West [Sat, 24 Oct 2009 22:19:41 +0000 (22:19 +0000)]
quieten a few messages from configure when usin VPATH things.
Wilfried Göesgens [Sat, 24 Oct 2009 21:15:00 +0000 (21:15 +0000)]
* check for the PAM lib in every case, since if we detect the functions we need to link it
* check for user modules before referencing them in the VDIR build
Dave West [Sat, 24 Oct 2009 20:32:36 +0000 (20:32 +0000)]
Fix the VPATH build.
Dave West [Sat, 24 Oct 2009 16:52:18 +0000 (16:52 +0000)]
Fix a warning in serv_smtp.c
Dave West [Sat, 24 Oct 2009 16:36:58 +0000 (16:36 +0000)]
SVN lost this file so I re-added it.
Dave West [Sat, 24 Oct 2009 16:16:03 +0000 (16:16 +0000)]
Makefile now knows how to regenerate the svn_revision.c file
EVERYONE BOOTSTRAP!!!!!!
needed for previous alterations.
Dave West [Sat, 24 Oct 2009 15:47:01 +0000 (15:47 +0000)]
Moved the scripts that create svn_revision.c and modules_init.* into a scripts
directory to clean the base dir a bit more.
Dave West [Sat, 24 Oct 2009 15:35:16 +0000 (15:35 +0000)]
Moved some files around into sub dirs to clean up the base dir a litle.
Dave West [Sat, 24 Oct 2009 13:16:55 +0000 (13:16 +0000)]
Create some directories to hold the source files for the utility
programmes and the text client.
Basically I'm fed up trying to remember which files are for what tool.
Art Cancro [Sat, 24 Oct 2009 05:50:19 +0000 (05:50 +0000)]
* History template
Dave West [Fri, 23 Oct 2009 16:22:11 +0000 (16:22 +0000)]
Fix the Makefile.in to properly clean the user_modules tree.
marked aide_message as deprecated. Use CtdlAideMessage instead
Wilfried Göesgens [Fri, 23 Oct 2009 12:51:53 +0000 (12:51 +0000)]
rename wprintf to wc_printf; wchar.h also has a wprintf
Art Cancro [Fri, 23 Oct 2009 03:55:29 +0000 (03:55 +0000)]
* Set up links and templates for the history page, along with a nice set of toggles in the nav bar
Art Cancro [Fri, 23 Oct 2009 00:26:29 +0000 (00:26 +0000)]
* Stub functions for wiki history display
Wilfried Göesgens [Thu, 22 Oct 2009 23:04:31 +0000 (23:04 +0000)]
* add stdin for decoding tests
Wilfried Göesgens [Thu, 22 Oct 2009 18:21:35 +0000 (18:21 +0000)]
* new token to put in the actual filename (just works when debugging enabled)
* catch possible access to not set token parameter; off by one. usualy requester should check if the token is there in advance.
* check for presence of token in preferences before accessing it
Art Cancro [Wed, 21 Oct 2009 17:30:28 +0000 (17:30 +0000)]
* New command 'WIKI history|<pagename>' to list the revision history for a wiki page.
* History format has changed again -- delete any experimental wiki rooms you have created. The memo field now contains a UUID for each edit, which we will use for identifying revisions because the MIME part numbers will change with each edit. Also moved the timestamp into the second field position, followed by the username and nodename. No longer saving the user's Internet email address.
Art Cancro [Wed, 21 Oct 2009 16:42:59 +0000 (16:42 +0000)]
* New API function CtdlDoIHavePermissionToReadMessagesInThisRoom()
Art Cancro [Tue, 20 Oct 2009 21:48:55 +0000 (21:48 +0000)]
* New server command WIKI for subcommands relating to wiki page management
Art Cancro [Tue, 20 Oct 2009 21:46:11 +0000 (21:46 +0000)]
* Abuse the MIME 'filename' key by using it as a memo field in which we store a base64-encoded set of metadata for each wiki edit.
Wilfried Göesgens [Tue, 20 Oct 2009 16:25:13 +0000 (16:25 +0000)]
* use reentrant function
* remove trailing newline; if the user wants it, he will add it in his template.
Wilfried Göesgens [Tue, 20 Oct 2009 12:57:57 +0000 (12:57 +0000)]
* grumblegrumble conflict
Wilfried Göesgens [Tue, 20 Oct 2009 12:52:58 +0000 (12:52 +0000)]
* add a Display name to our handlers; this will be used by DAV handlers.
Wilfried Göesgens [Mon, 19 Oct 2009 19:20:47 +0000 (19:20 +0000)]
* upsi, forgot that one.
Wilfried Göesgens [Mon, 19 Oct 2009 19:16:23 +0000 (19:16 +0000)]
* add way to have tokens do their custom parse-time preevaluation; this involves an api change to the RegisterNS function
* load iterators by the new parse time evaluator, not at runtime; Now we can find non-existant iterators at parse-time.
Wilfried Göesgens [Sun, 18 Oct 2009 16:26:15 +0000 (16:26 +0000)]
* by feivel: display the weekday in the dayview
Wilfried Göesgens [Sun, 18 Oct 2009 16:19:11 +0000 (16:19 +0000)]
* by feivel: Display week of year; addresses bug 494
Wilfried Göesgens [Sun, 18 Oct 2009 13:54:37 +0000 (13:54 +0000)]
* by feivel: make the current day be highlighted in monthly calendar view. Fixes bug 302
Dave West [Sat, 17 Oct 2009 21:05:05 +0000 (21:05 +0000)]
Fix mk_module_init.sh to properly build sources from directory user_modules.
Dave West [Sat, 17 Oct 2009 12:21:17 +0000 (12:21 +0000)]
Citadel API clean up.
Moved public function prototypes for room operations into ctdl_module.h and
renamed them to match the documented naming convention.
create_room -> CtdlCreateRoom
getroom -> CtdlGetRoom
putroom -> CtdlPutRoom
lgetroom -> CtdlGetRoomLock
lputroom -> CtdlPutRoomLock
getfloor -> CtdlGetFloor
putfloor -> CtdlPutFloor
do_i_have_permission_to_delete_this_room -> CtdlDoIHavePermissionToDeleteThisRoom
ForEachRoom -> CtdlForEachRoom
delete_room -> CtdlDeleteRoom
usergoto -> CtdlUserGoto
cgetfloor -> CtdlGetCachedFloor
schedule_room_for_deletion -> CtdlScheduleRoomForDeletion
is_noneditable -> CtdlIsNonEditable
This is probably not all of the functions from room_ops.c that should be
exposed but it is all the ones that any current module uses.
No module should now need to include "room_ops.h"
Art Cancro [Fri, 16 Oct 2009 20:58:22 +0000 (20:58 +0000)]
* Changed my mind about the on-disk format for wiki history. DELETE ANY WIKI ROOMS YOU MAY HAVE ALREADY CREATED. We now do wiki history backwards. In other words, the diffs in each part would be applied top to bottom in order to revert to older and older versions. Theoretically if you apply them all the way through you would end up with an empty page. This will allow revision control to work properly even with a partial history.
Art Cancro [Fri, 16 Oct 2009 16:17:50 +0000 (16:17 +0000)]
* Fixed the initial diff that is written when a wiki page is saved for the first time.
Wilfried Göesgens [Fri, 16 Oct 2009 15:47:49 +0000 (15:47 +0000)]
* indent for better maintaineability
Art Cancro [Fri, 16 Oct 2009 03:52:08 +0000 (03:52 +0000)]
* wiki still needs some tuning
Art Cancro [Fri, 16 Oct 2009 03:35:09 +0000 (03:35 +0000)]
* Write wiki history (diffs) to disk upon each save
* Added code to preven the wiki history hook from infinitely recursing
* Diff against /dev/null if no history exists in order to provide a nice 'version 1'
Art Cancro [Thu, 15 Oct 2009 20:25:47 +0000 (20:25 +0000)]
* more work on the wiki revision control engine
Art Cancro [Thu, 15 Oct 2009 16:29:43 +0000 (16:29 +0000)]
* More license declarations
Art Cancro [Thu, 15 Oct 2009 15:13:20 +0000 (15:13 +0000)]
* more work on the wiki revision control engine
Art Cancro [Thu, 15 Oct 2009 14:33:21 +0000 (14:33 +0000)]
* more work on the wiki revision control engine
Wilfried Göesgens [Thu, 15 Oct 2009 13:06:34 +0000 (13:06 +0000)]
* fix non-iconv-enabled build
Wilfried Göesgens [Thu, 15 Oct 2009 12:45:26 +0000 (12:45 +0000)]
* switch roomlisting to templating
* add the iconbar roomtreview to the body so we can wipe most of the old knrooms functionality
Wilfried Göesgens [Thu, 15 Oct 2009 12:43:43 +0000 (12:43 +0000)]
* remove debug statements
Wilfried Göesgens [Thu, 15 Oct 2009 12:43:16 +0000 (12:43 +0000)]
* add numeric floor setting reader
Wilfried Göesgens [Thu, 15 Oct 2009 11:43:27 +0000 (11:43 +0000)]
* add (INBOX) to the mailbox
* flag read state correctly
Wilfried Göesgens [Thu, 15 Oct 2009 08:58:56 +0000 (08:58 +0000)]
* add K (after j...) escaper for combined html + json;
* escape mail subjects and senders with 'K'; This will fix problems with html tags in mailsubjects
Wilfried Göesgens [Thu, 15 Oct 2009 08:56:43 +0000 (08:56 +0000)]
* add combined html/json escaper
Art Cancro [Thu, 15 Oct 2009 02:28:25 +0000 (02:28 +0000)]
* more work on the wiki history code
Art Cancro [Wed, 14 Oct 2009 21:49:46 +0000 (21:49 +0000)]
* Generate diffs old-to-new instead of new-to-old. I think this will be easier to work with because we can just append. Maybe I'll change my mind again. Right now it's just writing them to the log. In a little while I'll start writing them to disk and we'll see how it goes.
Art Cancro [Wed, 14 Oct 2009 21:48:17 +0000 (21:48 +0000)]
* Cleaned up some compiler warnings
Art Cancro [Wed, 14 Oct 2009 21:44:37 +0000 (21:44 +0000)]
* Generate diffs old-to-new instead of new-to-old. I think this will be easier to work with because we can just append. Maybe I'll change my mind again. Right now it's just writing them to the log. In a little while I'll start writing them to disk and we'll see how it goes.
Art Cancro [Wed, 14 Oct 2009 21:15:54 +0000 (21:15 +0000)]
* only include a plain text multipart/alternative for email; suppress it for bbs and wiki where it is not needed.
Art Cancro [Wed, 14 Oct 2009 21:05:18 +0000 (21:05 +0000)]
* Began writing code to compare wiki page versions and feed them through 'diff' for revision control. (xdelta was just too cumbersome)
Art Cancro [Wed, 14 Oct 2009 19:20:06 +0000 (19:20 +0000)]
* Began (but did not finish) applying GPL3+ declarations to each source file. This will be an ongoing process. (I'm about to mix GPL2+ code with GPL3+ code, and would like to be able to immediately throw the 'any later version' clause back at anyone who whines about it.)
Art Cancro [Wed, 14 Oct 2009 15:26:21 +0000 (15:26 +0000)]
* Changed 'guess-name room' to 'hidden room' in the text client (this was done a long time ago in webcit)
Art Cancro [Wed, 14 Oct 2009 03:34:05 +0000 (03:34 +0000)]
* Checked in a skeleton module for the server-side handlers of wiki rooms
Wilfried Göesgens [Tue, 13 Oct 2009 21:47:30 +0000 (21:47 +0000)]
* terminate the two mbox views the right way [tm]
Dave West [Tue, 13 Oct 2009 11:30:03 +0000 (11:30 +0000)]
Add missing include of stddef.h , needed for offsetof()
Art Cancro [Tue, 13 Oct 2009 03:47:49 +0000 (03:47 +0000)]
* configure.ac: changed 'libcitadel' message to 'webcit'
Art Cancro [Tue, 13 Oct 2009 02:51:50 +0000 (02:51 +0000)]
* Shuffled around the room banner so that the room name once again appeared in its own element, because getMessages() in jsonmessageview looks there for the room name. This should eventually be handled differently but it's ok for now.
Art Cancro [Mon, 12 Oct 2009 21:12:07 +0000 (21:12 +0000)]
* Add charset UTF-8 to content-type declaration for RSS imported items. Resolves bug 463.
Art Cancro [Mon, 12 Oct 2009 20:59:21 +0000 (20:59 +0000)]
* Blank out the Envelope-to: header when reading messages via POP or IMAP. Resolves bug #361.
Art Cancro [Mon, 12 Oct 2009 17:27:33 +0000 (17:27 +0000)]
* handle more warn_unused_result bullshit
Wilfried Göesgens [Sun, 11 Oct 2009 18:07:25 +0000 (18:07 +0000)]
* fix next dropdown
Wilfried Göesgens [Sun, 11 Oct 2009 18:05:35 +0000 (18:05 +0000)]
* remove unneded code
* fix test
Wilfried Göesgens [Sun, 11 Oct 2009 14:41:21 +0000 (14:41 +0000)]
* fix leak in mime parser
Wilfried Göesgens [Sun, 11 Oct 2009 14:37:05 +0000 (14:37 +0000)]
* add DAV namespace
* fix leak in template reader while logging errors
Wilfried Göesgens [Sun, 11 Oct 2009 14:33:50 +0000 (14:33 +0000)]
* fix memleak in non-threadded locale case