o.orm_no_opattrs = 1;
o.o_managedsait = SLAP_CONTROL_CRITICAL;
o.o_relax = SLAP_CONTROL_CRITICAL;
+ o.o_abandon = 0;
oex.oe_key = (void *)&autogroup;
LDAP_SLIST_INSERT_HEAD( &o.o_extra, &oex, oe_next );
o.orm_no_opattrs = 1;
o.o_managedsait = SLAP_CONTROL_CRITICAL;
o.o_relax = SLAP_CONTROL_CRITICAL;
+ o.o_abandon = 0;
oex.oe_key = (void *)&autogroup;
LDAP_SLIST_INSERT_HEAD( &o.o_extra, &oex, oe_next );
o.o_permissive_modify = 1;
o.o_dont_replicate = 1;
o.orm_no_opattrs = 1;
+ o.o_abandon = 0;
oex.oe_key = (void *)&autogroup;
LDAP_SLIST_INSERT_HEAD( &o.o_extra, &oex, oe_next );
o.orm_no_opattrs = 1;
o.o_managedsait = SLAP_CONTROL_CRITICAL;
o.o_relax = SLAP_CONTROL_CRITICAL;
+ o.o_abandon = 0;
oex.oe_key = (void *)&autogroup;
LDAP_SLIST_INSERT_HEAD( &o.o_extra, &oex, oe_next );
Debug(LDAP_DEBUG_TRACE, "==> autogroup_add_members_from_filter <%s>\n",
age->age_dn.bv_val );
+ /* if modify isn't set, we're pre-op and should honor abandon flag */
+ if ( op->o_abandon && !modify )
+ return 0;
+
o.ors_attrsonly = 0;
o.o_tag = LDAP_REQ_SEARCH;
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;
+ o.o_abandon = 0;
agg.agg_group = age;
agg.agg_filter = agf;
o.o_permissive_modify = 1;
o.o_dont_replicate = 1;
o.orm_no_opattrs = 1;
+ o.o_abandon = 0;
oex.oe_key = (void *)&autogroup;
LDAP_SLIST_INSERT_HEAD( &o.o_extra, &oex, oe_next );