On Mon, Apr 19, 2004 at 11:56:22AM +0900, Reinke Bonte wrote: > In the sqwebmail version included with courier 0.45.4 I cannot make acls > work. I can set acls of folders with the commandline tool maildiracl and > sqwebmail displays them correctly, but whenever I try to change an acl > from within sqwebmail I get "Internal error in module acl.c, line 297 - > please contact system administrator." > > Well, the system administrator is myself... I looked in the source code, > but couldn't find anything.
The source shows: It's an enomem(). It's triggered if maildirwatch_alloc(minfo.homedir) returns null. ** Unfortunately, looking at the source of maildirwatch (in maildir/maildirwatch.c), it can return null in quite a few different conditions: - cannot get current working directory - memory allocation failures - if you have FAM, a failure in FAMOpen Currently Sam is making a decision as to how to handle stderr output from the sqwebmail daemon; maybe soon you'll be able to put fprintf(stderr,...) lines in there and have them captured to syslog. In the mean time, you can either open a debug file and write to it, or you can call syslog() explicitly, if you want to find out exactly what is going on. ** in turn, minfo.homedir comes from maildir_info_imap_find(&minfo,...) which I guess uses the shared index file. So perhaps you have not populated that file correctly. Care to show an example of what you have put in it? However I can't really understand what is going on in the source here, since it's a "homedir" value from maildir_info_imap_find() which is being passed to a "maildir" argument of maildirwatch(). I'd have to start putting printf's in just to work out what is supposed to be happening. If all that is correct, then it just might be a problem with FAM. However there doesn't seem to be a ./configure --without-fam option. You might want to try temporarily renaming fam.h and libfam.{a,so*} so that they can't be found, recompiling courier, and then putting them back. Regards, Brian.