On Wed, 15 Aug 2001, Graham Leggett wrote:
> I would prefer not to hack around inside the source if I can. If you do
> this, and someone else tries to upgrade the system a year down the line
> the hacks vanish and everything breaks.
>
Well, this can be considered an experimental patch. I thought this
directory handling might be the stickiest point (well, that, and the "Why
are you 'manually' chasing domain aliases rather than using ldap's builtin
aliasing support?").
As far as not changing qmail-ldap.h or the Makefile, we are talking
about a patch on a patch that says "This is no ./configure; make
software", so buck up. At least you're not really digging into the source
code.
> So if the mailmessagestore attribute has a leading /, it will jump out
> of the homedirectory completely and into the mail directory instead? If
> so, then it will work fine.
You have to #undef IGNORE_ABSOLUTE_MAILDIR in the patch I submitted,
but then this should be the behaviour.
> What happens though if the homeDirectory attribute is missing, or does
> not exist? Does qmail-ldap silently ignore the error and still try to
> change to the mailmessagestore directory? (I think it should).
I have it log at level 2 and 64 that there's no home directory. The
program doing the lookup (qmail-lspawn or auth_*) will then switch to
ldapmailroot (a control file I added - if that doesn't exist, then '/'
will be used). The next process gets whatever's in mailmessagestore (with
some compile time options for (a) ignoring absolute mailmessagestores and
(b) having a compiled in default mailmessagestore if that attribute
doesn't exist) - if that doesn't exist then it gets an empty string. This
may be incorrect behaviour.
> Some of the people in my LDAP tree have corresponding system access, but
> most people don't, and I want to keep it that way.
Shouldn't be a problem.
Lynn