Wilfried Göesgens [Tue, 22 Apr 2008 17:16:01 +0000 (17:16 +0000)]
* THIS IS 7.35
Wilfried Göesgens [Tue, 22 Apr 2008 17:13:16 +0000 (17:13 +0000)]
* THIS IS 7.35 / 1.09
Wilfried Göesgens [Tue, 22 Apr 2008 11:20:57 +0000 (11:20 +0000)]
* move utility binaries to /usr/lib/citadel-server/ so we don't get name clashes with other software.
Wilfried Göesgens [Mon, 21 Apr 2008 21:42:12 +0000 (21:42 +0000)]
* added Portoguese Brazillian translation done by Marco Goncalves
Wilfried Göesgens [Mon, 21 Apr 2008 19:23:27 +0000 (19:23 +0000)]
* more carefully render urls
Art Cancro [Mon, 21 Apr 2008 15:39:38 +0000 (15:39 +0000)]
Minor formatting cleanup
Wilfried Göesgens [Sun, 20 Apr 2008 20:55:17 +0000 (20:55 +0000)]
* regulary shut down libcitadel, so we don't leak the icondir hash on shutdown.
Wilfried Göesgens [Sun, 20 Apr 2008 20:29:15 +0000 (20:29 +0000)]
* init vars before using them.
Wilfried Göesgens [Sun, 20 Apr 2008 19:23:25 +0000 (19:23 +0000)]
* fixed several compiler warnings.
Wilfried Göesgens [Sun, 20 Apr 2008 11:44:04 +0000 (11:44 +0000)]
* removed possibly dangerous code
Wilfried Göesgens [Sun, 20 Apr 2008 11:38:05 +0000 (11:38 +0000)]
* implemented realloc
* just encode emailaddresses that actually contain umlauts
Art Cancro [Sun, 20 Apr 2008 03:41:45 +0000 (03:41 +0000)]
vnote.c is now (for the most part) complete.
However, I will not be touching WebCit until after the next release.
Art Cancro [Sun, 20 Apr 2008 03:09:19 +0000 (03:09 +0000)]
more vnote work
Art Cancro [Sat, 19 Apr 2008 04:28:45 +0000 (04:28 +0000)]
vnote_serialize() is now (probably) complete.
Art Cancro [Sat, 19 Apr 2008 04:04:10 +0000 (04:04 +0000)]
propset on vnote.c
Art Cancro [Fri, 18 Apr 2008 15:28:43 +0000 (15:28 +0000)]
vnote serialization
Art Cancro [Fri, 18 Apr 2008 03:02:12 +0000 (03:02 +0000)]
In the text client, <Q>uote is now reply<Q>uoted
Art Cancro [Fri, 18 Apr 2008 02:36:34 +0000 (02:36 +0000)]
more vnote hacking
Wilfried Göesgens [Thu, 17 Apr 2008 21:52:46 +0000 (21:52 +0000)]
* QP encode Realnames if they are non-ascii
Wilfried Göesgens [Thu, 17 Apr 2008 21:50:49 +0000 (21:50 +0000)]
Art Cancro [Thu, 17 Apr 2008 21:00:21 +0000 (21:00 +0000)]
more vnote skeleton code
Art Cancro [Thu, 17 Apr 2008 17:04:42 +0000 (17:04 +0000)]
Added a skeleton 'vnote.c' module to libcitadel
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 [Wed, 16 Apr 2008 15:34:52 +0000 (15:34 +0000)]
Doh! Thread references read left-to-right, not right-to-left.
Wilfried Göesgens [Mon, 14 Apr 2008 21:06:07 +0000 (21:06 +0000)]
* just modify /etc/services in batch mode if we are told so by the environment variable ALTER_ETC_SERVICES
* make our debs do this.
Wilfried Göesgens [Mon, 14 Apr 2008 21:01:18 +0000 (21:01 +0000)]
* don't deliver stress in the debs.
Wilfried Göesgens [Mon, 14 Apr 2008 20:44:39 +0000 (20:44 +0000)]
* commented out debug url parsing
Wilfried Göesgens [Mon, 14 Apr 2008 14:57:49 +0000 (14:57 +0000)]
* use the debian prototypejs package
Wilfried Göesgens [Mon, 14 Apr 2008 09:41:38 +0000 (09:41 +0000)]
* remove stress binary from the install target, since its just a developer tool.
Art Cancro [Fri, 11 Apr 2008 14:26:13 +0000 (14:26 +0000)]
Version number to 7.35 in preparation for an upcoming release.
Art Cancro [Thu, 10 Apr 2008 18:48:21 +0000 (18:48 +0000)]
Added the words 'SMTP client:' to some of the log messages
in serv_smtp.c so I can grep for them.
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:15:40 +0000 (21:15 +0000)]
A minor fix to some cosmetics in ARTV.
This does NOT, repeat NOT affect the operation of ARTV at all.
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);
Its around msgbase.c:2624
Wilfried Göesgens [Sat, 5 Apr 2008 18:23:11 +0000 (18:23 +0000)]
* fixed some hickups in the urlencode function.
Art Cancro [Fri, 4 Apr 2008 16:51:23 +0000 (16:51 +0000)]
Reduced the output of the SMTP HELP command.
Now it just points to http://www.ietf.org/rfc/rfc2821.txt
Wilfried Göesgens [Fri, 4 Apr 2008 14:02:28 +0000 (14:02 +0000)]
* we should send the buffer we printed the command into to the server.
Wilfried Göesgens [Fri, 4 Apr 2008 10:44:32 +0000 (10:44 +0000)]
* 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.
Wilfried Göesgens [Fri, 4 Apr 2008 10:39:25 +0000 (10:39 +0000)]
* as its rather noisy, the dezonify logging is #ifdef DBG_ICAL now.
Art Cancro [Fri, 4 Apr 2008 03:52:55 +0000 (03:52 +0000)]
Fixed a memory allocation problem
Art Cancro [Fri, 4 Apr 2008 02:37:42 +0000 (02:37 +0000)]
* Restore the ability of addurls() to delimit on '?' as well as '&'
* Handle thread references when posting message replies.
Art Cancro [Thu, 3 Apr 2008 21:54:42 +0000 (21:54 +0000)]
webcit - generate Reply/ReplyAll/ReplyQuoted URL's that contain thread references
Art Cancro [Thu, 3 Apr 2008 20:37:33 +0000 (20:37 +0000)]
Keep track of thread references, in the server and in the text client. This required amending the ENT0 protocol command.
Wilfried Göesgens [Thu, 3 Apr 2008 19:43:00 +0000 (19:43 +0000)]
* due to demand of debian, we rename the webcit binary from webserver to webcit.
* for migration make install wil create a symlink.
Wilfried Göesgens [Thu, 3 Apr 2008 18:51:32 +0000 (18:51 +0000)]
* xbstr now will give the length of the value to its key, so working with it is more easy.
Wilfried Göesgens [Wed, 2 Apr 2008 23:45:08 +0000 (23:45 +0000)]
* 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
Wilfried Göesgens [Wed, 2 Apr 2008 23:41:47 +0000 (23:41 +0000)]
* add convenience macro for constant hashkeys, as the compiler can do sizeof instead of the program doing strlen.
Wilfried Göesgens [Tue, 1 Apr 2008 22:35:35 +0000 (22:35 +0000)]
* rather trunkate data then letting escape chars through.
Wilfried Göesgens [Tue, 1 Apr 2008 22:02:58 +0000 (22:02 +0000)]
* rewrote urlstring tokenizer
* fixed crash condition in de-escaper
Wilfried Göesgens [Mon, 31 Mar 2008 21:48:52 +0000 (21:48 +0000)]
* removed nonfree component.
Art Cancro [Mon, 31 Mar 2008 21:43:41 +0000 (21:43 +0000)]
ICAL 'putics' should NOT do server-generated invitations.
Wilfried Göesgens [Mon, 31 Mar 2008 21:28:54 +0000 (21:28 +0000)]
* we need to find ?Q? or ?B? before searching for the end. else we might catch the wrong location and struggle.
Art Cancro [Mon, 31 Mar 2008 20:59:09 +0000 (20:59 +0000)]
Refrain from transmitting untagged IMAP responses when the
command in progress is FETCH, STORE, or SEARCH. RFC3501 requires this.
Fixes bug #355.
Wilfried Göesgens [Sun, 30 Mar 2008 23:33:28 +0000 (23:33 +0000)]
* lengthen the subject buffer so it can take utf8 glyphs
Wilfried Göesgens [Sun, 30 Mar 2008 23:18:01 +0000 (23:18 +0000)]
ENABLE_NLS must wrap HAVE_USELOCALE, else configure will make us produce compile errors in certain situations.
Dave West [Sun, 30 Mar 2008 02:13:56 +0000 (02:13 +0000)]
Fix the artv export bug that crept in while I was fixing artv import.
Dave West [Sat, 29 Mar 2008 14:19:05 +0000 (14:19 +0000)]
No code changes, just cleaned some warnings and some comments.
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 15:09:19 +0000 (15:09 +0000)]
Importing REALLY BIG messages can also cause the watchdog in sendcommand
to expire. So now we walk the dots for each line of a message as well.
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.
Art Cancro [Thu, 27 Mar 2008 02:55:57 +0000 (02:55 +0000)]
Fixed a potential infinite-loop condition in previous commit
Art Cancro [Wed, 26 Mar 2008 21:15:32 +0000 (21:15 +0000)]
Handle RFC822 'References:' field and Citadel W (Wefewences) field
Art Cancro [Wed, 26 Mar 2008 04:30:19 +0000 (04:30 +0000)]
Thread log was too verbose when writing to disk
Wilfried Göesgens [Wed, 26 Mar 2008 00:04:22 +0000 (00:04 +0000)]
* use the utf8 functions to cut subjects at the border of glyphs
Wilfried Göesgens [Wed, 26 Mar 2008 00:03:12 +0000 (00:03 +0000)]
* add functions to evaluate utf8 strings as described at the instructables
Art Cancro [Tue, 25 Mar 2008 21:53:48 +0000 (21:53 +0000)]
small update to hack.txt
Dave West [Tue, 25 Mar 2008 19:35:14 +0000 (19:35 +0000)]
Bump the citadel rev number to 733. It got missed in the last release.
Bump the EXPORT_REV_MIN to 733 since I added the extra POP3 config
options.
Art Cancro [Mon, 24 Mar 2008 02:22:14 +0000 (02:22 +0000)]
Sending an instant message via Jabber now resets the idle timer.
Wilfried Göesgens [Sun, 23 Mar 2008 20:42:23 +0000 (20:42 +0000)]
* added aditional licenses of the non-citadel created parts of libcitadel.
Dave West [Fri, 21 Mar 2008 21:42:54 +0000 (21:42 +0000)]
Did away with lprintf all together now its called CtdlLogPrintf()
This is a step towards the coding convention listed on the web site.
Art Cancro [Fri, 21 Mar 2008 20:09:41 +0000 (20:09 +0000)]
svn_revision() now declared in svn_revision.h
Dave West [Thu, 20 Mar 2008 20:48:13 +0000 (20:48 +0000)]
Bootstrap now calls mk_svn_revision.sh for the package builders.
Dave West [Thu, 20 Mar 2008 19:22:26 +0000 (19:22 +0000)]
Now the text client and webcit show the servers svn revision too.
Dave West [Thu, 20 Mar 2008 18:32:07 +0000 (18:32 +0000)]
Now the server records the SVN revision in the log at startup.
Dave West [Thu, 20 Mar 2008 15:39:58 +0000 (15:39 +0000)]
A test fix for the thread cancellation routine.
We only log situations where we would have cancelled a thread, we don't
actually cancel them.
With this code we should not see cancellation requests during normal
running.
Cancelation requests during normal running were due to threads being
asked to stop when load decreased but the idle thread detection aloud a
thread to be asked to stop just as select gave it a task and made it not
idle.
Now if select gives a thread a job to do and the thread was asked to
stop during the select the thread changes its state back to running and
refuses the stop request. This only happens if the system is NOT
shutting down.
Dave West [Thu, 20 Mar 2008 13:26:47 +0000 (13:26 +0000)]
Prevent cancellation of threads but log that we would have cancelled it.
Its causing problems on Uncensored.
Wilfried Göesgens [Thu, 20 Mar 2008 09:57:42 +0000 (09:57 +0000)]
* use snprintf to avoid stack corruption.
Wilfried Göesgens [Thu, 20 Mar 2008 09:08:38 +0000 (09:08 +0000)]
* init command buf empty to avoid fancy side effects
Wilfried Göesgens [Wed, 19 Mar 2008 23:19:38 +0000 (23:19 +0000)]
* this way arround some compilers like the casts better.
Art Cancro [Wed, 19 Mar 2008 19:41:58 +0000 (19:41 +0000)]
oops ... minor fix to above
Art Cancro [Wed, 19 Mar 2008 19:28:48 +0000 (19:28 +0000)]
EVT_LOGOUT hooks are now called with the thread's current
CitContext set to that of the session being logged out, even when
killing a session administratively. This allows the identity of the
user to be passed along to module hooks. This fixes the problem in
the Jabber server where buddy 'ghosts' whould remain visible to
clients if the user disconnected without logging off.
Art Cancro [Wed, 19 Mar 2008 17:46:00 +0000 (17:46 +0000)]
bmstrcasestr() now returns NULL if either of its supplied
arguments is NULL ... instead of passing NULL to strlen() and making
the program crash.
Dave West [Wed, 19 Mar 2008 17:31:31 +0000 (17:31 +0000)]
Auto purger thread was declaring itself as the indexer_thread() in the
log
Dave West [Tue, 18 Mar 2008 23:28:55 +0000 (23:28 +0000)]
When doing shutdown we allow each thread up to 5 seconds to exit on its
own after asking it nicely to do so. After 5 seconds we will cancel()
the thread. Its possible that we may loose messages in this manner
since its similar to a SIGTERM. Because of this we write messages to the
log about this event. If we are seeing these entries in the log we need
to track down why the thread is strugling to exit and fix it.
Dave West [Tue, 18 Mar 2008 21:58:56 +0000 (21:58 +0000)]
Moved remaining POP3 options onto the POP3 configuration tab
Dave West [Tue, 18 Mar 2008 21:50:25 +0000 (21:50 +0000)]
Added new POP3 client config options
Dave West [Tue, 18 Mar 2008 21:46:56 +0000 (21:46 +0000)]
Added code to handle new POP3 client config options.
Dave West [Tue, 18 Mar 2008 21:12:03 +0000 (21:12 +0000)]
Oops, managed to commit a partial change regarding the POP3 client
interval. Here is the rest of it.
Still to do are text client and documentation.
Dave West [Tue, 18 Mar 2008 21:05:27 +0000 (21:05 +0000)]
Added some more CtdlThreadCheckStop() calls to speed shutdown.
Dave West [Tue, 18 Mar 2008 20:56:43 +0000 (20:56 +0000)]
POP3 client now makes use of CtdlThreadCheckStop() to help speed
shutdowns.
Dave West [Tue, 18 Mar 2008 20:49:41 +0000 (20:49 +0000)]
RSS client now makes use of CtdlThreadCheckStop() to help speed up
shutdown.
Dave West [Tue, 18 Mar 2008 19:58:41 +0000 (19:58 +0000)]
Ignet now makes use of CtdlThreadCheckStop() to check if it should exit.
This should improve shutdown times.
Still need to be able to interrupt the syscalls for a full solution.
Art Cancro [Tue, 18 Mar 2008 19:15:08 +0000 (19:15 +0000)]
libical, expat, and libsieve are now *required*.
If any are missing, configure will abort, telling the user what is missing and
pointing them to the relevant page on our web site.
Dave West [Tue, 18 Mar 2008 15:18:14 +0000 (15:18 +0000)]
Missed one. Only need to use a copy of the context list here and
traverse it in a safe manner.
Dave West [Tue, 18 Mar 2008 15:01:22 +0000 (15:01 +0000)]
mrtg now reads the context list safely.
Dave West [Tue, 18 Mar 2008 15:00:28 +0000 (15:00 +0000)]
Jabber now reads the context list safely and it writes it safely too.
Dave West [Tue, 18 Mar 2008 14:59:28 +0000 (14:59 +0000)]
RWHO command uses new function to read the context list safely.