{
no strict 'refs';
${$_} = $svc_acct->getfield($_) foreach $svc_acct->fields;
+
+ my $count = 1;
+ foreach my $acct_snarf ( $svc_acct->acct_snarf ) {
+ ${"snarf_$_$count"} = shell_quote( $acct_snarf->get($_) )
+ foreach qw( machine username _password );
+ $count++;
+ }
}
my $cust_pkg = $svc_acct->cust_svc->cust_pkg;
$finger = shell_quote $finger;
$quoted_password = shell_quote $_password;
$domain = $svc_acct->domain;
- $crypt_password = ''; #surpress "used only once" warnings
- $crypt_password = crypt( $svc_acct->_password,
+
+ #eventually should check a "password-encoding" field
+ if ( length($svc_acct->_password) == 13
+ || $svc_acct->_password =~ /^\$(1|2a?)\$/ ) {
+ $crypt_password = $svc_acct->_password;
+ } else {
+ $crypt_password = crypt( $svc_acct->_password,
$saltset[int(rand(64))].$saltset[int(rand(64))] );
+ }
$self->shellcommands_queue( $svc_acct->svcnum,
user => $self->option('user')||'root',
if ( $old_domain ne $new_domain ) {
$error ||= "can't change domain";
}
+ if ( $old_uid != $new_uid ) {
+ $error ||= "can't change uid";
+ }
+ if ( $old_dir ne $new_dir ) {
+ $error ||= "can't change dir";
+ }
return $error. ' ('. $self->exporttype. ' to '. $self->machine. ')'
if $error;
}
}
sub ssh_cmd { #subroutine, not method
- use Net::SSH '0.07';
+ use Net::SSH '0.08';
&Net::SSH::ssh_cmd( { @_ } );
}