Juri Tanganelli wrote:
After further debugging i found the following behaviour:
The entry has the uid attribute correctly initialized: uid S287384.
Then it should have a corresponding normalized value "s287384" (note the lowercase "s") in the a_nvals array of bervals of the Attribute strycture where it's stored. If it doesn't (e.g. because the attribute was created incorrectly by your custom backend) then the behavior you see makes perfectly sense, and is not indicative of a software bug in OpenLDAP software.
p.
If the uid starts with a capital letter then using these two filters:
(uid=S287384) or (uid=s287384) doesn't return any result.
If the uid attribute starts with a lower case letter ( i.e. uid=s287384 ) then both filters work and return the entry. The definition of the uid attribute is embodied in openldap source code and from what i have seen it should be treated as a case insensitive attribute. How to explain this behaviour??
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: pierangelo.masarati@sys-net.it ---------------------------------------