/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2004-2014 The OpenLDAP Foundation.
+ * Copyright 2004-2018 The OpenLDAP Foundation.
* Portions Copyright 2005 Symas Corporation.
* All rights reserved.
*
op->o_bd = &ov->db;
ov->db.be_acl = op->o_bd->be_acl;
rc = ov->db.bd_info->bi_entry_get_rw(op, &op->o_req_ndn, NULL, NULL, 0, &re);
+ op->o_bd = db;
if(rc != LDAP_SUCCESS || re == NULL ) {
send_ldap_error((op), rs, LDAP_NO_SUCH_OBJECT,
"attempt to modify nonexistent local record");
return(rs->sr_err);
}
- op->o_bd = db;
/*
** fetch entry from local backend;
** if it exists:
**
*/
- 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;
} 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) {
** 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;
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;
BackendDB *db;
slap_overinst *on;
Filter *orig;
- Avlnode *list;
+ TAvlnode *list;
int step;
int slimit;
AttributeName *attrs;
if ( rs->sr_type == REP_RESULT && ( tc->step & USE_LIST ))
return 0;
- if(!op || !rs || rs->sr_type != REP_SEARCH || !rs->sr_entry)
+ if(rs->sr_type != REP_SEARCH || !rs->sr_entry)
return(SLAP_CB_CONTINUE);
Debug(LDAP_DEBUG_TRACE, "==> translucent_search_cb: %s\n",
/* Send out anything remaining on the list and finish */
if ( tc.step & USE_LIST ) {
if ( tc.list ) {
- Avlnode *av;
+ TAvlnode *av;
av = tavl_end( tc.list, TAVL_DIR_LEFT );
while ( av ) {