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
|
module Net
module SSH
module Transport
module Kex
# Loads Curve25519Sha256 support which requires optinal dependencies
module Curve25519Sha256Loader
begin
require 'net/ssh/transport/kex/curve25519_sha256'
LOADED = true
ERROR = nil
rescue LoadError => e
ERROR = e
LOADED = false
end
def self.raiseUnlessLoaded(message)
description = ERROR.is_a?(LoadError) ? dependenciesRequiredForX25519 : ''
description << "#{ERROR.class} : \"#{ERROR.message}\"\n" if ERROR
raise NotImplementedError, "#{message}\n#{description}" unless LOADED
end
def self.dependenciesRequiredForX25519
result = "net-ssh requires the following gems for x25519 support:\n"
result << " * x25519\n"
end
end
end
end
end
end
|