On Fri, 5 Apr 2002, Lawrence Walton wrote:
> I tried to send this email to your email address but it bounced
What went wrong? I have received plenty of email.
> Lawrence Walton has
> been in contact with you over the past several days regarding a bug in Exim
> that we have been struggling with.
And I have responded. Did you get my response? I also sent it to this
list.
> This leads me to suspect that there is a very subtle bug in the way that
> the transport code interacts with ldap lookups.
It's possible that it was this bug, which was fixed in Exim 4.02:
21. If a router set transport_current_directory or transport_home_directory
to something that involved an LDAP lookup, and there was more than one
local delivery to be done for a single message, all but the first got
deferred because the LDAP connection for those variables got opened in the
superior process, but closed in the first subprocess. The second subprocess
then assumed it was still open. We now ensure that each subprocess starts
with a clean slate (everything closed down) so that it can open and close
its own connections as needed.
> Finally, I discovered a bug in the ldap error handling code.
This was reported a short time ago by another LDAP user. In my response
to Lawrence Walton, I wrote:
-----------------------------------------------------------------
It was pointed out recently that this doesn't work if the value of the
"result" variable is NULL, and I modified Exim 4 to avoid calling
ldap_err2string() in this situation. This prevents things from crashing.
However, all the information you have is "There was a problem with
LDAP", which isn't very helpful.
If there are any LDAP experts reading this who know what to do in order
to get more details of what has gone wrong when ldap_result() yields -1
and the result value is NULL, I'd like to hear from you!
-----------------------------------------------------------------
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.