rubygems-update 3.2.9 → 3.2.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +40 -0
- data/Manifest.txt +1 -0
- data/Rakefile +6 -0
- data/bundler/CHANGELOG.md +49 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/gem.rb +23 -17
- data/bundler/lib/bundler/compact_index_client/updater.rb +1 -1
- data/bundler/lib/bundler/definition.rb +43 -26
- data/bundler/lib/bundler/dsl.rb +36 -25
- data/bundler/lib/bundler/inline.rb +1 -0
- data/bundler/lib/bundler/installer.rb +2 -0
- data/bundler/lib/bundler/installer/parallel_installer.rb +6 -8
- data/bundler/lib/bundler/lockfile_parser.rb +3 -13
- data/bundler/lib/bundler/man/bundle-config.1 +4 -4
- data/bundler/lib/bundler/man/bundle-config.1.ronn +8 -7
- data/bundler/lib/bundler/plugin.rb +1 -0
- data/bundler/lib/bundler/plugin/api/source.rb +7 -0
- data/bundler/lib/bundler/plugin/installer.rb +8 -10
- data/bundler/lib/bundler/plugin/source_list.rb +4 -0
- data/bundler/lib/bundler/resolver.rb +36 -38
- data/bundler/lib/bundler/rubygems_gem_installer.rb +47 -0
- data/bundler/lib/bundler/source.rb +6 -0
- data/bundler/lib/bundler/source/metadata.rb +0 -4
- data/bundler/lib/bundler/source/rubygems.rb +20 -4
- data/bundler/lib/bundler/source_list.rb +27 -20
- data/bundler/lib/bundler/spec_set.rb +2 -0
- data/bundler/lib/bundler/stub_specification.rb +8 -0
- data/bundler/lib/bundler/templates/newgem/README.md.tt +5 -3
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/command.rb +1 -0
- data/lib/rubygems/config_file.rb +9 -0
- data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
- data/lib/rubygems/remote_fetcher.rb +4 -8
- data/lib/rubygems/specification.rb +3 -0
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_gem.rb +2 -8
- data/test/rubygems/test_gem_config_file.rb +10 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +44 -0
- metadata +4 -3
@@ -41,6 +41,7 @@ class TestGemConfigFile < Gem::TestCase
|
|
41
41
|
assert_equal true, @cfg.verbose
|
42
42
|
assert_equal [@gem_repo], Gem.sources
|
43
43
|
assert_equal 365, @cfg.cert_expiration_length_days
|
44
|
+
assert_equal false, @cfg.ipv4_fallback_enabled
|
44
45
|
|
45
46
|
File.open @temp_conf, 'w' do |fp|
|
46
47
|
fp.puts ":backtrace: true"
|
@@ -56,6 +57,7 @@ class TestGemConfigFile < Gem::TestCase
|
|
56
57
|
fp.puts ":ssl_verify_mode: 0"
|
57
58
|
fp.puts ":ssl_ca_cert: /etc/ssl/certs"
|
58
59
|
fp.puts ":cert_expiration_length_days: 28"
|
60
|
+
fp.puts ":ipv4_fallback_enabled: true"
|
59
61
|
end
|
60
62
|
|
61
63
|
util_config_file
|
@@ -70,6 +72,14 @@ class TestGemConfigFile < Gem::TestCase
|
|
70
72
|
assert_equal 0, @cfg.ssl_verify_mode
|
71
73
|
assert_equal '/etc/ssl/certs', @cfg.ssl_ca_cert
|
72
74
|
assert_equal 28, @cfg.cert_expiration_length_days
|
75
|
+
assert_equal true, @cfg.ipv4_fallback_enabled
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_initialize_ipv4_fallback_enabled_env
|
79
|
+
ENV['IPV4_FALLBACK_ENABLED'] = 'true'
|
80
|
+
util_config_file %W[--config-file #{@temp_conf}]
|
81
|
+
|
82
|
+
assert_equal true, @cfg.ipv4_fallback_enabled
|
73
83
|
end
|
74
84
|
|
75
85
|
def test_initialize_handle_arguments_config_file
|
@@ -496,6 +496,44 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
|
|
496
496
|
assert_equal url, e.uri
|
497
497
|
end
|
498
498
|
|
499
|
+
def test_fetch_path_timeout_error
|
500
|
+
fetcher = Gem::RemoteFetcher.new nil
|
501
|
+
@fetcher = fetcher
|
502
|
+
|
503
|
+
def fetcher.fetch_http(uri, mtime = nil, head = nil)
|
504
|
+
raise Timeout::Error, 'timed out'
|
505
|
+
end
|
506
|
+
|
507
|
+
url = 'http://example.com/uri'
|
508
|
+
|
509
|
+
e = assert_raises Gem::RemoteFetcher::FetchError do
|
510
|
+
fetcher.fetch_path url
|
511
|
+
end
|
512
|
+
|
513
|
+
assert_match %r{Timeout::Error: timed out \(#{Regexp.escape url}\)\z},
|
514
|
+
e.message
|
515
|
+
assert_equal url, e.uri
|
516
|
+
end
|
517
|
+
|
518
|
+
def test_fetch_path_getaddrinfo_error
|
519
|
+
fetcher = Gem::RemoteFetcher.new nil
|
520
|
+
@fetcher = fetcher
|
521
|
+
|
522
|
+
def fetcher.fetch_http(uri, mtime = nil, head = nil)
|
523
|
+
raise SocketError, 'getaddrinfo: nodename nor servname provided'
|
524
|
+
end
|
525
|
+
|
526
|
+
url = 'http://example.com/uri'
|
527
|
+
|
528
|
+
e = assert_raises Gem::RemoteFetcher::FetchError do
|
529
|
+
fetcher.fetch_path url
|
530
|
+
end
|
531
|
+
|
532
|
+
assert_match %r{SocketError: getaddrinfo: nodename nor servname provided \(#{Regexp.escape url}\)\z},
|
533
|
+
e.message
|
534
|
+
assert_equal url, e.uri
|
535
|
+
end
|
536
|
+
|
499
537
|
def test_fetch_path_openssl_ssl_sslerror
|
500
538
|
fetcher = Gem::RemoteFetcher.new nil
|
501
539
|
@fetcher = fetcher
|
@@ -962,6 +1000,12 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
|
|
962
1000
|
end
|
963
1001
|
end
|
964
1002
|
|
1003
|
+
def test_tcpsocketext_require
|
1004
|
+
with_configured_fetcher(":ipv4_fallback_enabled: true") do |fetcher|
|
1005
|
+
refute require('rubygems/core_ext/tcpsocket_init')
|
1006
|
+
end
|
1007
|
+
end
|
1008
|
+
|
965
1009
|
def with_configured_fetcher(config_str = nil, &block)
|
966
1010
|
if config_str
|
967
1011
|
temp_conf = File.join @tempdir, '.gemrc'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2021-
|
19
|
+
date: 2021-03-08 00:00:00.000000000 Z
|
20
20
|
dependencies: []
|
21
21
|
description: |-
|
22
22
|
A package (also known as a library) contains a set of functionality
|
@@ -410,6 +410,7 @@ files:
|
|
410
410
|
- lib/rubygems/core_ext/kernel_gem.rb
|
411
411
|
- lib/rubygems/core_ext/kernel_require.rb
|
412
412
|
- lib/rubygems/core_ext/kernel_warn.rb
|
413
|
+
- lib/rubygems/core_ext/tcpsocket_init.rb
|
413
414
|
- lib/rubygems/defaults.rb
|
414
415
|
- lib/rubygems/dependency.rb
|
415
416
|
- lib/rubygems/dependency_installer.rb
|
@@ -767,7 +768,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
767
768
|
- !ruby/object:Gem::Version
|
768
769
|
version: '0'
|
769
770
|
requirements: []
|
770
|
-
rubygems_version: 3.2.
|
771
|
+
rubygems_version: 3.2.14
|
771
772
|
signing_key:
|
772
773
|
specification_version: 4
|
773
774
|
summary: RubyGems is a package management framework for Ruby.
|