rubygems-update 4.0.20 → 4.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Manifest.txt +0 -2
- data/bundler/CHANGELOG.md +13 -0
- data/bundler/bundler.gemspec +1 -1
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/update.rb +1 -1
- data/bundler/lib/bundler/cli.rb +2 -2
- data/bundler/lib/bundler/definition.rb +12 -2
- data/bundler/lib/bundler/fetcher/downloader.rb +9 -0
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1.ronn +3 -2
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1.ronn +3 -1
- data/bundler/lib/bundler/self_manager.rb +15 -9
- data/bundler/lib/bundler/source/git/git_proxy.rb +9 -1
- data/bundler/lib/bundler/source/git.rb +6 -4
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems/package.rb +1 -1
- data/lib/rubygems/vendor/net-http/lib/net/http.rb +24 -2
- data/lib/rubygems.rb +1 -1
- metadata +1 -3
- data/lib/rubygems/vendor/resolv/COPYING +0 -56
- data/lib/rubygems/vendor/resolv/lib/resolv.rb +0 -3499
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d2ba10366f24f2128455224d595b4f144427d183daa7e729fa030baa5145abdf
|
|
4
|
+
data.tar.gz: 4e918f6f931c6979330094869a027604f951c0848a66e2677e2fdd5fec8e6453
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f4a911ffd341da70726247e72f242d4c9f8eb2ca4dfe366b0b60628e26f497505ad1e497516c4e1d472a04fd19bf5d67a8a83ad38f9a89b48bf8eca82df077c6
|
|
7
|
+
data.tar.gz: 02f63cf60c57dfceb1e49ef7997273d23ffe449de39ade9c2b85f81803e1ed5e092d99fc98569943d8b9c794a60360f9ff3027dda3a055ecc8f78dd380446421
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.0.21 / 2026-09-16
|
|
4
|
+
|
|
5
|
+
### Enhancements:
|
|
6
|
+
|
|
7
|
+
* Stop vendoring resolv for two regexps. Pull request [#9877](https://github.com/ruby/rubygems/pull/9877) by Hiroshi SHIBATA
|
|
8
|
+
* Normalize absolute symlink targets during gem extraction. Pull request [#9860](https://github.com/ruby/rubygems/pull/9860) by Hiroshi SHIBATA
|
|
9
|
+
* Installs bundler 4.0.21 as a default gem.
|
|
10
|
+
|
|
3
11
|
## 4.0.20 / 2026-09-02
|
|
4
12
|
|
|
5
13
|
### Enhancements:
|
data/Manifest.txt
CHANGED
|
@@ -578,8 +578,6 @@ lib/rubygems/vendor/optparse/lib/optparse/shellwords.rb
|
|
|
578
578
|
lib/rubygems/vendor/optparse/lib/optparse/time.rb
|
|
579
579
|
lib/rubygems/vendor/optparse/lib/optparse/uri.rb
|
|
580
580
|
lib/rubygems/vendor/optparse/lib/optparse/version.rb
|
|
581
|
-
lib/rubygems/vendor/resolv/COPYING
|
|
582
|
-
lib/rubygems/vendor/resolv/lib/resolv.rb
|
|
583
581
|
lib/rubygems/vendor/securerandom/COPYING
|
|
584
582
|
lib/rubygems/vendor/securerandom/lib/securerandom.rb
|
|
585
583
|
lib/rubygems/vendor/timeout/COPYING
|
data/bundler/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.0.21 / 2026-09-16
|
|
4
|
+
|
|
5
|
+
### Enhancements:
|
|
6
|
+
|
|
7
|
+
* Don't update bundler to a prerelease unless asked for one. Pull request [#9869](https://github.com/ruby/rubygems/pull/9869) by Hiroshi SHIBATA
|
|
8
|
+
* Reject Bundler redirects that downgrade https to http. Pull request [#9859](https://github.com/ruby/rubygems/pull/9859) by Hiroshi SHIBATA
|
|
9
|
+
|
|
10
|
+
### Bug fixes:
|
|
11
|
+
|
|
12
|
+
* Support `safe.bareRepository=explicit` in git sources. Pull request [#9876](https://github.com/ruby/rubygems/pull/9876) by Hiroshi SHIBATA
|
|
13
|
+
* Stop resolving locally for empty CHECKSUMS entries. Pull request [#9862](https://github.com/ruby/rubygems/pull/9862) by Hiroshi SHIBATA
|
|
14
|
+
* Expand the git source gemspec path before the chdir. Pull request [#9845](https://github.com/ruby/rubygems/pull/9845) by Hiroshi SHIBATA
|
|
15
|
+
|
|
3
16
|
## 4.0.20 / 2026-09-02
|
|
4
17
|
|
|
5
18
|
### Enhancements:
|
data/bundler/bundler.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
|
|
25
25
|
s.metadata = {
|
|
26
26
|
"bug_tracker_uri" => "https://github.com/ruby/rubygems/issues?q=is%3Aopen+is%3Aissue+label%3ABundler",
|
|
27
|
-
"changelog_uri" => "https://github.com/ruby/rubygems/blob/master/CHANGELOG
|
|
27
|
+
"changelog_uri" => "https://github.com/ruby/rubygems/blob/master/CHANGELOG.md",
|
|
28
28
|
"homepage_uri" => "https://bundler.io/",
|
|
29
29
|
"source_code_uri" => "https://github.com/ruby/rubygems",
|
|
30
30
|
}
|
|
@@ -4,8 +4,8 @@ module Bundler
|
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
|
5
5
|
module BuildMetadata
|
|
6
6
|
# begin ivars
|
|
7
|
-
@built_at = "2026-09-
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2026-09-16".freeze
|
|
8
|
+
@git_commit_sha = "a15d54ed692".freeze
|
|
9
9
|
# end ivars
|
|
10
10
|
|
|
11
11
|
# A hash representation of the build metadata.
|
|
@@ -13,7 +13,7 @@ module Bundler
|
|
|
13
13
|
|
|
14
14
|
update_bundler = options[:bundler]
|
|
15
15
|
|
|
16
|
-
Bundler.self_manager.update_bundler_and_restart_with_it_if_needed(update_bundler) if update_bundler
|
|
16
|
+
Bundler.self_manager.update_bundler_and_restart_with_it_if_needed(update_bundler, pre: options[:pre]) if update_bundler
|
|
17
17
|
|
|
18
18
|
Plugin.gemfile_install(Bundler.default_gemfile) if Bundler.settings[:plugins]
|
|
19
19
|
|
data/bundler/lib/bundler/cli.rb
CHANGED
|
@@ -317,7 +317,7 @@ module Bundler
|
|
|
317
317
|
method_option "source", type: :array, banner: "Update a specific source (and all gems associated with it)"
|
|
318
318
|
method_option "force", type: :boolean, aliases: "--redownload", banner: "Force reinstalling every gem, even if already installed"
|
|
319
319
|
method_option "ruby", type: :boolean, banner: "Update ruby specified in Gemfile.lock"
|
|
320
|
-
method_option "bundler", type: :string, lazy_default: "
|
|
320
|
+
method_option "bundler", type: :string, lazy_default: ">= #{Bundler::VERSION}", banner: "Update the locked version of bundler"
|
|
321
321
|
method_option "patch", type: :boolean, banner: "Prefer updating only to next patch version"
|
|
322
322
|
method_option "minor", type: :boolean, banner: "Prefer updating only to next minor version"
|
|
323
323
|
method_option "major", type: :boolean, banner: "Prefer updating to next major version (default)"
|
|
@@ -642,7 +642,7 @@ module Bundler
|
|
|
642
642
|
method_option "pre", type: :boolean, banner: "If updating, always choose the highest allowed version, regardless of prerelease status"
|
|
643
643
|
method_option "strict", type: :boolean, banner: "If updating, do not allow any gem to be updated past latest --patch | --minor | --major"
|
|
644
644
|
method_option "conservative", type: :boolean, banner: "If updating, use bundle install conservative update behavior and do not allow shared dependencies to be updated"
|
|
645
|
-
method_option "bundler", type: :string, lazy_default: "
|
|
645
|
+
method_option "bundler", type: :string, lazy_default: ">= #{Bundler::VERSION}", banner: "Update the locked version of bundler"
|
|
646
646
|
method_option "cooldown", type: :numeric, banner: "Only consider gem versions published at least N days ago. Use 0 to disable."
|
|
647
647
|
def lock
|
|
648
648
|
require_relative "cli/lock"
|
|
@@ -192,7 +192,7 @@ module Bundler
|
|
|
192
192
|
|
|
193
193
|
sources.cached!
|
|
194
194
|
|
|
195
|
-
if options[:add_checksums] || (!options[:local] && install_needed?)
|
|
195
|
+
if options[:add_checksums] || (!options[:local] && (install_needed? || @locked_spec_with_empty_checksums))
|
|
196
196
|
sources.remote!
|
|
197
197
|
true
|
|
198
198
|
else
|
|
@@ -639,7 +639,7 @@ module Bundler
|
|
|
639
639
|
@missing_lockfile_dep ||
|
|
640
640
|
@unlocking_bundler ||
|
|
641
641
|
@locked_spec_with_missing_checksums ||
|
|
642
|
-
|
|
642
|
+
empty_checksums_actionable? ||
|
|
643
643
|
@locked_spec_with_missing_deps ||
|
|
644
644
|
@locked_spec_with_invalid_deps
|
|
645
645
|
end
|
|
@@ -648,6 +648,16 @@ module Bundler
|
|
|
648
648
|
unlocking? || something_changed?
|
|
649
649
|
end
|
|
650
650
|
|
|
651
|
+
# Only a remote fetch can fill an empty CHECKSUMS entry, so it justifies a
|
|
652
|
+
# resolution only when one is coming. Resolving locally for it would repeat
|
|
653
|
+
# on every `Bundler.setup` without changing the lockfile. Frozen mode still
|
|
654
|
+
# has to refuse the entry.
|
|
655
|
+
def empty_checksums_actionable?
|
|
656
|
+
return false unless @locked_spec_with_empty_checksums
|
|
657
|
+
|
|
658
|
+
Bundler.frozen_bundle? || !sources.local_mode?
|
|
659
|
+
end
|
|
660
|
+
|
|
651
661
|
def should_add_extra_platforms?
|
|
652
662
|
!lockfile_exists? && Bundler::MatchPlatform.generic_local_platform_is_ruby? && !Bundler.settings[:force_ruby_platform]
|
|
653
663
|
end
|
|
@@ -46,6 +46,11 @@ module Bundler
|
|
|
46
46
|
response
|
|
47
47
|
when Gem::Net::HTTPRedirection
|
|
48
48
|
new_uri = Gem::URI.parse(response["location"])
|
|
49
|
+
# Following a downgrade would put the credentials this request carries
|
|
50
|
+
# on a plaintext connection, so refuse it like Gem::RemoteFetcher does.
|
|
51
|
+
if https?(uri) && !https?(new_uri)
|
|
52
|
+
raise HTTPError, "Redirecting to a non-https URI is not allowed: #{URICredentialsFilter.credential_filtered_uri(new_uri)}"
|
|
53
|
+
end
|
|
49
54
|
if new_uri.host == uri.host
|
|
50
55
|
new_uri.user = uri.user
|
|
51
56
|
new_uri.password = uri.password
|
|
@@ -105,6 +110,10 @@ module Bundler
|
|
|
105
110
|
|
|
106
111
|
private
|
|
107
112
|
|
|
113
|
+
def https?(uri)
|
|
114
|
+
uri.scheme&.casecmp("https")&.zero?
|
|
115
|
+
end
|
|
116
|
+
|
|
108
117
|
def validate_uri_scheme!(uri)
|
|
109
118
|
return if /\Ahttps?\z/.match?(uri.scheme)
|
|
110
119
|
raise InvalidOption,
|
|
@@ -13,7 +13,7 @@ Lock the gems specified in Gemfile\.
|
|
|
13
13
|
Ignores the existing lockfile\. Resolve then updates lockfile\. Taking a list of gems or updating all gems if no list is given\.
|
|
14
14
|
.TP
|
|
15
15
|
\fB\-\-bundler[=BUNDLER]\fR
|
|
16
|
-
Update the locked version of bundler
|
|
16
|
+
Update the locked version of bundler\. BUNDLER can be a version such as \fB4\.0\.20\fR, or a requirement such as \fB"> 0\.a"\fR\. With no argument, update to the latest released version, which never selects a prerelease\.
|
|
17
17
|
.TP
|
|
18
18
|
\fB\-\-local\fR
|
|
19
19
|
Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the gems already present in Rubygems' cache or in \fBvendor/cache\fR\. Note that if a appropriate platform\-specific gem exists on \fBrubygems\.org\fR it will not be found\.
|
|
@@ -33,8 +33,9 @@ Lock the gems specified in Gemfile.
|
|
|
33
33
|
of gems or updating all gems if no list is given.
|
|
34
34
|
|
|
35
35
|
* `--bundler[=BUNDLER]`:
|
|
36
|
-
Update the locked version of bundler
|
|
37
|
-
|
|
36
|
+
Update the locked version of bundler. BUNDLER can be a version such as
|
|
37
|
+
`4.0.20`, or a requirement such as `"> 0.a"`. With no argument, update to the
|
|
38
|
+
latest released version, which never selects a prerelease.
|
|
38
39
|
|
|
39
40
|
* `--local`:
|
|
40
41
|
Do not attempt to connect to `rubygems.org`. Instead, Bundler will use the
|
|
@@ -27,7 +27,7 @@ Do not attempt to fetch gems remotely and use the gem cache instead\.
|
|
|
27
27
|
Update the locked version of Ruby to the current version of Ruby\.
|
|
28
28
|
.TP
|
|
29
29
|
\fB\-\-bundler[=BUNDLER]\fR
|
|
30
|
-
Update the locked version of bundler to the
|
|
30
|
+
Update the locked version of bundler\. BUNDLER can be a version such as \fB4\.0\.20\fR, or a requirement such as \fB"> 0\.a"\fR\. With no argument, update to the latest released version, which never selects a prerelease\.
|
|
31
31
|
.TP
|
|
32
32
|
\fB\-\-force\fR, \fB\-\-redownload\fR
|
|
33
33
|
Force reinstalling every gem, even if already installed\.
|
|
@@ -53,7 +53,9 @@ gem.
|
|
|
53
53
|
Update the locked version of Ruby to the current version of Ruby.
|
|
54
54
|
|
|
55
55
|
* `--bundler[=BUNDLER]`:
|
|
56
|
-
Update the locked version of bundler
|
|
56
|
+
Update the locked version of bundler. BUNDLER can be a version such as
|
|
57
|
+
`4.0.20`, or a requirement such as `"> 0.a"`. With no argument, update to the
|
|
58
|
+
latest released version, which never selects a prerelease.
|
|
57
59
|
|
|
58
60
|
* `--force`, `--redownload`:
|
|
59
61
|
Force reinstalling every gem, even if already installed.
|
|
@@ -30,8 +30,8 @@ module Bundler
|
|
|
30
30
|
install_and_restart_with(restart_version)
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
def update_bundler_and_restart_with_it_if_needed(target)
|
|
34
|
-
spec = resolve_update_version_from(target)
|
|
33
|
+
def update_bundler_and_restart_with_it_if_needed(target, pre: false)
|
|
34
|
+
spec = resolve_update_version_from(target, pre: pre)
|
|
35
35
|
return unless spec
|
|
36
36
|
|
|
37
37
|
version = spec.version
|
|
@@ -108,9 +108,9 @@ module Bundler
|
|
|
108
108
|
lockfile_version
|
|
109
109
|
end
|
|
110
110
|
|
|
111
|
-
def resolve_update_version_from(target)
|
|
111
|
+
def resolve_update_version_from(target, pre: false)
|
|
112
112
|
requirement = Gem::Requirement.new(target)
|
|
113
|
-
update_candidate = find_latest_matching_spec(requirement)
|
|
113
|
+
update_candidate = find_latest_matching_spec(requirement, pre: pre)
|
|
114
114
|
|
|
115
115
|
if update_candidate.nil?
|
|
116
116
|
raise InvalidOption, "The `bundle update --bundler` target version (#{target}) does not exist"
|
|
@@ -137,18 +137,24 @@ module Bundler
|
|
|
137
137
|
end
|
|
138
138
|
end
|
|
139
139
|
|
|
140
|
-
def find_latest_matching_spec(requirement)
|
|
140
|
+
def find_latest_matching_spec(requirement, pre: false)
|
|
141
141
|
Bundler.configure
|
|
142
|
-
|
|
142
|
+
# A bare `bundle update --bundler` must stay on releases, like `gem update
|
|
143
|
+
# --system`, so only `--pre` or a prerelease requirement opts into one.
|
|
144
|
+
allow_prerelease = pre || requirement.prerelease?
|
|
145
|
+
|
|
146
|
+
local_result = find_latest_matching_spec_from_collection(local_specs, requirement, allow_prerelease)
|
|
143
147
|
return local_result if local_result && requirement.specific?
|
|
144
148
|
|
|
145
|
-
remote_result = find_latest_matching_spec_from_collection(remote_specs, requirement)
|
|
149
|
+
remote_result = find_latest_matching_spec_from_collection(remote_specs, requirement, allow_prerelease)
|
|
146
150
|
return remote_result if local_result.nil?
|
|
147
151
|
|
|
148
|
-
[local_result, remote_result].max
|
|
152
|
+
[local_result, remote_result].compact.max
|
|
149
153
|
end
|
|
150
154
|
|
|
151
|
-
def find_latest_matching_spec_from_collection(specs, requirement)
|
|
155
|
+
def find_latest_matching_spec_from_collection(specs, requirement, allow_prerelease)
|
|
156
|
+
specs = specs.reject {|spec| spec.version.prerelease? } unless allow_prerelease
|
|
157
|
+
|
|
152
158
|
specs.sort.reverse_each.find {|spec| requirement.satisfied_by?(spec.version) }
|
|
153
159
|
end
|
|
154
160
|
|
|
@@ -507,7 +507,15 @@ module Bundler
|
|
|
507
507
|
|
|
508
508
|
return ["git", *opts, *cmd] unless dir
|
|
509
509
|
|
|
510
|
-
|
|
510
|
+
# With safe.bareRepository=explicit, git refuses to discover a bare
|
|
511
|
+
# repository from -C, so the cache clone is named with --git-dir.
|
|
512
|
+
# Working trees, like a local override, still go through -C.
|
|
513
|
+
location = bare_repo?(dir) ? "--git-dir" : "-C"
|
|
514
|
+
["git", location, dir.to_s, *opts, *cmd]
|
|
515
|
+
end
|
|
516
|
+
|
|
517
|
+
def bare_repo?(dir)
|
|
518
|
+
File.exist?(File.join(dir, "objects")) && File.exist?(File.join(dir, "HEAD"))
|
|
511
519
|
end
|
|
512
520
|
|
|
513
521
|
def extra_clone_args
|
|
@@ -423,10 +423,12 @@ module Bundler
|
|
|
423
423
|
def validate_spec(_spec); end
|
|
424
424
|
|
|
425
425
|
def load_gemspec(file)
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
426
|
+
# Expand the path before the chdir below, since resolving it inside the
|
|
427
|
+
# block would base it on the gemspec directory instead of `root`.
|
|
428
|
+
gemspec_path = Pathname.new(file).expand_path(root)
|
|
429
|
+
SharedHelpers.chdir(gemspec_path.dirname.to_s) do
|
|
430
|
+
stub = Gem::StubSpecification.gemspec_stub(gemspec_path.to_s, install_path.parent, install_path.parent)
|
|
431
|
+
stub.full_gem_path = gemspec_path.dirname.to_s
|
|
430
432
|
StubSpecification.from_stub(stub)
|
|
431
433
|
end
|
|
432
434
|
end
|
data/lib/rubygems/package.rb
CHANGED
|
@@ -429,7 +429,7 @@ EOM
|
|
|
429
429
|
|
|
430
430
|
if entry.symlink?
|
|
431
431
|
link_target = entry.header.linkname
|
|
432
|
-
real_destination =
|
|
432
|
+
real_destination = File.expand_path(link_target, File.dirname(destination))
|
|
433
433
|
|
|
434
434
|
raise Gem::Package::SymlinkError.new(full_name, real_destination, destination_dir) unless
|
|
435
435
|
normalize_path(real_destination).start_with? normalize_path(destination_dir + "/")
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
|
|
23
23
|
require_relative '../../../net-protocol/lib/net/protocol'
|
|
24
24
|
require_relative '../../../uri/lib/uri'
|
|
25
|
-
require_relative '../../../resolv/lib/resolv'
|
|
26
25
|
autoload :OpenSSL, 'openssl'
|
|
27
26
|
|
|
28
27
|
module Gem::Net #:nodoc:
|
|
@@ -1531,6 +1530,29 @@ module Gem::Net #:nodoc:
|
|
|
1531
1530
|
|
|
1532
1531
|
SSL_IVNAMES = SSL_ATTRIBUTES.map { |a| "@#{a}".to_sym }.freeze # :nodoc:
|
|
1533
1532
|
|
|
1533
|
+
# Resolv::IPv4::Regex and Resolv::IPv6::Regex, copied from resolv 0.7.1 rather
|
|
1534
|
+
# than required, so that net/http does not load a DNS resolver just to keep an
|
|
1535
|
+
# IP address literal out of the Server Name Indication.
|
|
1536
|
+
# https://github.com/ruby/resolv/blob/v0.7.1/lib/resolv.rb
|
|
1537
|
+
ipv4_octet = /0|1(?:[0-9][0-9]?)?|2(?:[0-4][0-9]?|5[0-5]?|[6-9])?|[3-9][0-9]?/
|
|
1538
|
+
hex16 = /[0-9A-Fa-f]{1,4}/
|
|
1539
|
+
hex16_group = /(?:#{hex16}(?::#{hex16})*)?/
|
|
1540
|
+
dotted_quad = /\d+\.\d+\.\d+\.\d+/
|
|
1541
|
+
zone_id = /%[-0-9A-Za-z._~]+/
|
|
1542
|
+
|
|
1543
|
+
IPV4_ADDRESS = /\A(?:#{ipv4_octet})\.(?:#{ipv4_octet})\.(?:#{ipv4_octet})\.(?:#{ipv4_octet})\z/ # :nodoc:
|
|
1544
|
+
|
|
1545
|
+
IPV6_ADDRESS = /\A(?:
|
|
1546
|
+
(?:#{hex16}:){7}#{hex16} # a:b:c:d:e:f:g:h
|
|
1547
|
+
| #{hex16_group}::#{hex16_group} # a::b
|
|
1548
|
+
| (?:#{hex16}:){6}#{dotted_quad} # a:b:c:d:e:f:w.x.y.z
|
|
1549
|
+
| #{hex16_group}::(?:#{hex16}:)*#{dotted_quad} # a::b:w.x.y.z
|
|
1550
|
+
| [Ff][Ee]80(?::#{hex16}){7}#{zone_id} # fe80:b:c:d:e:f:g:h%em1
|
|
1551
|
+
| [Ff][Ee]80:(?:#{hex16_group}::#{hex16_group}|:#{hex16_group})?:#{hex16}#{zone_id} # fe80::b%em1
|
|
1552
|
+
)\z/x # :nodoc:
|
|
1553
|
+
|
|
1554
|
+
private_constant :IPV4_ADDRESS, :IPV6_ADDRESS
|
|
1555
|
+
|
|
1534
1556
|
# Sets or returns the path to a CA certification file in PEM format.
|
|
1535
1557
|
attr_accessor :ca_file
|
|
1536
1558
|
|
|
@@ -1714,7 +1736,7 @@ module Gem::Net #:nodoc:
|
|
|
1714
1736
|
|
|
1715
1737
|
# Server Name Indication (SNI) RFC 3546/6066
|
|
1716
1738
|
case @address
|
|
1717
|
-
when
|
|
1739
|
+
when IPV4_ADDRESS, IPV6_ADDRESS
|
|
1718
1740
|
# don't set SNI, as IP addresses in SNI is not valid
|
|
1719
1741
|
# per RFC 6066, section 3.
|
|
1720
1742
|
|
data/lib/rubygems.rb
CHANGED
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: 4.0.
|
|
4
|
+
version: 4.0.21
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jim Weirich
|
|
@@ -661,8 +661,6 @@ files:
|
|
|
661
661
|
- lib/rubygems/vendor/optparse/lib/optparse/time.rb
|
|
662
662
|
- lib/rubygems/vendor/optparse/lib/optparse/uri.rb
|
|
663
663
|
- lib/rubygems/vendor/optparse/lib/optparse/version.rb
|
|
664
|
-
- lib/rubygems/vendor/resolv/COPYING
|
|
665
|
-
- lib/rubygems/vendor/resolv/lib/resolv.rb
|
|
666
664
|
- lib/rubygems/vendor/securerandom/COPYING
|
|
667
665
|
- lib/rubygems/vendor/securerandom/lib/securerandom.rb
|
|
668
666
|
- lib/rubygems/vendor/timeout/COPYING
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
|
|
2
|
-
You can redistribute it and/or modify it under either the terms of the
|
|
3
|
-
2-clause BSDL (see the file BSDL), or the conditions below:
|
|
4
|
-
|
|
5
|
-
1. You may make and give away verbatim copies of the source form of the
|
|
6
|
-
software without restriction, provided that you duplicate all of the
|
|
7
|
-
original copyright notices and associated disclaimers.
|
|
8
|
-
|
|
9
|
-
2. You may modify your copy of the software in any way, provided that
|
|
10
|
-
you do at least ONE of the following:
|
|
11
|
-
|
|
12
|
-
a. place your modifications in the Public Domain or otherwise
|
|
13
|
-
make them Freely Available, such as by posting said
|
|
14
|
-
modifications to Usenet or an equivalent medium, or by allowing
|
|
15
|
-
the author to include your modifications in the software.
|
|
16
|
-
|
|
17
|
-
b. use the modified software only within your corporation or
|
|
18
|
-
organization.
|
|
19
|
-
|
|
20
|
-
c. give non-standard binaries non-standard names, with
|
|
21
|
-
instructions on where to get the original software distribution.
|
|
22
|
-
|
|
23
|
-
d. make other distribution arrangements with the author.
|
|
24
|
-
|
|
25
|
-
3. You may distribute the software in object code or binary form,
|
|
26
|
-
provided that you do at least ONE of the following:
|
|
27
|
-
|
|
28
|
-
a. distribute the binaries and library files of the software,
|
|
29
|
-
together with instructions (in the manual page or equivalent)
|
|
30
|
-
on where to get the original distribution.
|
|
31
|
-
|
|
32
|
-
b. accompany the distribution with the machine-readable source of
|
|
33
|
-
the software.
|
|
34
|
-
|
|
35
|
-
c. give non-standard binaries non-standard names, with
|
|
36
|
-
instructions on where to get the original software distribution.
|
|
37
|
-
|
|
38
|
-
d. make other distribution arrangements with the author.
|
|
39
|
-
|
|
40
|
-
4. You may modify and include the part of the software into any other
|
|
41
|
-
software (possibly commercial). But some files in the distribution
|
|
42
|
-
are not written by the author, so that they are not under these terms.
|
|
43
|
-
|
|
44
|
-
For the list of those files and their copying conditions, see the
|
|
45
|
-
file LEGAL.
|
|
46
|
-
|
|
47
|
-
5. The scripts and library files supplied as input to or produced as
|
|
48
|
-
output from the software do not automatically fall under the
|
|
49
|
-
copyright of the software, but belong to whomever generated them,
|
|
50
|
-
and may be sold commercially, and may be aggregated with this
|
|
51
|
-
software.
|
|
52
|
-
|
|
53
|
-
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
|
54
|
-
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
55
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
56
|
-
PURPOSE.
|