mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-27 03:20:22 +08:00
ITS#6467 Handle syncrepl searches with base of ""
This commit is contained in:
parent
255a37461e
commit
efb84b3e9b
@ -2256,6 +2256,11 @@ syncprov_play_accesslog( Operation *op, SlapReply *rs, sync_control *srs,
|
|||||||
}
|
}
|
||||||
|
|
||||||
filter_escape_value_x( &op->o_req_ndn, &basedn, fop.o_tmpmemctx );
|
filter_escape_value_x( &op->o_req_ndn, &basedn, fop.o_tmpmemctx );
|
||||||
|
/* filter_escape_value_x sets output to BVNULL if input value is empty,
|
||||||
|
* supply our own copy */
|
||||||
|
if ( BER_BVISEMPTY( &basedn ) ) {
|
||||||
|
basedn.bv_val = "";
|
||||||
|
}
|
||||||
fop.o_req_ndn = fop.o_req_dn = si->si_logbase;
|
fop.o_req_ndn = fop.o_req_dn = si->si_logbase;
|
||||||
fop.ors_filterstr.bv_val = fop.o_tmpalloc(
|
fop.ors_filterstr.bv_val = fop.o_tmpalloc(
|
||||||
filterpattern.bv_len +
|
filterpattern.bv_len +
|
||||||
@ -2268,9 +2273,12 @@ syncprov_play_accesslog( Operation *op, SlapReply *rs, sync_control *srs,
|
|||||||
"prepared filter '%s', base='%s'\n",
|
"prepared filter '%s', base='%s'\n",
|
||||||
op->o_log_prefix, fop.ors_filterstr.bv_val, si->si_logbase.bv_val );
|
op->o_log_prefix, fop.ors_filterstr.bv_val, si->si_logbase.bv_val );
|
||||||
f = str2filter_x( &fop, fop.ors_filterstr.bv_val );
|
f = str2filter_x( &fop, fop.ors_filterstr.bv_val );
|
||||||
|
assert( f != NULL );
|
||||||
fop.ors_filter = f;
|
fop.ors_filter = f;
|
||||||
|
|
||||||
fop.o_tmpfree( basedn.bv_val, fop.o_tmpmemctx );
|
if ( !BER_BVISEMPTY( &basedn ) ) {
|
||||||
|
fop.o_tmpfree( basedn.bv_val, fop.o_tmpmemctx );
|
||||||
|
}
|
||||||
be_entry_release_rw( &fop, e, 0 );
|
be_entry_release_rw( &fop, e, 0 );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user