From 96dbf0e215a00bac69c9e5cb75a6e7bd7372a8d2 Mon Sep 17 00:00:00 2001 From: "peter@adpm.de" Date: Sat, 5 Mar 2011 21:22:46 +0000 Subject: [PATCH] make_filter: cope with filters that are already parenthesized Treat filter elements correctly that may be more complex filters themselves; e.g. '(&(sn=Doe)(givenname=John))' FossilOrigin-Name: 02ee84e2eaf12885398020776440753ae7915c076db55df9416cf89114612d54 --- shelldap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shelldap b/shelldap index e80f703..4bfb0dc 100755 --- a/shelldap +++ b/shelldap @@ -760,9 +760,9 @@ sub make_filter return unless scalar @$globs; my $filter; - $filter = join '', map { "($_)" } @$globs; - $filter = '(|' . $filter . ')' if scalar @$globs > 1; - $filter = Net::LDAP::Filter->new( $filter ); + $filter = join('', map { (/^\(.*\)$/o) ? $_ : "($_)" } @$globs); + $filter = '(|' . $filter . ')' if (scalar(@$globs) > 1); + $filter = Net::LDAP::Filter->new($filter); if ( $filter ) { $self->debug('Filter parsed as: ' . $filter->as_string() . "\n");