Thanks everybody for your feedback. If I understand things correctly, there is really nothing much that one can do in the OpenLDAP, for the attribute I am interested in is defined to have case-insensitive values already. Since the string comparison carried out by getpwnam() in Linux is case-sensitive, my only way out seems to be to use 'ignorecase yes' in my /etc/nslcd.conf file - not really that  desirable, for a number of reasons, but probably OKin my case.


On Tuesday, August 13, 2019, 05:09:54 PM MDT, Quanah Gibson-Mount <quanah@symas.com> wrote:




--On Tuesday, August 13, 2019 4:25 PM +0000 JC <lovecraftesque@yahoo.com>
wrote:


>
> Now it seems to be the case that, with a user entry in OpenLDAP as
> described above, getpwnam("james") will look for an entry such that the
> its uid attribute takes the value "james". I.e. if the value of uid is,
> say, "James" then it will be ignored. Which, following the discussion
> above, doesn't fit my goal.


The "uid" attribute is explicitly defined to be case insensitive in
RFC1274, see section 9.3.1 "userid".  This is reflected in the OpenLDAP
core schema:

#attributetype ( 0.9.2342.19200300.100.1.1
#  NAME ( 'uid' 'userid' )
#  DESC 'RFC1274: user identifier'
#  EQUALITY caseIgnoreMatch
#  SUBSTR caseIgnoreSubstringsMatch
#  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )


Regards,
Quanah


--

Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com
>