]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
verify ssh daemon version
authorYang Tse <yangsita@gmail.com>
Mon, 2 Apr 2007 01:21:57 +0000 (01:21 +0000)
committerYang Tse <yangsita@gmail.com>
Mon, 2 Apr 2007 01:21:57 +0000 (01:21 +0000)
tests/sshserver.pl

index a00dbbcd88fc36759ac3d12efe4679c76d890aef..fefe1b55705b5e56d958e5488f902b584b39d4de 100644 (file)
@@ -86,6 +86,30 @@ if ($username eq "root") {
     exit 1;
 }
 
+# Find out sshd version.
+my $tmpstr;
+my $ssh_daemon;
+my $ssh_ver_major;
+my $ssh_ver_minor;
+my $ssh_ver_patch;
+chomp($tmpstr = qx($sshd -V 2>&1 | grep OpenSSH));
+if ($tmpstr =~ /OpenSSH[_-](\d+)\.(\d+)(\.(\d+))*/) {
+    ($ssh_ver_major, $ssh_ver_minor, $ssh_ver_patch) = ($1, $2, $4);
+    $ssh_daemon = 'OpenSSH';
+}
+if ($verbose) {
+    print STDERR "ssh_daemon: $ssh_daemon\n";
+    print STDERR "ssh_ver_major: $ssh_ver_major\n";
+    print STDERR "ssh_ver_minor: $ssh_ver_minor\n";
+    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)
+    print "SCP and SFTP tests require OpenSSH 3.7 or later\n";
+    exit 1;
+}
+
 # Support for some options might have not been built into sshd.  On some
 # platforms specifying an unsupported option prevents sshd from starting.
 # Check here for possible unsupported options, avoiding its use in sshd.