Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gems/bundler-checksum/lib/bundler_checksum.rb')
-rw-r--r--vendor/gems/bundler-checksum/lib/bundler_checksum.rb18
1 files changed, 12 insertions, 6 deletions
diff --git a/vendor/gems/bundler-checksum/lib/bundler_checksum.rb b/vendor/gems/bundler-checksum/lib/bundler_checksum.rb
index b3d36521f24..083082c0ab1 100644
--- a/vendor/gems/bundler-checksum/lib/bundler_checksum.rb
+++ b/vendor/gems/bundler-checksum/lib/bundler_checksum.rb
@@ -41,12 +41,18 @@ module Bundler
raise "#{@package.inspect} does not have :@gem" unless source
raise "#{source.inspect} does not respond to :with_read_io" unless source.respond_to?(:with_read_io)
- digest = source.with_read_io do |io|
- digest = SharedHelpers.digest(:SHA256).new
- digest << io.read(16_384) until io.eof?
- io.rewind
- send(checksum_type(checksum), digest)
- end
+ digest =
+ if Gem::Version.new(Bundler::VERSION) >= Gem::Version.new("2.5.0")
+ gem_checksum.digest
+ else
+ source.with_read_io do |io|
+ digest = SharedHelpers.digest(:SHA256).new
+ digest << io.read(16_384) until io.eof?
+ io.rewind
+ send(checksum_type(checksum), digest)
+ end
+ end
+
unless digest == checksum
raise SecurityError, <<-MESSAGE
Bundler cannot continue installing #{spec.name} (#{spec.version}).