From 993d81985f984e2b9970f8ab42a896f69603092e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Granade?= Date: Sat, 18 Nov 2023 10:50:06 +0100 Subject: [PATCH] Support pagination in two-level LDAP searches --- src/lib/Sympa/DataSource/LDAP2.pm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/lib/Sympa/DataSource/LDAP2.pm b/src/lib/Sympa/DataSource/LDAP2.pm index 39554f549..1c138f993 100644 --- a/src/lib/Sympa/DataSource/LDAP2.pm +++ b/src/lib/Sympa/DataSource/LDAP2.pm @@ -49,16 +49,23 @@ sub _open { my @values; while ( my $entry = $self->SUPER::_next( - attrs => $self->{attrs1}, - select => $self->{select1}, - regex => $self->{regex1}, - turn => 'first' + filter => $self->{filter1}, + attrs => $self->{attrs1}, + select => $self->{select1}, + regex => $self->{regex1}, + timeout => $self->{timeout1}, + suffix => $self->{suffix1}, + scope => $self->{scope1}, + turn => 'first' ) ) { push @values, $entry->[0] if defined $entry->[0]; } $self->{_attr1values} = [@values]; + # Don't paginate subsequent children searches, they return only one record + $self->{_page} = undef; + return 1; }