* added more usefull print hash function, so one can now use the list to render UI stuff
* added sortorder to SortByHashKey so one can switch upward/downward sorting
Art Cancro [Mon, 28 Apr 2008 20:32:09 +0000 (20:32 +0000)]
Implemented drag and drop for the new sticky notes view.
CSS and JavaScript are done; all that is left is to add the
ajax call to send the new coordinates to the server.
* bugfix in the hash implementation; expanding the hash wasn't done properly
* added possibility to have list with duplicate primary keys
* added ability to specify custom "hashing" algorithm
* bumped version number to 1.10 since the newhash function has a different signature now.
Art Cancro [Thu, 17 Apr 2008 14:32:29 +0000 (14:32 +0000)]
When assembling lists of thread references, if the list
exceeds 10 messages or 900 bytes, eliminate the second reference
in the list. See http://cr.yp.to/immhf/thread.html for more info.
Art Cancro [Mon, 7 Apr 2008 04:01:04 +0000 (04:01 +0000)]
Removed the 'Gateway Domain' function from the entire Citadel system. This function has long since been superseded by the Global Address Book. Absolutely no one is using it. In fact, as far as I can tell, its implementation does not even exist anymore -- I couldn't find the back end code to remove. So instead of confusing site administrators with a superfluous configuration option, we are removing it.
Dave West [Sun, 6 Apr 2008 21:14:34 +0000 (21:14 +0000)]
Give the user contained within masterCC a name.
Its not a real user but it is stored in the DB and does contain info
like how many messages the system has created.
We call it Citadel.
This make "citadel" an illegal user name.
Now this user has a name we need to make sure the auto purger doesn't
purge it and make sure no one can login by that name.
Dave West [Sat, 5 Apr 2008 21:40:46 +0000 (21:40 +0000)]
Added some CtdlThreadCheckStop() calls to exit rbl checks and stop the
SMTP negotiation if we are shutting down.
Also added a bit of code to log the time it takes to do an RBL check. If
it takes a long time maybe we can cache the results in a hash with
something like a 30 second life span.
Dave West [Sat, 5 Apr 2008 19:51:53 +0000 (19:51 +0000)]
Quieten the user 0 message to the Aide room.
User 0 is created as a side effect of the system posting messages from
the masterCC. This side effect has the benefit of recording the number
of messages the system has generated.
Should we make use of this somewhere?
The actual code that creates the user 0 is in CtdlSubmitMsg() and reads
as
/* Bump this user's messages posted counter. */
CtdlLogPrintf(CTDL_DEBUG, "Updating user\n");
lgetuser(&CCC->user, CCC->curr_user);
CCC->user.posted = CCC->user.posted + 1;
lputuser(&CCC->user);
* we have now several bstrs:
* bstr: simply gives the string
* xbstr: gives string and its length
* lbstr: gives the long value of the item
* ibstr: gives the int value of the item
* havebstr: whether this bstr and if it wasn't set empty
* yesbstr: returns true if the value equals "yes"
there also is a CAPITAL version of each, for dynamicaly calculated keys.
* replaced all atol(bstr()), strcmp(bstr(), "yes") IsEmptyStr(bstr()) by the above.
* moved url argument list to hash.
* carry length of parameter value in the hash for later use
* added Bstr, BSTR and bstr. bstr mustn't be used for dynamic keys, use BSTR instead.
* use BSTR where apropriate.
* fixed crash condition with message posting Mrs. Foobar found out
Dave West [Sat, 29 Mar 2008 01:15:32 +0000 (01:15 +0000)]
Fix up ARTV import so that imports actually work.
Fixed various client_getln loops so that they don't go endless if the
client disappears.
ARTV import now makes use of the internal base64 decoder so it should be
quicker.
ARTV import now sends lots of dots to the client. This is to kick the
watchdog timer in sendcommand so that it doesn't expire while we process
a big message.
Changes in threads.* are in preperation for cancelling threads and using
signals to interrupt threads. They are #ifdef excluded.
Dave West [Fri, 28 Mar 2008 13:03:37 +0000 (13:03 +0000)]
Fix the artv import.
It couldn't handle the blank lines between sections and now it does.
Also added code to send dots during the room import to keep the user
informed that something is happening if we are importing a BIG room.
This has the added advantage of kicking the watchdog in sendcommand so
it doesn't time out unexpectedly.
Also added code to exit the artv early if we are shutting down.
Dave West [Fri, 28 Mar 2008 12:59:05 +0000 (12:59 +0000)]
On my slow system a watch dog time out of 5 seconds is not always
enough.
I added a command line arg to increase it if needed.
Watchdog defaults to 5 seconds but you can use -w to extend it if you
need to.