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 34 35 36 37 38 39 40 41 42 43 44
|
# frozen_string_literal: true
# Moments version builder module
module JWT
def self.gem_version
Gem::Version.new VERSION::STRING
end
# Moments version builder module
module VERSION
# major version
MAJOR = 2
# minor version
MINOR = 7
# tiny version
TINY = 1
# alpha, beta, etc. tag
PRE = nil
# Build version string
STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
end
def self.openssl_3?
return false if OpenSSL::OPENSSL_VERSION.include?('LibreSSL')
return true if OpenSSL::OPENSSL_VERSION_NUMBER >= 3 * 0x10000000
end
def self.rbnacl?
defined?(::RbNaCl)
end
def self.rbnacl_6_or_greater?
rbnacl? && ::Gem::Version.new(::RbNaCl::VERSION) >= ::Gem::Version.new('6.0.0')
end
def self.openssl_3_hmac_empty_key_regression?
openssl_3? && openssl_version <= ::Gem::Version.new('3.0.0')
end
def self.openssl_version
@openssl_version ||= ::Gem::Version.new(OpenSSL::VERSION)
end
end
|