[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: search problem
> I am migrating our current LDAP directory to OpenLDAP 2.2.13
>
> As part of this I am now storing a DN in the attribute roleoccupant (as
> one
> should). The problem I have is that I don't seem to be able to search on
> this attribute. For example using the Net::LDAP Perl module to do the
> following
>
> $filter = "(roleoccupant=employeenumber=1182,ou=people,o=bath.ac.uk)"
>
> $result = $ldap->search (
> base => $base,
> scope => "sub",
> filter => $filter
> );
>
> Seems to return all entries for which any attribute has the value
> "employeenumber=1182,ou=people,o=bath.ac.uk" not just roleoccupant.
>
> For example the following record is returned along with the expected one.
>
> dn: shortou=ADM-PENT,ou=units,o=bath.ac.uk
> cn: Modern Pentathlon Association of Great Britain
> objectClass: BathOu
> parentou: ADM-REGR
> shortou: ADM-PENT
> maintainer: employeeNumber=1182,ou=people,o=bath.ac.uk
> maintainer: employeeNumber=121867,ou=people,o=bath.ac.uk
> maintainer: employeeNumber=45410,ou=people,o=bath.ac.uk
> maintainer: employeeNumber=786953,ou=people,o=bath.ac.uk
>
> I have defined "maintainer" as follows in the local schema file
>
> attributetype ( BathAttributeType:31 NAME 'maintainer'
> DESC 'Directory Maintainer'
> SUP roleoccupant
> )
>
> ie with SUP roleoccupant, but I would not expect that to lead to the
> observed behaviour.
>
> The record I am searching for contains
> roleoccupant: employeenumber=1182,ou=people,o=bath.ac.uk
>
> Can anyone explain this behaviour?
It's called "inheritance"; if you don't want it,
don't make "maintainer" inherit from "roleOccupant".
p.
--
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it
SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497