Minor fixes to previous LDAPLink changes, including stripping \r

properly and not transforming the recurseFilter multiple times.
This commit is contained in:
Drake 2006-10-11 18:54:32 +00:00
parent 950dfe068b
commit 0ea9ef2244

View file

@ -268,9 +268,11 @@ sub recurseProperty {
my $recProperty = $_[3] || $property; my $recProperty = $_[3] || $property;
my $count = $_[4] || 0; my $count = $_[4] || 0;
my $recurseFilter = $_[5] || $self->get->{ldapGlobalRecursiveFilter}; my $recurseFilter = $_[5] || $self->get->{ldapGlobalRecursiveFilter};
my $rfAlreadyTransformed = $_[6];
return unless($ldap && $base && $property); return unless($ldap && $base && $property);
if (length $recurseFilter) { if (length $recurseFilter and not $rfAlreadyTransformed) {
$recurseFilter =~ tr/\r//d;
$recurseFilter =~ s/\A\n*//; $recurseFilter =~ s/\n*\z//; $recurseFilter =~ s/\A\n*//; $recurseFilter =~ s/\n*\z//;
$recurseFilter = (join '|', map{quotemeta} grep{/\S/} split /\n/, $recurseFilter); $recurseFilter = (join '|', map{quotemeta} grep{/\S/} split /\n/, $recurseFilter);
$recurseFilter = length($recurseFilter)? qr/$recurseFilter/ : undef; $recurseFilter = length($recurseFilter)? qr/$recurseFilter/ : undef;
@ -301,7 +303,7 @@ sub recurseProperty {
} }
foreach my $prop (@{$properties}) { foreach my $prop (@{$properties}) {
next if $recurseFilter and $prop =~ m/$recurseFilter/i; next if $recurseFilter and $prop =~ m/$recurseFilter/i;
$self->recurseProperty($prop,$array,$property,$recProperty,$count,$recurseFilter); $self->recurseProperty($prop,$array,$property,$recProperty,$count,$recurseFilter,1);
} }
} }
} }