X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Fshadow.reimport;h=7957011eb7bda839e92074cd73645cce00fd1273;hp=2fc90d7f222c8c0cdf61d941e41cbbdf02d319d7;hb=3b7030c2c7464c2a1b409cdc22fad4a593d4f231;hpb=bb70dc0af47c15b8041ebc85b6eff234a26baa14 diff --git a/bin/shadow.reimport b/bin/shadow.reimport index 2fc90d7f2..7957011eb 100755 --- a/bin/shadow.reimport +++ b/bin/shadow.reimport @@ -3,6 +3,8 @@ # -d: dry-run: make no changes # -r: replace: overwrite existing passwords (otherwise only "*" passwords will # be changed) +# -b: blowfish replace: overwrite existing passwords only if they are +# blowfish-encrypted use strict; use vars qw(%part_svc); @@ -14,8 +16,8 @@ use FS::Record qw(qsearch qsearchs); use FS::svc_acct; use FS::part_svc; -use vars qw($opt_d $opt_r); -getopts("dr"); +use vars qw($opt_d $opt_r $opt_b); +getopts("drb"); my $user = shift or die &usage; adminsuidsetup $user; @@ -91,7 +93,9 @@ while () { my $svc_acct = shift @svc_acct; - next unless $svc_acct->_password eq '*' || $opt_r; + next unless $svc_acct->_password eq '*' + || $opt_r + || ( $opt_b && $svc_acct->_password =~ /^\$2a?\$/ ); next if $svc_acct->username eq 'root';