> I had problems with this too, but I thought that it was due to our in-house
> code that populated LDAP based upon Oracle data. Our converter was
> inserting atributes with blank values instead of just skipping the
> attribute. Exim was pulling back the blank value (since blank is
> technically a value in LDAP), but when it use the value in an expansion,
> everything blew up.
Of course, but I think an empty value should not be treated like a failed
query at the lookup level. You can solve this problem using a director
condition at the cost of an extra lookup.
By now I think that the query should fail if the attribute is not present,
instead of expanding to an empty string (or to garbage, as it does now),
but the ldap lookup code does not appear to deal with optional attributes.
Such bugs would be found easier if get_store would initialise its returned
storage with e.g. 0xdeadbeef.
If I can come up with a patch to let such queries fail, I will mail it
to the list. Having slept a night over it made things much clearer. :)
Michael
--
*** Exim information can be found at
http://www.exim.org/ ***