# HG changeset patch # User Matthias Förste foerste@schlittermann.de # Date 1323781331 -3600 # Node ID a41fd3429d6397c9c7f30a5ebd44e5068485a496 # Parent f1a66928471f1afca4acc1f1abc5dc2bf2de0538 allow to list all aclgroups diff -r f1a66928471f -r a41fd3429d63 acl.pm --- a/acl.pm Tue Dec 13 13:39:24 2011 +0100 +++ b/acl.pm Tue Dec 13 14:02:11 2011 +0100 @@ -221,6 +221,7 @@ @_ = ('*') unless @_; my @ag = split ',', $Cf->imap_aclgroups; + my $ag_all = 1 if '*' ~~ @ag; my $ag_att = AT_ACLGROUPS; my $filter = "(&($ag_att=*)" . "(|" . join( "", map { "(uid=$_)" } @_ ) . "))"; @@ -240,12 +241,12 @@ while ( my $e = ( $r->shift_entry ) ) { my $uid = $e->get_value('uid'); my @ag_cur = split ',', $e->get_value($ag_att); - for (@ag) { + for (@ag_cur) { $users->{$_} = defined $users->{$_} ? [ @{ $users->{$_} }, $uid ] : [$uid] - if $_ ~~ @ag_cur; + if $ag_all or $_ ~~ @ag; } }