]> git.sur5r.net Git - openldap/commitdiff
don't try to lookup a database when there's no request DN
authorPierangelo Masarati <ando@openldap.org>
Sat, 12 May 2007 13:07:17 +0000 (13:07 +0000)
committerPierangelo Masarati <ando@openldap.org>
Sat, 12 May 2007 13:07:17 +0000 (13:07 +0000)
servers/slapd/back-relay/op.c

index d082aeda444c4d26156ea599111a22cd42e00406..f90c145a961e9be66ef880ae28053ce9f708363b 100644 (file)
@@ -60,7 +60,7 @@ relay_back_select_backend( Operation *op, SlapReply *rs, int err )
        relay_back_info         *ri = (relay_back_info *)op->o_bd->be_private;
        BackendDB               *bd = ri->ri_bd;
 
-       if ( bd == NULL ) {
+       if ( bd == NULL && !BER_BVISNULL( &op->o_req_ndn ) ) {
                bd = select_backend( &op->o_req_ndn, 0, 1 );
                if ( bd == op->o_bd ) {
                        if ( err > LDAP_SUCCESS ) {
@@ -136,13 +136,12 @@ relay_back_op_bind( Operation *op, SlapReply *rs )
 int
 relay_back_op_unbind( Operation *op, SlapReply *rs )
 {
-       relay_back_info         *ri = (relay_back_info *)op->o_bd->be_private;
        BackendDB               *bd;
        int                     rc = 1;
 
-       bd = ri->ri_bd;
+       bd = relay_back_select_backend( op, rs, LDAP_SUCCESS );
        if ( bd == NULL ) {
-               bd = select_backend( &op->o_req_ndn, 0, 1 );
+               return 1;
        }
 
        if ( bd && bd->be_unbind ) {