* 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.
* 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.
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.
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 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'
* 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
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: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 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 [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 [Sun, 11 Oct 2009 03:45:23 +0000 (03:45 +0000)]
* Yup, that's it ... the expression (long)*(cdboi->ptr) does NOT work reliably for copying the first (sizeof long) bytes in all cases. This is what was causing lots of OpenID associations to get deleted, on Uncensored and possibly elsewhere. Fixed in serv_expire.c ... must also begin looking elsewhere for this.
Art Cancro [Thu, 8 Oct 2009 03:32:53 +0000 (03:32 +0000)]
* Rolled back the 'MSGS EUID' subcommand introduced in r7866. I didn't need it after all, and I don't want to bloat the server code with this if it isn't necessary.
* by Ano: make static compileable on solaris; the path needs to be allocated next to the buffer
* just define the flags (which solaris doesn't) if they aren't already there.