Lines Matching refs:op
31 Operation *op,
38 static int parse_paged_cookie( Operation *op, SlapReply *rs );
41 Operation *op,
50 Operation *op,
59 struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
73 if (BDB_IDL_N(tmp) >= op->o_bd->be_max_deref_depth) {
104 rs->sr_err = bdb_dn2entry( op, txn, &ndn, &ei,
145 Operation *op,
153 struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
185 rs->sr_err = bdb_filter_candidates( op, txn, &af, aliases,
207 rs->sr_err = bdb_dn2idl( op, txn, &e->e_nname, BEI(e), subscop,
229 rs->sr_err = bdb_cache_find_id(op, txn,
250 a = deref_base( op, rs, a, &matched, txn, &lockr,
277 if ( op->ors_scope == LDAP_SCOPE_ONELEVEL ) break;
299 rs->sr_err = bdb_cache_find_id(op, txn, ido, &ei,
344 bdb_search( Operation *op, SlapReply *rs )
346 struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
369 attrs = op->oq_search.rs_attrs;
371 LDAP_SLIST_FOREACH( oex, &op->o_extra, oe_next ) {
377 manageDSAit = get_manageDSAit( op );
382 rs->sr_err = bdb_reader_get( op, bdb->bi_dbenv, <id );
388 send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
394 if ( op->o_req_ndn.bv_len == 0 ) {
399 if ( op->ors_deref & LDAP_DEREF_FINDING ) {
404 rs->sr_err = bdb_dn2entry( op, ltid, &op->o_req_ndn, &ei,
423 send_ldap_error( op, rs, LDAP_BUSY, "ldap server busy" );
428 send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
432 if ( op->ors_deref & LDAP_DEREF_FINDING ) {
436 stub.bv_val = op->o_req_ndn.bv_val;
437 stub.bv_len = op->o_req_ndn.bv_len - matched->e_nname.bv_len - 1;
438 e = deref_base( op, rs, matched, &matched, ltid, &lock,
441 build_new_dn( &op->o_req_ndn, &e->e_nname, &stub,
442 op->o_tmpmemctx );
448 e = deref_base( op, rs, e, &matched, ltid, &lock,
461 if ( ! access_allowed( op, matched,
471 ? get_entry_referrals( op, matched )
486 &op->o_req_dn, op->oq_search.rs_scope );
495 NULL, &op->o_req_dn, op->oq_search.rs_scope );
499 send_ldap_result( op, rs );
514 if ( ! access_allowed_mask( op, e, slap_schema.si_ad_entry,
529 send_ldap_result( op, rs );
539 erefs = get_entry_referrals( op, e );
551 &op->o_req_dn, op->oq_search.rs_scope );
564 send_ldap_result( op, rs );
573 if ( get_assert( op ) &&
574 ( test_filter( op, e, get_assertion( op )) != LDAP_COMPARE_TRUE ))
583 send_ldap_result( op, rs );
588 stoptime = op->o_time + op->ors_tlimit;
609 if ( op->oq_search.rs_scope == LDAP_SCOPE_BASE ) {
610 rs->sr_err = base_candidate( op->o_bd, &base, candidates );
616 rs->sr_err = search_candidates( op, rs, &base,
624 send_ldap_error( op, rs, LDAP_BUSY, "ldap server busy" );
642 if ( op->ors_limit /* isroot == FALSE */ &&
643 op->ors_limit->lms_s_unchecked != -1 &&
644 BDB_IDL_N(candidates) > (unsigned) op->ors_limit->lms_s_unchecked )
647 send_ldap_result( op, rs );
652 if ( op->ors_limit == NULL /* isroot == TRUE */ ||
653 !op->ors_limit->lms_s_pr_hide )
658 if ( get_pagedresults( op ) > SLAP_CONTROL_IGNORED ) {
659 PagedResultsState *ps = op->o_pagedresults_state;
661 rs->sr_err = parse_paged_cookie( op, rs );
663 send_ldap_result( op, rs );
671 send_ldap_result( op, rs );
680 send_paged_response( op, rs, &lastid, 0 );
699 if ( op->o_abandon ) {
701 send_ldap_result( op, rs );
710 send_ldap_disconnect( op, rs );
715 if ( op->ors_tlimit != SLAP_NO_LIMIT
720 send_ldap_result( op, rs );
737 rs->sr_err = bdb_cache_find_id( op, ltid,
742 send_ldap_result( op, rs );
752 send_ldap_error( op, rs, LDAP_BUSY, "ldap server busy" );
760 send_ldap_result( op, rs );
794 send_ldap_result( op, rs );
804 if( op->oq_search.rs_scope != LDAP_SCOPE_BASE ) {
805 if(!get_subentries_visibility( op )) {
810 } else if ( get_subentries( op ) &&
811 !get_subentries_visibility( op ))
817 } else if ( get_subentries_visibility( op )) {
832 switch( op->ors_scope ) {
859 if ( op->ors_deref & LDAP_DEREF_SEARCHING ) {
864 ((op->ors_deref & LDAP_DEREF_FINDING) ||
865 !bvmatch(&e->e_nname, &op->o_req_ndn)))
873 if ( op->ors_scope == LDAP_SCOPE_ONELEVEL ) {
905 if ( !manageDSAit && op->oq_search.rs_scope != LDAP_SCOPE_BASE
910 BerVarray erefs = get_entry_referrals( op, e );
912 op->oq_search.rs_scope == LDAP_SCOPE_ONELEVEL
920 bois.boi_acl_cache = op->o_do_not_cache;
924 LDAP_SLIST_INSERT_HEAD( &op->o_extra, &bois.boi_oe,
937 send_search_reference( op, rs );
947 LDAP_SLIST_REMOVE( &op->o_extra, &bois.boi_oe,
966 rs->sr_err = test_filter( op, e, op->oq_search.rs_filter );
970 if ( get_pagedresults(op) > SLAP_CONTROL_IGNORED ) {
971 if ( rs->sr_nentries >= ((PagedResultsState *)op->o_pagedresults_state)->ps_size ) {
977 send_paged_response( op, rs, &lastid, tentries );
992 bois.boi_acl_cache = op->o_do_not_cache;
996 LDAP_SLIST_INSERT_HEAD( &op->o_extra, &bois.boi_oe,
1007 rs->sr_attrs = op->oq_search.rs_attrs;
1014 rs->sr_err = send_search_entry( op, rs );
1030 LDAP_SLIST_REMOVE( &op->o_extra, &bois.boi_oe,
1045 send_ldap_result( op, rs );
1080 if ( get_pagedresults(op) > SLAP_CONTROL_IGNORED ) {
1081 send_paged_response( op, rs, NULL, 0 );
1083 send_ldap_result( op, rs );
1152 static void *search_stack( Operation *op )
1154 struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
1157 if ( op->o_threadctx ) {
1158 ldap_pvt_thread_pool_getkey( op->o_threadctx, (void *)search_stack,
1167 if ( op->o_threadctx ) {
1168 ldap_pvt_thread_pool_setkey( op->o_threadctx, (void *)search_stack,
1178 Operation *op,
1185 struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
1202 e->e_nname.bv_val, (long) e->e_id, op->oq_search.rs_scope );
1204 xf.f_or = op->oq_search.rs_filter;
1211 if (!oc_filter(op->oq_search.rs_filter, 1, &depth)
1212 && !get_subentries_visibility(op)) {
1213 if( !get_manageDSAit(op) && !get_domainScope(op) ) {
1232 nf.f_next = ( xf.f_or == op->oq_search.rs_filter )
1233 ? op->oq_search.rs_filter : &xf ;
1237 if( get_subentries_visibility( op ) ) {
1251 stack = search_stack( op );
1254 if( op->ors_deref & LDAP_DEREF_SEARCHING ) {
1255 rc = search_aliases( op, rs, e, txn, ids, scopes, stack );
1257 rc = bdb_dn2idl( op, txn, &e->e_nname, BEI(e), ids, stack );
1261 rc = bdb_filter_candidates( op, txn, &f, ids,
1286 parse_paged_cookie( Operation *op, SlapReply *rs )
1289 PagedResultsState *ps = op->o_pagedresults_state;
1294 assert( get_pagedresults( op ) > SLAP_CONTROL_IGNORED );
1322 op->o_conn->c_pagedresults_state.ps_cookie = 0;
1332 Operation *op,
1361 op->o_conn->c_pagedresults_state.ps_cookie = respcookie;
1362 op->o_conn->c_pagedresults_state.ps_count =
1363 ((PagedResultsState *)op->o_pagedresults_state)->ps_count +
1369 ctrls[0] = op->o_tmpalloc( sizeof(LDAPControl), op->o_tmpmemctx );
1377 slap_add_ctrls( op, rs, ctrls );
1379 send_ldap_result( op, rs );