restore the existing BackendDB, in case overlays are in use

This commit is contained in:
Pierangelo Masarati 2005-11-08 10:09:30 +00:00
parent ea92291cb6
commit 419d2925b1

View File

@ -193,8 +193,8 @@ fe_extended( Operation *op, SlapReply *rs )
reqdata = *op->ore_reqdata; reqdata = *op->ore_reqdata;
} }
if( !(ext = find_extop(supp_ext_list, &op->ore_reqoid ))) ext = find_extop(supp_ext_list, &op->ore_reqoid );
{ if ( ext == NULL ) {
Statslog( LDAP_DEBUG_STATS, "%s EXT oid=%s\n", Statslog( LDAP_DEBUG_STATS, "%s EXT oid=%s\n",
op->o_log_prefix, op->ore_reqoid.bv_val, 0, 0, 0 ); op->o_log_prefix, op->ore_reqoid.bv_val, 0, 0, 0 );
Debug( LDAP_DEBUG_ANY, "do_extended: unsupported operation \"%s\"\n", Debug( LDAP_DEBUG_ANY, "do_extended: unsupported operation \"%s\"\n",
@ -210,6 +210,8 @@ fe_extended( Operation *op, SlapReply *rs )
op->ore_reqoid.bv_val, 0 ,0 ); op->ore_reqoid.bv_val, 0 ,0 );
{ /* start of OpenLDAP extended operation */ { /* start of OpenLDAP extended operation */
BackendDB *bd = op->o_bd;
rs->sr_err = (ext->ext_main)( op, rs ); rs->sr_err = (ext->ext_main)( op, rs );
if( rs->sr_err != SLAPD_ABANDON ) { if( rs->sr_err != SLAPD_ABANDON ) {
@ -224,7 +226,7 @@ fe_extended( Operation *op, SlapReply *rs )
} }
if ( op->o_bd == NULL ) if ( op->o_bd == NULL )
op->o_bd = frontendDB; op->o_bd = bd;
send_ldap_extended( op, rs ); send_ldap_extended( op, rs );
if ( rs->sr_ref != default_referral ) { if ( rs->sr_ref != default_referral ) {