diff --git a/fsdump/freebsd-lib.pl b/fsdump/freebsd-lib.pl index 9b1e1a38c..ab84c82cc 100644 --- a/fsdump/freebsd-lib.pl +++ b/fsdump/freebsd-lib.pl @@ -251,6 +251,7 @@ else { &system_logged("sync"); sleep(1); +$ENV{'DUMP_PASSWORD'} = $_[0]->{'pass'}; local $got = &run_ssh_command($cmd, $fh, $_[2], $_[0]->{'pass'}); if ($_[0]->{'multi'} && $_[0]->{'fs'} eq 'tar') { # Run multi-file switch command one last time @@ -449,6 +450,7 @@ return $cmd; sub restore_backup { &additional_log('exec', undef, $_[1]); +$ENV{'DUMP_PASSWORD'} = $in{'pass'}; # Need to supply prompts &foreign_require("proc", "proc-lib.pl"); diff --git a/fsdump/ftp.pl b/fsdump/ftp.pl index fb4bf5e27..8bbfb3e8b 100755 --- a/fsdump/ftp.pl +++ b/fsdump/ftp.pl @@ -49,7 +49,7 @@ while(1) { # Work out what we are doing $mode = 0; - if ($perms & 0100 || + if (($perms & 0100) || ($perms & 01000) || (($perms & 01) || ($perms & 02)) && $touched) { # Writing new file $mode = 1;