--- smeserver-affa-0.9.0/root/sbin/e-smith/affa.debugsshquiet 2008-01-18 16:57:09.000000000 +0100 +++ smeserver-affa-0.9.0/root/sbin/e-smith/affa 2008-02-04 08:50:52.000000000 +0100 @@ -37,7 +37,7 @@ $ENV{LANG} = "en_US"; # Filesys::DiskFree only works with english LANG setting -my $VERSION='0.9.0'; +my $VERSION='_VERSIONSTRING_'; # sub prototypes @@ -122,6 +122,7 @@ my $rsyncLocal = '/usr/bin/rsync'; my $rsyncRemote = '/usr/bin/rsync'; my $rsyncd=0; +my $sshQuiet="-q"; my $config = esmith::ConfigDB->open or die "Error: Couldn't open config db."; my $LocalIP=$config->get("LocalIP")->value; my $SystemName=$config->get("SystemName")->value; @@ -645,6 +646,7 @@ $remoteOS = $opts{'remoteOS'} ? $opts{'remoteOS'} : $job{'remoteOS'}; # option overrides the db value $ENV{'RSYNC_PASSWORD'}=$job{'rsyncdPassword'}; $job{'rsyncdPassword'}=''; + $sshQuiet = $job{'Debug'} eq 'yes' ? '' : '-q'; dbg( "Job configuration:" ); foreach my $k ( sort keys %job ) @@ -759,7 +761,7 @@ else { lg( "Checking SSH connection to " . $job{'remoteHostName'} ); - @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', 'StrictHostKeyChecking=yes', '-o', "HostKeyAlias=$jobname", '-o', "ConnectTimeout=$job{'ConnectionCheckTimeout'}",'-o','PasswordAuthentication=no', '-q', $job{'remoteHostName'},'true'); + @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', 'StrictHostKeyChecking=yes', '-o', "HostKeyAlias=$jobname", '-o', "ConnectTimeout=$job{'ConnectionCheckTimeout'}",'-o','PasswordAuthentication=no', $sshQuiet, $job{'remoteHostName'},'true'); not ExecCmd( @cmd, 0 ) or affaErrorExit( 104, "SSH connection to ". $job{'remoteHostName'}. " failed. Did you send the public key?" ); } } @@ -776,7 +778,7 @@ else { lg( "signaling pre-backup event on ". $job{'remoteHostName'} ); - @cmd=('/usr/bin/ssh', '-o', "HostKeyAlias=$jobname", '-p', $job{'sshPort'}, '-q', $job{'remoteHostName'},"/sbin/e-smith/signal-event pre-backup desktop"); + @cmd=('/usr/bin/ssh', '-o', "HostKeyAlias=$jobname", '-p', $job{'sshPort'}, $sshQuiet, $job{'remoteHostName'},"/sbin/e-smith/signal-event pre-backup desktop"); } not ExecCmd( @cmd, 0 ) or affaErrorExit( 105, "signaling pre-backup event failed." ); } @@ -793,7 +795,7 @@ else { lg( "signaling post-backup event on ". $job{'remoteHostName'} ); - @cmd=('/usr/bin/ssh', '-o', "HostKeyAlias=$jobname", '-p', $job{'sshPort'}, '-q', $job{'remoteHostName'},"/sbin/e-smith/signal-event post-backup desktop"); + @cmd=('/usr/bin/ssh', '-o', "HostKeyAlias=$jobname", '-p', $job{'sshPort'}, $sshQuiet, $job{'remoteHostName'},"/sbin/e-smith/signal-event post-backup desktop"); } not ExecCmd( @cmd, 0 ) or lg( "Error: signaling post-backup event failed." ); } @@ -817,7 +819,7 @@ '/usr/bin/ssh', '-o', "HostKeyAlias=$jobname", '-p', $job{'sshPort'}, - '-q', + $sshQuiet, $job{'remoteHostName'}, "'/sbin/e-smith/affa-rpmlist.sh>$rpmlist'" ); @@ -1859,7 +1861,7 @@ print " Done.\n"; } print "deleting report database '$jobname' ..."; $|++; - removeDir("/home/e-smith/db/affa-report/$jobname"); + unlink("/home/e-smith/db/affa-report/$jobname"); print " Done.\n"; print "deleting affa record '$jobname'..."; $|++; $affa->get($jobname)->delete; @@ -2301,7 +2303,7 @@ { $s="Generating DSA keys..."; print "$s\n"; lg($s); - @cmd=("/usr/bin/ssh-keygen","-q","-t","dsa","-N ''","-f", "/root/.ssh/id_dsa" ); + @cmd=("/usr/bin/ssh-keygen",$sshQuiet,"-t","dsa","-N ''","-f", "/root/.ssh/id_dsa" ); not ExecCmd( @cmd, 0 ) or affaErrorExit( 119, "Couldn't generate DSA keys" ); $s="Successfully created DSA key pair."; print "$s\n"; lg($s); @@ -2315,12 +2317,12 @@ my $ah="/home/Administrator"; my $akp="$ah/.ssh"; my $ak="$akp/authorized_keys2"; - $cmd="/bin/cat $kf | /usr/bin/ssh -q $HostKeyAliasOption -o StrictHostKeyChecking=no -p $port Administrator\@$remotehost '/bin/cat - > $ah/id_dsa.pub.$LocalIP.\$\$ && /bin/mkdir -p $akp && /bin/touch $ak && /bin/grep -v \"$pubk\" < $ak >> $ah/id_dsa.pub.$LocalIP.\$\$ ; /bin/mv -f $ah/id_dsa.pub.$LocalIP.\$\$ $ak'"; + $cmd="/bin/cat $kf | /usr/bin/ssh $sshQuiet $HostKeyAliasOption -o StrictHostKeyChecking=no -p $port Administrator\@$remotehost '/bin/cat - > $ah/id_dsa.pub.$LocalIP.\$\$ && /bin/mkdir -p $akp && /bin/touch $ak && /bin/grep -v \"$pubk\" < $ak >> $ah/id_dsa.pub.$LocalIP.\$\$ ; /bin/mv -f $ah/id_dsa.pub.$LocalIP.\$\$ $ak'"; } else { my $ak="/root/.ssh/authorized_keys2"; - $cmd="/bin/cat $kf | /usr/bin/ssh -q $HostKeyAliasOption -o StrictHostKeyChecking=no -p $port $remotehost '/bin/cat - > $ak.$LocalIP.\$\$ && /bin/touch $ak && /bin/grep -v \"$pubk\" < $ak >> $ak.$LocalIP.\$\$ ; /bin/mv -f $ak.$LocalIP.\$\$ $ak'"; + $cmd="/bin/cat $kf | /usr/bin/ssh $sshQuiet $HostKeyAliasOption -o StrictHostKeyChecking=no -p $port $remotehost '/bin/cat - > $ak.$LocalIP.\$\$ && /bin/touch $ak && /bin/grep -v \"$pubk\" < $ak >> $ak.$LocalIP.\$\$ ; /bin/mv -f $ak.$LocalIP.\$\$ $ak'"; } dbg( "Exec Cmd: $cmd" ); my $err=system($cmd); @@ -2368,12 +2370,12 @@ my $ah="/home/Administrator"; my $akp="$ah/.ssh"; my $ak="$akp/authorized_keys2"; - $cmd="/usr/bin/ssh -q $HostKeyAliasOption -o PasswordAuthentication=no -o StrictHostKeyChecking=yes -p $port Administrator\@$remotehost '/bin/mkdir -p $akp && /bin/touch $ak && /bin/grep -v \"$pubk\" < $ak > $ak.$LocalIP.\$\$ ; /bin/mv -f $ak.$LocalIP.\$\$ $ak'"; + $cmd="/usr/bin/ssh $sshQuiet $HostKeyAliasOption -o PasswordAuthentication=no -o StrictHostKeyChecking=yes -p $port Administrator\@$remotehost '/bin/mkdir -p $akp && /bin/touch $ak && /bin/grep -v \"$pubk\" < $ak > $ak.$LocalIP.\$\$ ; /bin/mv -f $ak.$LocalIP.\$\$ $ak'"; } else { my $ak="/root/.ssh/authorized_keys2"; - $cmd="/usr/bin/ssh -q $HostKeyAliasOption -o PasswordAuthentication=no -o StrictHostKeyChecking=yes -p $port $remotehost '/bin/touch $ak && /bin/grep -v \"$pubk\" < $ak > $ak.$LocalIP.\$\$ ; /bin/mv -f $ak.$LocalIP.\$\$ $ak'"; + $cmd="/usr/bin/ssh $sshQuiet $HostKeyAliasOption -o PasswordAuthentication=no -o StrictHostKeyChecking=yes -p $port $remotehost '/bin/touch $ak && /bin/grep -v \"$pubk\" < $ak > $ak.$LocalIP.\$\$ ; /bin/mv -f $ak.$LocalIP.\$\$ $ak'"; } dbg( "Exec Cmd: $cmd" ); my $err=system($cmd); @@ -2407,11 +2409,11 @@ print "SSH connection "; if( $remoteOS =~ /^cygwin$/i ) { - @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', "HostKeyAlias=$j", '-o', 'StrictHostKeyChecking=yes', '-o', "ConnectTimeout=$job{'ConnectionCheckTimeout'}",'-o','PasswordAuthentication=no', '-q', "Administrator\@$job{'remoteHostName'}",'true'); + @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', "HostKeyAlias=$j", '-o', 'StrictHostKeyChecking=yes', '-o', "ConnectTimeout=$job{'ConnectionCheckTimeout'}",'-o','PasswordAuthentication=no', $sshQuiet, "Administrator\@$job{'remoteHostName'}",'true'); } else { - @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', "HostKeyAlias=$j", '-o', 'StrictHostKeyChecking=yes', '-o', "ConnectTimeout=$job{'ConnectionCheckTimeout'}",'-o','PasswordAuthentication=no', '-q', $job{'remoteHostName'},'true'); + @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', "HostKeyAlias=$j", '-o', 'StrictHostKeyChecking=yes', '-o', "ConnectTimeout=$job{'ConnectionCheckTimeout'}",'-o','PasswordAuthentication=no', $sshQuiet, $job{'remoteHostName'},'true'); } print( ((ExecCmd( @cmd, 0 )==0) ? "ok" : "FAILED") . ".\n" ); } @@ -2547,7 +2549,7 @@ close( WD ); chmod( 0700, "/usr/lib/affa/$WDName" ); remoteCopy("/usr/lib/affa/$WDName", "/tmp/"); - my @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', "HostKeyAlias=$jobname", '-q', $job{'remoteHostName'},"/tmp/$WDName"); + my @cmd=('/usr/bin/ssh', '-p', $job{'sshPort'}, '-o', "HostKeyAlias=$jobname", $sshQuiet, $job{'remoteHostName'},"/tmp/$WDName"); not ExecCmd( @cmd, 0 ) or affaErrorExit( 152, "Couldn't run /usr/lib/affa/$WDName on remote host." ); }