diff options
-rwxr-xr-x | tests/runtests.pl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/runtests.pl b/tests/runtests.pl index b0520dbff..633485577 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -702,9 +702,15 @@ sub verifysftp { logmsg "RUN: SFTP server cannot find $sftpexe\n"; return -1; } + # Find out ssh client canonical file name + my $ssh = find_ssh(); + if(!$ssh) { + logmsg "RUN: SFTP server cannot find $sshexe\n"; + return -1; + } # Connect to sftp server, authenticate and run a remote pwd # command using our generated configuration and key files - my $cmd = "$sftp -b $sftpcmds -F $sftpconfig $ip > $sftplog 2>&1"; + my $cmd = "$sftp -b $sftpcmds -F $sftpconfig -S $ssh $ip > $sftplog 2>&1"; my $res = runclient($cmd); # Search for pwd command response in log file if(open(SFTPLOGFILE, "<$sftplog")) { @@ -756,7 +762,6 @@ my %protofunc = ('http' => \&verifyhttp, 'ftps' => \&verifyftp, 'tftp' => \&verifyftp, 'ssh' => \&verifyssh, - 'sftp' => \&verifysftp, 'socks' => \&verifysocks); sub verifyserver { @@ -1179,9 +1184,9 @@ sub runsshserver { # once it is known that the ssh server is alive, sftp server verification # is performed actually connecting to it, authenticating and performing a - # very simple remote command. + # very simple remote command. This verification is tried only one time. - if(!verifyserver("sftp",$ip,$port)) { + if(verifysftp("sftp",$ip,$port) < 1) { logmsg "RUN: SFTP server failed verification\n"; # failed to talk to it properly. Kill the server and return failure display_sftplog(); |