diff -r 68318d115f6c -r 7d170d1bc17b shelldap --- a/shelldap Sat Mar 05 20:56:20 2011 +0100 +++ b/shelldap Sat Mar 05 22:13:27 2011 +0100 @@ -775,6 +775,18 @@ return $filter; } + +# check whether a given string may be a filter +# Synopsis: $yesNo = $self->is_valid_filter($string); +sub is_valid_filter +{ + my $self = shift; + my $filter = shift or return; + my $filterObject = Net::LDAP::Filter->new($filter); + + return $filterObject ? 1 : 0 +} + # little. yellow. different. better. # sub debug @@ -1404,35 +1416,50 @@ sub run_list { - my $self = shift; - my @filters = @_; - my $base = $self->base(); - my $attrs = [ 'hasSubordinates' ]; + my $self = shift; + my @args = @_; + my $base = $self->base(); + my @attrs = (); + my $flags = ''; + my $filter = '(objectclass=*)'; + + # parse arguments: [