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