[rubygems/rubygems] Avoid loading the digest
gem unnecessarily
OpenSSL includes what we need. https://github.com/rubygems/rubygems/commit/955f3b72ca
This commit is contained in:
parent
a959342abf
commit
9d28618091
@ -1,4 +1,3 @@
|
|||||||
require 'digest'
|
|
||||||
require_relative 'openssl'
|
require_relative 'openssl'
|
||||||
|
|
||||||
##
|
##
|
||||||
@ -87,7 +86,7 @@ class Gem::S3URISigner
|
|||||||
"AWS4-HMAC-SHA256",
|
"AWS4-HMAC-SHA256",
|
||||||
date_time,
|
date_time,
|
||||||
credential_info,
|
credential_info,
|
||||||
Digest::SHA256.hexdigest(canonical_request),
|
OpenSSL::Digest::SHA256.hexdigest(canonical_request),
|
||||||
].join("\n")
|
].join("\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ class Gem::Source::Git < Gem::Source
|
|||||||
# A hash for the git gem based on the git repository URI.
|
# A hash for the git gem based on the git repository URI.
|
||||||
|
|
||||||
def uri_hash # :nodoc:
|
def uri_hash # :nodoc:
|
||||||
require 'digest'
|
require_relative '../openssl'
|
||||||
|
|
||||||
normalized =
|
normalized =
|
||||||
if @repository =~ %r{^\w+://(\w+@)?}
|
if @repository =~ %r{^\w+://(\w+@)?}
|
||||||
@ -235,6 +235,6 @@ class Gem::Source::Git < Gem::Source
|
|||||||
@repository
|
@repository
|
||||||
end
|
end
|
||||||
|
|
||||||
Digest::SHA1.hexdigest normalized
|
OpenSSL::Digest::SHA1.hexdigest normalized
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'package/tar_test_case'
|
require_relative 'package/tar_test_case'
|
||||||
require 'digest'
|
require 'rubygems/openssl'
|
||||||
|
|
||||||
class TestGemPackage < Gem::Package::TarTestCase
|
class TestGemPackage < Gem::Package::TarTestCase
|
||||||
def setup
|
def setup
|
||||||
@ -84,17 +84,17 @@ class TestGemPackage < Gem::Package::TarTestCase
|
|||||||
io.write spec.to_yaml
|
io.write spec.to_yaml
|
||||||
end
|
end
|
||||||
|
|
||||||
metadata_sha256 = Digest::SHA256.hexdigest s.string
|
metadata_sha256 = OpenSSL::Digest::SHA256.hexdigest s.string
|
||||||
metadata_sha512 = Digest::SHA512.hexdigest s.string
|
metadata_sha512 = OpenSSL::Digest::SHA512.hexdigest s.string
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
'SHA512' => {
|
'SHA512' => {
|
||||||
'metadata.gz' => metadata_sha512,
|
'metadata.gz' => metadata_sha512,
|
||||||
'data.tar.gz' => Digest::SHA512.hexdigest(tar),
|
'data.tar.gz' => OpenSSL::Digest::SHA512.hexdigest(tar),
|
||||||
},
|
},
|
||||||
'SHA256' => {
|
'SHA256' => {
|
||||||
'metadata.gz' => metadata_sha256,
|
'metadata.gz' => metadata_sha256,
|
||||||
'data.tar.gz' => Digest::SHA256.hexdigest(tar),
|
'data.tar.gz' => OpenSSL::Digest::SHA256.hexdigest(tar),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -857,7 +857,7 @@ class TestGemPackage < Gem::Package::TarTestCase
|
|||||||
io.write metadata_gz
|
io.write metadata_gz
|
||||||
end
|
end
|
||||||
|
|
||||||
digest = Digest::SHA1.new
|
digest = OpenSSL::Digest::SHA1.new
|
||||||
digest << metadata_gz
|
digest << metadata_gz
|
||||||
|
|
||||||
checksums = {
|
checksums = {
|
||||||
@ -1016,7 +1016,7 @@ class TestGemPackage < Gem::Package::TarTestCase
|
|||||||
bogus_data = Gem::Util.gzip 'hello'
|
bogus_data = Gem::Util.gzip 'hello'
|
||||||
fake_signer = Class.new do
|
fake_signer = Class.new do
|
||||||
def digest_name; 'SHA512'; end
|
def digest_name; 'SHA512'; end
|
||||||
def digest_algorithm; Digest(:SHA512).new; end
|
def digest_algorithm; OpenSSL::Digest(:SHA512).new; end
|
||||||
def key; 'key'; end
|
def key; 'key'; end
|
||||||
def sign(*); 'fake_sig'; end
|
def sign(*); 'fake_sig'; end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user