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

Re: database meta question



D'Arcy Smith wrote:

> I am having a terrible time trying to get the meta backend to work
> with my setup.  If I do not have meta things work as expected.  As
> soon as I add the meta backend thing go south.

What version of OpenLDAP are you using?

> Partial slapd.conf:
> 
> database      ldap
> suffix        "o=a.y.x,o=y"
> uri           ldap://a.y.z:389/
> idassert-authzFrom "dn:*"
> idassert-bind bindmethod=simple
>  binddn="uid=foo,ou=people,o=a.y.z,o=y"
>  credentials="**********"
>  mode=none
> 
> database        bdb
> suffix          "o=b.y.z,o=bcit"
> checkpoint      32      30 # <kbyte> <min>

^^^ extra cruft after "#" (included) is invalid, as clearly indicated in
slapd.conf(5).  This is treated as an error in OpenLDAP 2.4 (finally!)

> rootdn          "cn=Manager,o=b.y.z,o=y"
> rootpw          {MD5}********==

rootpw can only be set when rootdn is within the naming context of the
database, as clearly indicated in slapd.conf(5), which is not the case
above.

> directory       /var/lib/openldap-data
> index   objectClass     eq
> 
> database            meta
> suffix                 "o=y.z,o=y"
> 
> uri                 "ldap://foo.bar.star:389/o=a.y.z,o=y";

^^^ this is not a valid back-meta URI, since the naming context
"o=a.y.z,o=y" is not within the naming context of the database, as
clearly stated in slapd-meta(5).

> rwm-rewriteEngine   on

^^^ this is not a valid slapd-meta(5) directive.  The "rwm-" prefix
clearly indicates it's related to slapo-rwm(5), which has not been
instantiated (nor it is required by slapd-meta(5)).

> rwm-rewriteContext  default
> twm-rewriteRule     "(.*)o=y.z,o=y" "%1o=a,y.z,o=y"
> rwm-rewriteContext  searchResult
> rwm-rewriteRule     "(.*)o=a.y.z,o=y" "%1o=y.z,o=y"
> rwm-map             attribute * *

^^^ same as above

> 
> uri                 "ldap://foo.bar.com:389/o=b.y.z,o=y";

^^^ same as above

> rwm-rewriteEngine   on
> rwm-rewriteContext  default
> twm-rewriteRule     "(.*)o=y.z,o=y" "%1o=b,y.z,o=y"
> rwm-rewriteContext  searchResult
> rwm-rewriteRule     "(.*)o=b.y.z,o=y" "%1o=y.z,o=y"
> rwm-map             attribute * *

^^^ same as above

> When I run slapd with -d -1 I get (in part):
> 
> config_back_db_open
> backend_startup_one: starting "o=a.y.z,o=y"
> ldap_back_db_open: URI=ldap://a.y.z:389
> backend_startup_one: starting "o=b.y.z,o=y"
> bdb_db_open: o=b.y.z,o=y
> bdb_db_open: dbenv_open(/var/lib/openldap-data)
> backend_startup_one: starting "o=y.z,o=y"
> meta_back_db_open: no targets defined
> backend_startup_one: bi_db_open failed! (1)
> 
> So, it seems that "meta" is finding no targets...

Clearly, the incorrect configuration above is screwing things.  Since
you didn't state what version of OpenLDAP you're using, there's no way I
can help.  Note that I'm not a magician, I just ran slaptest and noted
(and fixed) errors as they showed up.

p.



Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   pierangelo.masarati@sys-net.it
---------------------------------------