This is a temporary change to test if OpenSSH 3.6 and SunSSH 1.1

are good/compatible enough to run the test suite ssh server and
socks tests
This commit is contained in:
Yang Tse 2007-11-19 17:20:32 +00:00
parent 1746b57161
commit 5376d1047c
2 changed files with 36 additions and 16 deletions

View File

@ -2380,12 +2380,18 @@ sub startservers {
}
if(!$run{'socks'}) {
my $sshversion=`ssh -V 2>&1`;
if ($sshversion =~ /SSH_(\d+)\.(\d+)/i) {
if ($1*10+$2 < 37) {
# need 3.7 for socks5 - http://www.openssh.com/txt/release-3.7
return "ssh version ($1.$2) insufficient; need at least 3.7";
}
} else {
if($sshversion =~ /OpenSSH[_-](\d+)\.(\d+)/i) {
if ($1*10+$2 < 36) {
# need 3.7 for socks5 - http://www.openssh.com/txt/release-3.7
return "OpenSSH version ($1.$2) insufficient; need at least 3.7";
}
}
elsif($sshversion =~ /Sun[_-]SSH[_-](\d+)\.(\d+)/i) {
if ($1*10+$2 < 11) {
return "SunSSH version ($1.$2) insufficient; need at least 1.1";
}
}
else {
return "Unsupported ssh client\n";
}

View File

@ -124,6 +124,13 @@ if ($tmpstr =~ /OpenSSH[_-](\d+)\.(\d+)(\.(\d+))*/) {
($ssh_ver_major, $ssh_ver_minor, $ssh_ver_patch) = ($1, $2, $4);
$ssh_daemon = 'OpenSSH';
}
if(!$ssh_daemon) {
chomp($tmpstr = qx($sshd -V 2>&1 | grep Sun_SSH));
if($tmpstr =~ /Sun[_-]SSH[_-](\d+)\.(\d+)/) {
($ssh_ver_major, $ssh_ver_minor) = ($1, $2);
$ssh_daemon = 'SunSSH';
}
}
if ($verbose) {
print STDERR "ssh_daemon: $ssh_daemon\n";
print STDERR "ssh_ver_major: $ssh_ver_major\n";
@ -131,16 +138,23 @@ if ($verbose) {
print STDERR "ssh_ver_patch: $ssh_ver_patch\n";
}
# Verify minimum OpenSSH version.
if (($ssh_daemon !~ /OpenSSH/) || (10 * $ssh_ver_major + $ssh_ver_minor < 37)) {
if(!$ssh_daemon) {
print "SSH server daemon found is not an OpenSSH daemon\n";
chomp($tmpstr = qx($sshd -V 2>&1));
print "$tmpstr\n";
}
else {
print "SSH server daemon found is OpenSSH $ssh_ver_major.$ssh_ver_minor\n";
}
# Verify minimum SSH daemon version.
my $sshd_ver_ok = 1;
if(($ssh_daemon =~ /OpenSSH/) && (10 * $ssh_ver_major + $ssh_ver_minor < 36)) {
print "SSH server daemon found is OpenSSH $ssh_ver_major.$ssh_ver_minor\n";
$sshd_ver_ok = 0;
}
if(($ssh_daemon =~ /SunSSH/) && (10 * $ssh_ver_major + $ssh_ver_minor < 11)) {
print "SSH server daemon found is SunSSH $ssh_ver_major.$ssh_ver_minor\n";
$sshd_ver_ok = 0;
}
if(!$ssh_daemon) {
print "SSH server daemon found is not OpenSSH nor SunSSH\n";
chomp($tmpstr = qx($sshd -V 2>&1));
print "$tmpstr\n";
$sshd_ver_ok = 0;
}
if(!$sshd_ver_ok) {
print "SCP, SFTP and SOCKS tests require OpenSSH 3.7 or later\n";
exit 1;
}