[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