Subject: | Module doesn't recognise OpenSSH on Ubuntu Trusty |
On Ubuntu /usr/sbin/sshd -zalacain produces the following output:
unknown option -- z
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014
usage: sshd [-46DdeiqTt] [-b bits] [-C connection_spec] [-c host_cert_file]
[-E log_file] [-f config_file] [-g login_grace_time]
[-h host_key_file] [-k key_gen_time] [-o option] [-p port]
[-u len]
OpenSSH version is 6.6.1p1, but it does not match the pattern in lib/Test/SSH/Backend/Base.pm, and so module refuses to use it. The patch attached fixes the problem.
--
Pavel Shaydo
Subject: | openssh-version-pattern.patch |
diff --git a/lib/Test/SSH/Backend/Base.pm b/lib/Test/SSH/Backend/Base.pm
index 047a874..00c54ad 100644
--- a/lib/Test/SSH/Backend/Base.pm
+++ b/lib/Test/SSH/Backend/Base.pm
@@ -145,7 +145,7 @@ sub _find_executable {
$sshd->_log("checking version of '$bin'");
my $out = $sshd->_capture_cmd( $bin, $version_flags );
if (defined $out) {
- if (my ($ver, $mayor) = $out =~ /^(OpenSSH[_\-](\d+)\.\d+(?:p\d+))/m) {
+ if (my ($ver, $mayor) = $out =~ /^(OpenSSH[_\-](\d+)\.\d+(?:\.\d+)?(?:p\d+))/m) {
if (!defined($min_version) or $mayor >= $min_version) {
$sshd->_log("executable version is $ver, selecting it!");
$sshd->{$slot} = $bin;