X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fsearch.c;h=a162b20068be6af2607b28996036f4123a27a173;hb=f1e2d35bd6cd10afd0a3a1f6041f871e4ec5a69b;hp=9c8043e5c688f598813fee52cdfa775d8351fdfa;hpb=d026e2c9f7a390b6adf9b03af3ee125c2cd52958;p=openldap diff --git a/servers/slapd/search.c b/servers/slapd/search.c index 9c8043e5c6..a162b20068 100644 --- a/servers/slapd/search.c +++ b/servers/slapd/search.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2004 The OpenLDAP Foundation. + * Copyright 1998-2005 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -147,7 +147,7 @@ do_search( goto return_results; } filter2bv_x( op, op->ors_filter, &op->ors_filterstr ); - + Debug( LDAP_DEBUG_ARGS, " filter: %s\n", !BER_BVISEMPTY( &op->ors_filterstr ) ? op->ors_filterstr.bv_val : "empty", 0, 0 ); @@ -164,7 +164,8 @@ do_search( op->ors_attrs[i].an_desc = NULL; op->ors_attrs[i].an_oc = NULL; op->ors_attrs[i].an_oc_exclude = 0; - slap_bv2ad(&op->ors_attrs[i].an_name, &op->ors_attrs[i].an_desc, &dummy); + slap_bv2ad(&op->ors_attrs[i].an_name, + &op->ors_attrs[i].an_desc, &dummy); } if( get_ctrls( op, rs, 1 ) != LDAP_SUCCESS ) { @@ -222,12 +223,6 @@ do_search( rs->sr_err = frontendDB->be_search( op, rs ); return_results:; - if ( ( op->o_sync_mode & SLAP_SYNC_PERSIST ) ) { - return rs->sr_err; - } - if ( ( op->o_sync_slog_size != -1 ) ) { - return rs->sr_err; - } if ( !BER_BVISNULL( &op->o_req_dn ) ) { slap_sl_free( op->o_req_dn.bv_val, op->o_tmpmemctx ); } @@ -349,17 +344,7 @@ fe_op_search( Operation *op, SlapReply *rs ) * if we don't hold it. */ - /* Sync control overrides manageDSAit */ - - if ( manageDSAit != SLAP_NO_CONTROL ) { - if ( op->o_sync_mode & SLAP_SYNC_REFRESH ) { - be_manageDSAit = SLAP_NO_CONTROL; - } else { - be_manageDSAit = manageDSAit; - } - } else { - be_manageDSAit = manageDSAit; - } + be_manageDSAit = manageDSAit; op->o_bd = select_backend( &op->o_req_ndn, be_manageDSAit, 1 ); if ( op->o_bd == NULL ) { @@ -368,7 +353,9 @@ fe_op_search( Operation *op, SlapReply *rs ) if (!rs->sr_ref) rs->sr_ref = default_referral; rs->sr_err = LDAP_REFERRAL; + op->o_bd = frontendDB; send_ldap_result( op, rs ); + op->o_bd = NULL; if (rs->sr_ref != default_referral) ber_bvarray_free( rs->sr_ref );