mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-27 10:09:43 -05:00
Revert prev commit, simpler fix...
This commit is contained in:
parent
78a6a16615
commit
faddd86f54
1 changed files with 6 additions and 16 deletions
|
|
@ -853,9 +853,14 @@ syncprov_sendresp( Operation *op, opcookie *opc, syncops *so, int mode )
|
|||
}
|
||||
|
||||
rs.sr_ctrls = ctrls;
|
||||
rs.sr_entry = &e_uuid;
|
||||
if ( mode == LDAP_SYNC_ADD || mode == LDAP_SYNC_MODIFY ) {
|
||||
e_uuid = *opc->se;
|
||||
e_uuid.e_private = NULL;
|
||||
}
|
||||
|
||||
switch( mode ) {
|
||||
case LDAP_SYNC_ADD:
|
||||
rs.sr_entry = opc->se;
|
||||
if ( opc->sreference && so->s_op->o_managedsait <= SLAP_CONTROL_IGNORED ) {
|
||||
rs.sr_ref = get_entry_referrals( op, rs.sr_entry );
|
||||
rs.sr_err = send_search_reference( op, &rs );
|
||||
|
|
@ -864,7 +869,6 @@ syncprov_sendresp( Operation *op, opcookie *opc, syncops *so, int mode )
|
|||
}
|
||||
/* fallthru */
|
||||
case LDAP_SYNC_MODIFY:
|
||||
rs.sr_entry = opc->se;
|
||||
rs.sr_attrs = op->ors_attrs;
|
||||
rs.sr_err = send_search_entry( op, &rs );
|
||||
break;
|
||||
|
|
@ -872,7 +876,6 @@ syncprov_sendresp( Operation *op, opcookie *opc, syncops *so, int mode )
|
|||
e_uuid.e_attrs = NULL;
|
||||
e_uuid.e_name = opc->sdn;
|
||||
e_uuid.e_nname = opc->sndn;
|
||||
rs.sr_entry = &e_uuid;
|
||||
if ( opc->sreference && so->s_op->o_managedsait <= SLAP_CONTROL_IGNORED ) {
|
||||
struct berval bv = BER_BVNULL;
|
||||
rs.sr_ref = &bv;
|
||||
|
|
@ -981,7 +984,6 @@ syncprov_qtask( void *ctx, void *arg )
|
|||
Operation *op;
|
||||
BackendDB be;
|
||||
int rc;
|
||||
OpExtra oex;
|
||||
|
||||
op = &opbuf.ob_op;
|
||||
*op = *so->s_op;
|
||||
|
|
@ -1000,11 +1002,6 @@ syncprov_qtask( void *ctx, void *arg )
|
|||
be.be_flags |= SLAP_DBFLAG_OVERLAY;
|
||||
op->o_bd = &be;
|
||||
LDAP_SLIST_FIRST(&op->o_extra) = NULL;
|
||||
|
||||
/* Let syncprov_operational know it's us */
|
||||
oex.oe_key = (void *)syncprov_qtask;
|
||||
LDAP_SLIST_INSERT_HEAD(&op->o_extra, &oex, oe_next);
|
||||
|
||||
op->o_callback = NULL;
|
||||
|
||||
rc = syncprov_qplay( op, so );
|
||||
|
|
@ -2637,13 +2634,6 @@ syncprov_operational(
|
|||
{
|
||||
slap_overinst *on = (slap_overinst *)op->o_bd->bd_info;
|
||||
syncprov_info_t *si = (syncprov_info_t *)on->on_bi.bi_private;
|
||||
OpExtra *oex;
|
||||
|
||||
/* short-circuit, don't want backends handling this */
|
||||
LDAP_SLIST_FOREACH(oex, &op->o_extra, oe_next) {
|
||||
if ( oex->oe_key == (void *)syncprov_qtask )
|
||||
return LDAP_SUCCESS;
|
||||
}
|
||||
|
||||
/* This prevents generating unnecessarily; frontend will strip
|
||||
* any statically stored copy.
|
||||
|
|
|
|||
Loading…
Reference in a new issue