Hi,
For the last few days, I've been trying to get nssov to work. I've mainly been working with OpenLDAP 2.4.21, but this issue is present in all releases since and including 2.4.19. It works fine in 2.4.18.
Everything compiles fine as expected, and the module loads (it seems), but when I try to add configuration for the module with ldapadd, I get this error:
ldap_add: Other (e.g., implementation specific) error (80) additional info: <olcOverlay> handler exited with 1
Using the same build instructions, configuration, and everything, 2.4.18 works without this error. Some more details are below.
I'd try to fix it myself, but I don't really know where to start. I'd appreciate it if someone could point me in the right direction.
Thanks, Chris Breneman
More details:
Process for building OpenLDAP (done as root): cd openldap-2.4.21 ./configure --enable-modules --enable-overlays make depend make -j2 make install cd contrib/slapd-modules/nssov/nss-ldapd ./configure # Make complains about missing something unless ./configure is executed in nss-ldapd first cd .. make make install libtool --finish /usr/local/lib # As per instructions from the make output
Relevant slapd configuration: dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/local/libexec/openldap olcModuleLoad: /usr/local/libexec/openldap/nssov.la
Listing of modules: $ ls /usr/local/libexec/openldap/ nssov.a nssov.la nssov.so nssov.so.0 nssov.so.0.0.0
Command to add nssov configuration: ldapadd -H ldap://localhost -x -D 'cn=config' -w <password>
LDIF for nssov configuration: dn: olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig objectClass: olcNssOvConfig olcOverlay: {0}nssov olcNssSsd: passwd ldap:///ou=people,dc=cluenet,dc=org??one
ldapadd output: adding new entry "olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config" ldap_add: Other (e.g., implementation specific) error (80) additional info: <olcOverlay> handler exited with 1
Relevant output from running slapd with -d -1 on startup: loaded module /usr/local/libexec/openldap/nssov.la module /usr/local/libexec/openldap/nssov.la: null module registered
Relevant output from running slapd with -d -1 on ldapadd command:
dnPrettyNormal: <olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config>
=> ldap_bv2dn(olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config,0) <= ldap_bv2dn(olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config)=0 => ldap_dn2bv(272) <= ldap_dn2bv(olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config)=0 => ldap_dn2bv(272) <= ldap_dn2bv(olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config)=0 <<< dnPrettyNormal: <olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config>, <olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config> conn=1000 op=1 ADD dn="olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config" => access_allowed: add access to "olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config" "entry" requested <= root access granted => access_allowed: add access granted by manage(=mwrscxd) <= acl_access_allowed: granted to database root oc_check_required entry (olcOverlay={0}nssov,olcDatabase={1}bdb,cn=config), objectClass "olcNssOvConfig" oc_check_allowed type "objectClass" oc_check_allowed type "olcOverlay" oc_check_allowed type "olcNssSsd" oc_check_allowed type "structuralObjectClass" slap_queue_csn: queing 0xb5d52ab2 20100228195617.582000Z#000000#000#000000 => access_allowed: add access to "olcDatabase={1}bdb,cn=config" "children" requested <= root access granted => access_allowed: add access granted by manage(=mwrscxd) olcOverlay: value #0: <olcOverlay> handler exited with 1! send_ldap_result: conn=1000 op=1 p=3 send_ldap_result: err=80 matched="" text="<olcOverlay> handler exited with 1" send_ldap_response: msgid=2 tag=105 err=80