summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodriguez <deivid.rodriguez@riseup.net>2021-10-10 17:21:53 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2021-10-25 20:48:52 +0900
commit9d286180916e23bb2d9e6bf43cd75f439a1939ce (patch)
tree3177653b7c9af3c7012caa80548e10beafeba4c7
parenta959342abf3c77fc5f08a91107f5f27cfe1766a7 (diff)
[rubygems/rubygems] Avoid loading the `digest` gem unnecessarily
OpenSSL includes what we need. https://github.com/rubygems/rubygems/commit/955f3b72ca
-rw-r--r--lib/rubygems/s3_uri_signer.rb3
-rw-r--r--lib/rubygems/source/git.rb4
-rw-r--r--test/rubygems/test_gem_package.rb14
3 files changed, 10 insertions, 11 deletions
diff --git a/lib/rubygems/s3_uri_signer.rb b/lib/rubygems/s3_uri_signer.rb
index da2af5f326..4d1deee997 100644
--- a/lib/rubygems/s3_uri_signer.rb
+++ b/lib/rubygems/s3_uri_signer.rb
@@ -1,4 +1,3 @@
-require 'digest'
require_relative 'openssl'
##
@@ -87,7 +86,7 @@ class Gem::S3URISigner
"AWS4-HMAC-SHA256",
date_time,
credential_info,
- Digest::SHA256.hexdigest(canonical_request),
+ OpenSSL::Digest::SHA256.hexdigest(canonical_request),
].join("\n")
end
diff --git a/lib/rubygems/source/git.rb b/lib/rubygems/source/git.rb
index 95dee9b883..cda5aa8073 100644
--- a/lib/rubygems/source/git.rb
+++ b/lib/rubygems/source/git.rb
@@ -225,7 +225,7 @@ class Gem::Source::Git < Gem::Source
# A hash for the git gem based on the git repository URI.
def uri_hash # :nodoc:
- require 'digest'
+ require_relative '../openssl'
normalized =
if @repository =~ %r{^\w+://(\w+@)?}
@@ -235,6 +235,6 @@ class Gem::Source::Git < Gem::Source
@repository
end
- Digest::SHA1.hexdigest normalized
+ OpenSSL::Digest::SHA1.hexdigest normalized
end
end
diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb
index 27afca1ccb..48dcbee9f1 100644
--- a/test/rubygems/test_gem_package.rb
+++ b/test/rubygems/test_gem_package.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
require_relative 'package/tar_test_case'
-require 'digest'
+require 'rubygems/openssl'
class TestGemPackage < Gem::Package::TarTestCase
def setup
@@ -84,17 +84,17 @@ class TestGemPackage < Gem::Package::TarTestCase
io.write spec.to_yaml
end
- metadata_sha256 = Digest::SHA256.hexdigest s.string
- metadata_sha512 = Digest::SHA512.hexdigest s.string
+ metadata_sha256 = OpenSSL::Digest::SHA256.hexdigest s.string
+ metadata_sha512 = OpenSSL::Digest::SHA512.hexdigest s.string
expected = {
'SHA512' => {
'metadata.gz' => metadata_sha512,
- 'data.tar.gz' => Digest::SHA512.hexdigest(tar),
+ 'data.tar.gz' => OpenSSL::Digest::SHA512.hexdigest(tar),
},
'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
end
- digest = Digest::SHA1.new
+ digest = OpenSSL::Digest::SHA1.new
digest << metadata_gz
checksums = {
@@ -1016,7 +1016,7 @@ class TestGemPackage < Gem::Package::TarTestCase
bogus_data = Gem::Util.gzip 'hello'
fake_signer = Class.new do
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 sign(*); 'fake_sig'; end
end