BerValue *vals, *nvals;
slap_callback cb = { NULL, slap_null_cb, NULL, NULL };
Operation o = *op;
+ unsigned long opid = op->o_opid;
assert( dn != NULL );
assert( ndn != NULL );
modlist->sml_flags = SLAP_MOD_INTERNAL;
modlist->sml_next = NULL;
+ o.o_opid = 0; /* shared with op, saved above */
o.o_tag = LDAP_REQ_MODIFY;
o.o_callback = &cb;
o.orm_modlist = modlist;
o.o_req_dn = age->age_dn;
o.o_req_ndn = age->age_ndn;
o.o_permissive_modify = 1;
+ o.o_dont_replicate = 1;
+ o.orm_no_opattrs = 1;
o.o_managedsait = SLAP_CONTROL_CRITICAL;
o.o_relax = SLAP_CONTROL_CRITICAL;
o.o_bd->bd_info = (BackendInfo *)on;
slap_mods_free( modlist, 1 );
+ op->o_opid = opid;
return sreply.sr_err;
}
SlapReply sreply = {REP_RESULT};
slap_callback cb = { NULL, slap_null_cb, NULL, NULL };
Operation o = *op;
+ unsigned long opid = op->o_opid;
Debug(LDAP_DEBUG_TRACE, "==> autogroup_add_member_values_to_group adding <%s> to <%s>\n",
dn->bv_val, age->age_dn.bv_val, 0);
modlist.sml_flags = SLAP_MOD_INTERNAL;
modlist.sml_next = NULL;
+ o.o_opid = 0;
o.o_tag = LDAP_REQ_MODIFY;
o.o_callback = &cb;
o.orm_modlist = &modlist;
o.o_req_dn = age->age_dn;
o.o_req_ndn = age->age_ndn;
o.o_permissive_modify = 1;
+ o.o_dont_replicate = 1;
+ o.orm_no_opattrs = 1;
o.o_managedsait = SLAP_CONTROL_CRITICAL;
o.o_relax = SLAP_CONTROL_CRITICAL;
o.o_bd->bd_info = (BackendInfo *)on->on_info;
(void)op->o_bd->be_modify( &o, &sreply );
o.o_bd->bd_info = (BackendInfo *)on;
+ op->o_opid = opid;
return sreply.sr_err;
}
BerValue *vals, *nvals;
slap_callback cb = { NULL, slap_null_cb, NULL, NULL };
Operation o = *op;
+ unsigned long opid = op->o_opid;
if ( dn == NULL || ndn == NULL ) {
Debug(LDAP_DEBUG_TRACE, "==> autogroup_delete_member_from_group removing all members from <%s>\n",
modlist->sml_flags = SLAP_MOD_INTERNAL;
modlist->sml_next = NULL;
+ o.o_opid = 0;
o.o_callback = &cb;
o.o_tag = LDAP_REQ_MODIFY;
o.orm_modlist = modlist;
o.o_relax = SLAP_CONTROL_CRITICAL;
o.o_managedsait = SLAP_CONTROL_CRITICAL;
o.o_permissive_modify = 1;
+ o.o_dont_replicate = 1;
+ o.orm_no_opattrs = 1;
o.o_bd->bd_info = (BackendInfo *)on->on_info;
(void)op->o_bd->be_modify( &o, &sreply );
slap_mods_free( modlist, 1 );
+ op->o_opid = opid;
return sreply.sr_err;
}
SlapReply sreply = {REP_RESULT};
slap_callback cb = { NULL, slap_null_cb, NULL, NULL };
Operation o = *op;
+ unsigned long opid = op->o_opid;
Debug(LDAP_DEBUG_TRACE, "==> autogroup_delete_member_values_from_group removing <%s> from <%s>\n",
dn->bv_val, age->age_dn.bv_val, 0);
modlist.sml_flags = SLAP_MOD_INTERNAL;
modlist.sml_next = NULL;
+ o.o_opid = 0;
o.o_tag = LDAP_REQ_MODIFY;
o.o_callback = &cb;
o.orm_modlist = &modlist;
o.o_req_dn = age->age_dn;
o.o_req_ndn = age->age_ndn;
o.o_permissive_modify = 1;
+ o.o_dont_replicate = 1;
+ o.orm_no_opattrs = 1;
o.o_managedsait = SLAP_CONTROL_CRITICAL;
o.o_relax = SLAP_CONTROL_CRITICAL;
o.o_bd->bd_info = (BackendInfo *)on->on_info;
(void)op->o_bd->be_modify( &o, &sreply );
o.o_bd->bd_info = (BackendInfo *)on;
+ op->o_opid = opid;
return sreply.sr_err;
}
o.ors_tlimit = SLAP_NO_LIMIT;
o.ors_slimit = SLAP_NO_LIMIT;
o.ors_attrs = agf->agf_anlist ? agf->agf_anlist : slap_anlist_no_attrs;
+ o.o_do_not_cache = 1;
agg.agg_group = age;
agg.agg_filter = agf;
o.o_bd->bd_info = (BackendInfo *)on;
if ( modify == 1 && agg.agg_mod ) {
+ unsigned long opid = op->o_opid;
+
rs_reinit( &rs, REP_RESULT );
o = *op;
+ o.o_opid = 0;
o.o_callback = &null_cb;
o.o_tag = LDAP_REQ_MODIFY;
o.orm_modlist = agg.agg_mod;
o.o_relax = SLAP_CONTROL_CRITICAL;
o.o_managedsait = SLAP_CONTROL_NONCRITICAL;
o.o_permissive_modify = 1;
+ o.o_dont_replicate = 1;
+ o.orm_no_opattrs = 1;
o.o_bd->bd_info = (BackendInfo *)on->on_info;
(void)op->o_bd->be_modify( &o, &rs );
o.o_bd->bd_info = (BackendInfo *)on;
slap_mods_free(agg.agg_mod, 1);
+ op->o_opid = opid;
}
return 0;
op->ors_tlimit = SLAP_NO_LIMIT;
op->ors_slimit = SLAP_NO_LIMIT;
op->ors_attrs = slap_anlist_no_attrs;
+ op->o_do_not_cache = 1;
op->o_bd = be;
op->o_bd->bd_info = (BackendInfo *)on->on_info;