diff -r b82a656f784e -r 63b7c7fcd0cb account.pm --- a/account.pm Tue Apr 14 14:47:51 2015 +0200 +++ b/account.pm Fri Feb 24 14:31:58 2017 +0100 @@ -14,6 +14,7 @@ use Mail::IMAPTalk; use Text::Wrap; use password; +use Common; my $Cf; my ( $ldap, $ubase, $abase ); @@ -23,7 +24,6 @@ sub _add(); sub _list(); sub _delete(); -sub _mkpw($); sub uniq(@); sub verbose(@); sub _mbox($); @@ -104,7 +104,7 @@ my $sn = ( reverse split " ", $cn )[0]; my $mailGroup = [ split /,/, $Cf->group || "" ]; my $mailForwardingAddress = [ split /,/, $Cf->forward || "" ]; - my $pw = _mkpw( $Cf->password || "{pwgen}" ); + my $pw = Common::mkpw( $Cf->password || "{pwgen}" ); my $mbox = _mbox($user); if ( $mailPrimaryAddress !~ /@/ ) { @@ -370,7 +370,7 @@ $modified++; } - if ( my $pw = _mkpw( $Cf->password ) ) { + if ( my $pw = Common::mkpw( $Cf->password ) ) { $e->replace( userPassword => $pw ); $modified++; } @@ -568,22 +568,7 @@ return keys %x; } -{ - my @pw; - sub _mkpw($) { - my $in = $_[0]; - - return $in unless $in and $in eq "{pwgen}"; - - if ( !@pw ) { - chomp( @pw = `pwgen 8 10 2>/dev/null` ); - die "pwgen: $!" if $?; - } - return shift @pw; - - } -} sub _mbox($) {