Well,
I got everything working. A couple of issues - first, the directory
structure has to be owned by the uid/gid specified in the LDAP server.
Since courier-IMAP doesn't allow run as root, I couldn't use that ID
(0,0). But my mail-server (XMail) does run as root, and all of the
Maildirs are root owned. The only work-around I could come up with was
to chown -R all of my Maildirs to the user I'm specifying in uid/gid.
It's a hack, but it works. Now I've got to write a bit of Perl to do
that from my Admin console when a new account is created - then all I
have to do is hack the Admin console. I looked for the code that was
not allowing root access, but I'm guessing it's in more than one place?
I changed it in authldaplib.c, but that only allowed me to log in as
root. I still couldn't get to my mailboxes. Since I only allow IMAP
access from localhost, I think I'd be pretty safe here as root (I use it
to host a SquirrelMail server for Web-Mail). You really should make
this an option, and not force people to access as non-root users. You
guys are C programmers - remember: the assumption is the programmer
knows what he's doing? Anyone who can get all of this working can
probably make that decision on his own.
Kelly McTiernan
P.S. - for anybody compiling Courier-IMAP on Solaris, make check fails
miserably. You can safely ignore it, though. Everything works fine;
just make install (as long as you get make to work - that's another
story).
Oh, and if you have problems authenticating - check the ownership of
your Maildirs. THEY MUST BE OWNED BY THE GID/UID OF THE LOGIN UID/GID!