From: Howard Chu Date: Mon, 4 Aug 2014 20:37:34 +0000 (-0700) Subject: ITS#7915 fix translucent_modify X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7f7a82c0f5b87fcee8bab28f46b301cf3cb38442;p=openldap ITS#7915 fix translucent_modify Go directly to local backend when fetching local entry --- diff --git a/servers/slapd/overlays/translucent.c b/servers/slapd/overlays/translucent.c index 379adc1b80..a8846b10a1 100644 --- a/servers/slapd/overlays/translucent.c +++ b/servers/slapd/overlays/translucent.c @@ -439,7 +439,7 @@ static int translucent_modify(Operation *op, SlapReply *rs) { ** */ - op->o_bd->bd_info = (BackendInfo *) on->on_info; + op->o_bd->bd_info = (BackendInfo *) on->on_info->oi_orig; rc = be_entry_get_rw(op, &op->o_req_ndn, NULL, NULL, 0, &e); op->o_bd->bd_info = (BackendInfo *) on; @@ -486,7 +486,7 @@ release: } else entry_free(re); } - op->o_bd->bd_info = (BackendInfo *) on->on_info; + op->o_bd->bd_info = (BackendInfo *) on->on_info->oi_orig; be_entry_release_r(op, e); op->o_bd->bd_info = (BackendInfo *) on; if(erc == SLAP_CB_CONTINUE) { @@ -662,7 +662,7 @@ static int translucent_pwmod(Operation *op, SlapReply *rs) { ** return CONTINUE; */ - op->o_bd->bd_info = (BackendInfo *) on->on_info; + op->o_bd->bd_info = (BackendInfo *) on->on_info->oi_orig; rc = be_entry_get_rw(op, &op->o_req_ndn, NULL, NULL, 0, &e); op->o_bd->bd_info = (BackendInfo *) on; @@ -676,7 +676,7 @@ static int translucent_pwmod(Operation *op, SlapReply *rs) { entry_free(re); } } - op->o_bd->bd_info = (BackendInfo *) on->on_info; + op->o_bd->bd_info = (BackendInfo *) on->on_info->oi_orig; be_entry_release_r(op, e); op->o_bd->bd_info = (BackendInfo *) on; return SLAP_CB_CONTINUE;