acl.pm
branchfoerste-hhsp
changeset 75 63b7c7fcd0cb
parent 67 deadc72b7e6c
equal deleted inserted replaced
74:b82a656f784e 75:63b7c7fcd0cb
    21 my ( $ldap, $ubase,        $abase );
    21 my ( $ldap, $ubase,        $abase );
    22 my ( $imap, $acl_password, $nspat );
    22 my ( $imap, $acl_password, $nspat );
    23 END { $imap and $imap = undef; }
    23 END { $imap and $imap = undef; }
    24 
    24 
    25 sub _list();
    25 sub _list();
    26 sub _mkpw($);
       
    27 
    26 
    28 sub list_by_user($@);
    27 sub list_by_user($@);
    29 sub list_by_folder($);
    28 sub list_by_folder($);
    30 sub list_groups(@);
    29 sub list_groups(@);
    31 sub uniq(@);
    30 sub uniq(@);
   384     my %x;
   383     my %x;
   385     @x{@_} = ();
   384     @x{@_} = ();
   386     return keys %x;
   385     return keys %x;
   387 }
   386 }
   388 
   387 
   389 {
       
   390     my @pw;
       
   391 
       
   392     sub _mkpw($) {
       
   393         my $in = $_[0];
       
   394 
       
   395         return $in unless $in and $in eq "{pwgen}";
       
   396 
       
   397         if ( !@pw ) {
       
   398             chomp( @pw = `pwgen 8 10 2>/dev/null` );
       
   399             die "pwgen: $!" if $?;
       
   400         }
       
   401         return shift @pw;
       
   402 
       
   403     }
       
   404 }
       
   405 
       
   406 sub imap_list($$) {
   388 sub imap_list($$) {
   407 
   389 
   408     my ( $ref, $folder ) = @_;
   390     my ( $ref, $folder ) = @_;
   409 
   391 
   410     my $list = $imap->list( $ref, $folder )
   392     my $list = $imap->list( $ref, $folder )