[Date Prev][Date Next] [Chronological] [Thread] [Top]

Problem with indexing modifiersName (ITS#1097)



Full_Name: Peter Shannon
Version: 2.07 and CVS HEAD branch
OS: Debian Potato/Intel
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (62.254.209.2)


I need to search for a few different attributes very quickly for the application

I am working on, these include objectClass, mail, modifiersName and some others

beside.  There for I created entries in the slapd.conf file to index these
attributes
with entries like this:

index           modifiersName eq,pres
index		objectClass eq,pres
index		mail eq,pres

The complete slapd.conf file is included at the end of this message.

After altering the slapd.conf file, I stopped slapd, ran slapindex and
re-started 
slapd.  slapindex created dbb files for each of the indexes I configured in the
configuration file but although searching for mail, objectclass worked
correctly,
searching with '(modifiersName=cn=amdin,dc=alecto,dc=zeus,dc=com)' or similar 
returned no results at all.  Peculiarly, searching for modifiersName equal to
the 
prevelidged user(cn=manager,dc=alecto,dc=zeus,dc=com) did still work.

One other very interesting point: if only modifiersName is indexed searching for

modifiersName works correctly. ie.

index		modifiersName eq,pres
#index		objectClass eq,pres
#index		mail eq,pres

Of corse I had to stop slapd, re-index using slapindex and restart slapd first.

For a simple test I used the following LDIF entries to populate the directory.

dn: dc=alecto, dc=zeus, dc=com
objectclass: dcObject
dc: alecto

dn: cn=admin, dc=alecto, dc=zeus, dc=com
objectclass: person
cn: admin
sn: admin
userPassword: {SSHA}5haTgkHLy+H4y7e4AWstZJf9MEtK/kJZ

dn: cn=interface, dc=alecto, dc=zeus, dc=com
objectclass: person
cn: interface
sn: interface
userPassword: {SSHA}KaIdiFG/+mHIjUhoZin9iPfwz1+YLmZ6

dn: ou=Clients, dc=alecto, dc=zeus, dc=com
objectclass: top
objectclass: organizationalUnit
ou: Clients

I used slapadd to populate the directory but it makes no difference if I use
ldapadd.

##
## My slapd.conf file
##
# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.4 2000/08/26 17:06:18
kurt Exp $
include         /usr/local/ldapv3/etc/openldap/schema/core.schema
include         /usr/local/ldapv3/etc/openldap/schema/cosine.schema
include         /usr/local/ldapv3/etc/openldap/schema/nis.schema
include         /usr/local/ldapv3/etc/openldap/schema/zeus.schema

pidfile         /usr/local/ldapv3/var/slapd.pid
argsfile        /usr/local/ldapv3/var/slapd.args

# Load dynamic backend modules:
# modulepath    /usr/local/ldapv3/libexec/openldap
# moduleload    back_ldap.la
# moduleload    back_ldbm.la
# moduleload    back_passwd.la
# moduleload    back_shell.la

#######################################################################
# auth definitions
#######################################################################

access to attr=userPassword
        by dn="cn=admin,dc=alecto,dc=zeus,dc=com" write
        by dn="cn=interface,dc=alecto,dc=zeus,dc=com" write
        by self write
        by anonymous auth
        by * none

access to *
        by dn="cn=admin,dc=alecto,dc=zeus,dc=com" write
        by dn="cn=interface,dc=alecto,dc=zeus,dc=com" write
        by self write
        by * read

#######################################################################
# ldbm database definitions
#######################################################################

database        ldbm
suffix          "dc=alecto, dc=zeus, dc=com"
directory       /usr/local/ldapv3/var/openldap-ldbm
schemacheck     on
lastmod         on
index           modifiersName eq,pres
rootdn          "cn=manager,dc=alecto,dc=zeus,dc=com"
rootpw          pass

Thanks in advance for you help.