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.

Reply via email to