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

Re: Error - Why?

To be a little more verbose... each schema has certain attributes that can be indexed in certain ways: whether two values are equal or unique or whatever. Since you're in Unix, you've probably got a schema/ directory alongside your slapd.conf file. In there, you can 'grep -l <attribute> *' to find the schema file that contains "mail" or "x500uniqueIdentifier", then view that file for a section that looks like this: (from inetorgperson.schema)

objectclass     ( 2.16.840.1.113730.3.2.2
    NAME 'inetOrgPerson'
        DESC 'RFC2798: Internet Organizational Person'
    SUP organizationalPerson
        MAY (
                audio $ businessCategory $ carLicense $ departmentNumber $
                displayName $ employeeNumber $ employeeType $ givenName $
                homePhone $ homePostalAddress $ initials $ jpegPhoto $
                labeledURI $ mail $ manager $ mobile $ o $ pager $
                photo $ roomNumber $ secretary $ uid $ userCertificate $
                x500uniqueIdentifier $ preferredLanguage $
                userSMIMECertificate $ userPKCS12 )

or this: (from cosine.schema)
attributetype ( 0.9.2342.19200300.100.1.5
        NAME ( 'drink' 'favouriteDrink' )
        EQUALITY caseIgnoreMatch
        SUBSTR caseIgnoreSubstringsMatch
        SYNTAX{256} )

Interestingly, "favouriteDrink" can be indexed for equal names or substring matches. Be specific and intentional when you index. Indexing improves performance and search speed in machines that have the extra RAM to maintain the indexes at all. Indexing just everything, however, is not always practical. Anything with "uniqueIdentifier" in the name is not going to require much text matching and string searching; each entry will be unique, as opposed to the 14 people in your department named "John". Hope this helps.


Matt wrote:
What does this error mean?

In my slapd.conf file I have:
# Indices to maintain
index   objectClass,x500uniqueIdentifier,uid,mail,mailAlternateAddress  eq

but when I try to start slapd I get: [root@ldap openldap]# /usr/local/libexec/slapd /usr/local/etc/openldap/slapd.conf: line 65: equality index of attribute "x500uniqueIdentifier" disallowed

What does that mean?