Hi!
I am experiencing troubles when trying to add an additional value to the olcDbConfig attribute (openldap-2.4.16):
$ ldapmodify -xvW -h bach-s49 -D cn=Manager,cn=config <<EOF
dn: olcDatabase={1}bdb,cn=config changetype: modify add: olcDbConfig olcDbConfig: {19}# urxn
EOF
ldap_initialize( ldap://bach-s49 ) Enter LDAP Password: add olcDbConfig: {19}# urxn modifying entry "olcDatabase={1}bdb,cn=config" ldap_modify: Inappropriate matching (18) additional info: modify/add: olcDbConfig: no equality matching rule
replacing all attribute values with "changetype: modify" and "replace: olcDbConfig" works fine but unfortunately Apache DirectoryStudio doesn't seem to offer that way of committing changes...
Unfortunately the attribute definition of olcDbConfig seems to be hardcoded, so is there any way to make the above modification work?
Thanks, --leo
Hi!
I am experiencing troubles when trying to add an additional value to the olcDbConfig attribute (openldap-2.4.16):
$ ldapmodify -xvW -h bach-s49 -D cn=Manager,cn=config <<EOF
dn: olcDatabase={1}bdb,cn=config changetype: modify add: olcDbConfig olcDbConfig: {19}# urxn
EOF
ldap_initialize( ldap://bach-s49 ) Enter LDAP Password: add olcDbConfig: {19}# urxn modifying entry "olcDatabase={1}bdb,cn=config" ldap_modify: Inappropriate matching (18) additional info: modify/add: olcDbConfig: no equality matching rule
replacing all attribute values with "changetype: modify" and "replace: olcDbConfig" works fine but unfortunately Apache DirectoryStudio doesn't seem to offer that way of committing changes...
That's the prescribed way to modify values of multi-valued attrs without equality matching rules in LDAP. So it appears a limitation of the DUA you're using rather than an OpenLDAP issue.
As per the reason olcDbConfig has no equality matching rule, I recall it was by design, because that attribute is supposed to present in human-readable form the contents of Oracle DB's DB_CONFIG, without mucking with its contents. OpenLDAP already provides a means to muck with the ordering of its contents, it's the X-ORDERING 'VALUES' private extension.
Unfortunately the attribute definition of olcDbConfig seems to be hardcoded, so is there any way to make the above modification work?
You can hard-code your modification, if you wish. If you don't want to modify baseline code permanently, you can write a run-time module that looks up that attribute's definition and modifies it at startup.
p.
openldap-technical@openldap.org