blob: 08ccd949c77329bfcd3116080d9b2835e85756f4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
module Net
module SSH
module Authentication
# Loads ED25519 support which requires optinal dependecies like
# ed25519, bcrypt_pbkdf
module ED25519Loader
begin
require 'net/ssh/authentication/ed25519'
LOADED = true
ERROR = nil
rescue LoadError => e
ERROR = e
LOADED = false
end
def self.raiseUnlessLoaded(message)
description = ERROR.is_a?(LoadError) ? dependenciesRequiredForED25519 : ''
description << "#{ERROR.class} : \"#{ERROR.message}\"\n" if ERROR
raise NotImplementedError, "#{message}\n#{description}" unless LOADED
end
def self.dependenciesRequiredForED25519
result = "net-ssh requires the following gems for ed25519 support:\n"
result << " * ed25519 (>= 1.2, < 2.0)\n"
result << " * bcrypt_pbkdf (>= 1.0, < 2.0)\n" unless RUBY_PLATFORM == "java"
result << "See https://github.com/net-ssh/net-ssh/issues/565 for more information\n"
end
end
end
end
end
|