Lines Matching refs:op
145 Operation *op,
157 if ( op->o_deref != SLAP_CONTROL_NONE ) {
192 ds = (DerefSpec *)op->o_tmpcalloc( 1,
194 op->o_tmpmemctx );
233 ber_memfree_x( attributes, op->o_tmpmemctx );
240 op->o_ctrlderef = (void *)dshead;
242 op->o_deref = ctrl->ldctl_iscritical
253 op->o_tmpfree( dshead, op->o_tmpmemctx );
259 ber_memfree_x( attributes, op->o_tmpmemctx );
266 deref_cleanup( Operation *op, SlapReply *rs )
269 op->o_tmpfree( op->o_callback, op->o_tmpmemctx );
270 op->o_callback = NULL;
272 op->o_tmpfree( op->o_ctrlderef, op->o_tmpmemctx );
273 op->o_ctrlderef = NULL;
280 deref_response( Operation *op, SlapReply *rs )
287 deref_cb_t *dc = (deref_cb_t *)op->o_callback->sc_private;
299 rc = overlay_entry_get_ov( op, &rs->sr_entry->e_nname, NULL, NULL, 0, &ebase, dc->dc_on );
311 if ( !access_allowed( op, rs->sr_entry, a->a_desc,
317 dr = op->o_tmpcalloc( 1,
319 op->o_tmpmemctx );
335 if ( !access_allowed( op, rs->sr_entry, a->a_desc,
342 ber_dupbv_x( &dv[ i ].dv_derefSpecVal, &a->a_vals[ i ], op->o_tmpmemctx );
347 rc = overlay_entry_get_ov( op, &a->a_nvals[ i ], NULL, NULL, 0, &e, dc->dc_on );
351 if ( access_allowed( op, e, slap_schema.si_ad_entry,
357 if ( !access_allowed( op, e, ds->ds_attributes[ j ], NULL,
368 aa->a_vals, op->o_tmpmemctx );
373 if ( !access_allowed( op, e,
378 op->o_tmpfree( dv[ i ].dv_attrVals[ j ][ h ].bv_val,
379 op->o_tmpmemctx );
393 overlay_entry_release_ov( op, e, 0, dc->dc_on );
401 overlay_entry_release_ov( op, ebase, 0, dc->dc_on );
412 bv.bv_val = op->o_tmpalloc( bv.bv_len, op->o_tmpmemctx );
415 ber_set_option( ber, LBER_OPT_BER_MEMCTX, &op->o_tmpmemctx );
429 op->o_tmpfree( dr->dr_vals[ i ].dv_derefSpecVal.bv_val, op->o_tmpmemctx );
440 op->o_tmpfree( dr->dr_vals[ i ].dv_attrVals[ j ],
441 op->o_tmpmemctx );
453 if ( op->o_deref == SLAP_CONTROL_CRITICAL ) {
462 ctrl = op->o_tmpcalloc( 1,
464 op->o_tmpmemctx );
476 slap_add_ctrls( op, rs, ctrlsp );
484 op->o_tmpfree( drhead, op->o_tmpmemctx );
489 rc = deref_cleanup( op, rs );
496 deref_op_search( Operation *op, SlapReply *rs )
498 if ( op->o_deref ) {
502 sc = op->o_tmpcalloc( 1, sizeof( slap_callback ) + sizeof( deref_cb_t ), op->o_tmpmemctx );
505 dc->dc_on = (slap_overinst *)op->o_bd->bd_info;
506 dc->dc_ds = (DerefSpec *)op->o_ctrlderef;
512 sc->sc_next = op->o_callback->sc_next;
513 op->o_callback->sc_next = sc;