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

slap_bv2ad does not know "dc"? (ITS#2290)

Full_Name: Raf Schietekat
Version: 2.1.12
OS: Mandrake 9.0
Submission from: (NULL) (

I'm new to LDAP, the problem is perfectly reproducible,
hope I'm not wasting your time. I have some programming
experience (built my own working partial CORBA implementation
from the public specifications).
There's an OpenLDAP in Mandrake 9.0, but it's 2.0.25 (not installed yet),
and I decided to get and build the latest instead (ahum).
(By install, I mean using rpmdrake on a distribution package.)
I also got and built OpenSSL-0.9.7 instead of the one in Mandrake
(only openssl command-line and shared libraries were already installed).
In configure, I removed -O2 for more accurate debugging
(maybe there's a better way, it just was the quickest for me).
./configure --disable-bdb --enable-ldbm --without-cyrus-sasl
(there's no BerkeleyDB, but I installed GDBM;
libtool had a problem with /usr/lib/libsasl.la
so I decided to try not using SASL for now).
I don't know GDBM, I'm just assuming it's just an engine for
slapd to use to automatically
do the right thing with the declared openldap-ldbm file?
make depend
make test works
/usr/local/etc/openldap/slapd.conf contains the quick install contents:
  database ldbm
  suffix "dc=somedomain,dc=com"
  rootdn "cn=Manager,dc=somedomain,dc=com"
  rootpw secret
  directory /usr/local/var/openldap-ldbm
su root -c 'make install'
Problem trying to run a real server as described!
It's the same during investigation, so I'll describe that instead.
cd servers/slapd
./slapd -d -1 -h ldap://localhost:61499
  (can't use normal port when I'm not root, so...)
There are quite a few calls to slap_bv2ad with arguments like
(I'll just list the last ones before it goes wrong):
distinguishedName, name, cn, userPassword,
and they return successfully.
(I've added diagnostic code to get some more trace information.
Then I have the following:
reading config file /usr/local/etc/openldap/slapd.conf
line 1 (database ldbm)
line 2 (suffix "dc=somedomain,dc=com>
>>> dnPrettyNormal: <dc=somedomain,dc=com>
=> ldap_bv2dn(dc=somedomain,dc=com,0)
<= ldap_bv2dn(dc=somedomain,dc=com,0)=0
>>> LDAPN_rewrite: <> (added trace info)
>>> slap_dv2ad: <dc> (added trace info)
/usr/local/etc/openldap/slapd.conf: line 2: suffix DN is invalid
slapd shutdown: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
So why are the others OK, but is dc apparently unknown to slap_bv2ad?
Should I give more trace information or do you know enough?
Quick peek in /usr/local/var: only openldap-data and openldap-slurp,
nothing like openldap-ldbm, in case that says anything
(should I have created it myself?).