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

Object class violation/assertion when adding dynamic chaining configuration



OpenLDAP version(s): 2.4.32 and recent git master (54a111907b48900e1ce5de12a9d87818a334423d)
OS: CentOS 5, 32-bit

While preparing the test cases for ITS#7381 (q.v.) I encountered two issues when trying to add an instance of olcLDAPConfig below the chaining overlay entry. If the instance entry looks like this...

dn: olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
objectClass: olcLDAPConfig
objectClass: olcChainDatabase
olcDatabase: {0}ldap

...adding the entry (with ldapadd) fails with Error 65 (Object class violation).
The server logs the following:

504717ff slapd-chain: subsequent underlying database "olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config" must contain attribute "olcDbURI".
504717ff conn=1000 op=2: config_add_internal: DN="olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config" no structural objectClass add function

Note that converting a minimal chaining configuration with slaptest generates an
olcLDAPConfig entry without an olcDbURI, and that olcDbURI is not listed as a
MUST attribute for olcLDAPConfig.

Furthermore, if I try to add an olcLDAPConfig entry with an empty olcDbURI...

dn: olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
objectClass: olcLDAPConfig
objectClass: olcChainDatabase
olcDatabase: {0}ldap
olcDbURI: ""

...it triggers an assertion:

slapd: chain.c:224: ldap_chain_uri_cmp: Assertion `li2->li_bvuri != ((void *)0)' failed.

Should I file an ITS for those two issues (or maybe two separate ITSs), or is this a
"don't do that" scenario?

i.