Skip to content
Snippets Groups Projects
Commit 354e678c authored by Howard Chu's avatar Howard Chu
Browse files

ITS#9426 dynlist: don't add unexpanded groups at end of search

if pagedResults is in use
parent d2936fb1
No related branches found
No related tags found
No related merge requests found
......@@ -263,6 +263,11 @@ The
.BR slapo\-dynlist (5)
overlay supports dynamic configuration via
.BR back-config .
.SH BUGS
Filtering on dynamic groups may return incomplete results if the
search operation uses the \fIpagedResults\fP control.
.SH ACKNOWLEDGEMENTS
.P
This module was written in 2004 by Pierangelo Masarati for SysNet s.n.c.
......
......@@ -350,6 +350,7 @@ dynlist_urlmembers( Operation *op, dynlist_name_t *dyn, slap_callback *sc )
o.ors_tlimit = SLAP_NO_LIMIT;
o.ors_slimit = SLAP_NO_LIMIT;
o.ors_attrs = NULL;
memset( o.o_ctrlflag, 0, sizeof( o.o_ctrlflag ));
o.o_callback = sc;
for (i=0; i<dyn->dy_numuris; i++) {
......@@ -547,6 +548,7 @@ dynlist_prepare_entry( Operation *op, SlapReply *rs, dynlist_info_t *dli, dynlis
o.ors_limit = NULL;
o.ors_tlimit = SLAP_NO_LIMIT;
o.ors_slimit = SLAP_NO_LIMIT;
memset( o.o_ctrlflag, 0, sizeof( o.o_ctrlflag ));
for ( url = a->a_nvals; !BER_BVISNULL( url ); url++ ) {
LDAPURLDesc *lud = NULL;
......@@ -1534,6 +1536,9 @@ dynlist_search2resp( Operation *op, SlapReply *rs )
SlapReply r = *rs;
Filter *f = ds->ds_origfilter ? ds->ds_origfilter : op->ors_filter;
if ( get_pagedresults( op ) > SLAP_CONTROL_IGNORED )
return SLAP_CB_CONTINUE;
/* Check for any unexpanded dynamic group entries that weren't picked up
* by the original search filter.
*/
......@@ -1677,6 +1682,7 @@ dynlist_search( Operation *op, SlapReply *rs )
sc->sc_private = (void *)(sc+1);
ds = sc->sc_private;
memset( o.o_ctrlflag, 0, sizeof( o.o_ctrlflag ));
o.o_managedsait = SLAP_CONTROL_CRITICAL;
/* Are we using memberOf, and does it affect this request? */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment