X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fshellcommands.pm;h=db2e7aaf9e3c16d123134cf69140dfa3738c5172;hp=b1f9b0d687b2f63010a91a0daf29f056d7e43504;hb=193118008312797e8188145138c6875ba506ff33;hpb=2c2f1122f76c0aec0861bf3d9c7fb9dff109c346 diff --git a/FS/FS/part_export/shellcommands.pm b/FS/FS/part_export/shellcommands.pm index b1f9b0d68..db2e7aaf9 100644 --- a/FS/FS/part_export/shellcommands.pm +++ b/FS/FS/part_export/shellcommands.pm @@ -40,6 +40,13 @@ sub _export_command { { 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; @@ -75,7 +82,8 @@ sub _export_replace { ${"new_$_"} = $new->getfield($_) foreach $new->fields; } $new_finger = shell_quote $new_finger; - $quoted_new__password = shell_quote $new__password; + $quoted_new__password = shell_quote $new__password; #old, wrong? + $new_quoted_password = shell_quote $new__password; #new, better? $old_domain = $old->domain; $new_domain = $new->domain; $new_crypt_password = ''; #surpress "used only once" warnings @@ -89,6 +97,12 @@ sub _export_replace { 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; } @@ -111,7 +125,7 @@ sub shellcommands_queue { } sub ssh_cmd { #subroutine, not method - use Net::SSH '0.07'; + use Net::SSH '0.08'; &Net::SSH::ssh_cmd( { @_ } ); }