Skip to content

Commit b8b9676

Browse files
Merge pull request #8323 from rubygems/deivid-rodriguez/resolv-0.6.0
Bump vendored resolv to 0.6.0
2 parents 66510a0 + 31897ad commit b8b9676

File tree

6 files changed

+39
-36
lines changed

6 files changed

+39
-36
lines changed

lib/rubygems/vendor/resolv/lib/resolv.rb

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@
33
require 'socket'
44
require_relative '../../timeout/lib/timeout'
55
require 'io/wait'
6-
7-
begin
8-
require_relative '../../../vendored_securerandom'
9-
rescue LoadError
10-
end
6+
require_relative '../../../vendored_securerandom'
117

128
# Gem::Resolv is a thread-aware DNS resolver library written in Ruby. Gem::Resolv can
139
# handle multiple DNS requests concurrently without blocking the entire Ruby
@@ -37,7 +33,7 @@
3733

3834
class Gem::Resolv
3935

40-
VERSION = "0.5.0"
36+
VERSION = "0.6.0"
4137

4238
##
4339
# Looks up the first IP address for +name+.
@@ -83,9 +79,22 @@ def self.each_name(address, &proc)
8379

8480
##
8581
# Creates a new Gem::Resolv using +resolvers+.
82+
#
83+
# If +resolvers+ is not given, a hash, or +nil+, uses a Hosts resolver and
84+
# and a DNS resolver. If +resolvers+ is a hash, uses the hash as
85+
# configuration for the DNS resolver.
8686

87-
def initialize(resolvers=nil, use_ipv6: nil)
88-
@resolvers = resolvers || [Hosts.new, DNS.new(DNS::Config.default_config_hash.merge(use_ipv6: use_ipv6))]
87+
def initialize(resolvers=(arg_not_set = true; nil), use_ipv6: (keyword_not_set = true; nil))
88+
if !keyword_not_set && !arg_not_set
89+
warn "Support for separate use_ipv6 keyword is deprecated, as it is ignored if an argument is provided. Do not provide a positional argument if using the use_ipv6 keyword argument.", uplevel: 1
90+
end
91+
92+
@resolvers = case resolvers
93+
when Hash, nil
94+
[Hosts.new, DNS.new(DNS::Config.default_config_hash.merge(resolvers || {}))]
95+
else
96+
resolvers
97+
end
8998
end
9099

91100
##
@@ -615,16 +624,10 @@ def extract_resources(msg, name, typeclass) # :nodoc:
615624
}
616625
end
617626

618-
if defined? Gem::SecureRandom
619-
def self.random(arg) # :nodoc:
620-
begin
621-
Gem::SecureRandom.random_number(arg)
622-
rescue NotImplementedError
623-
rand(arg)
624-
end
625-
end
626-
else
627-
def self.random(arg) # :nodoc:
627+
def self.random(arg) # :nodoc:
628+
begin
629+
Gem::SecureRandom.random_number(arg)
630+
rescue NotImplementedError
628631
rand(arg)
629632
end
630633
end

tool/automatiek/resolv-v0.4.0.patch

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
diff --git a/lib/rubygems/vendor/resolv/lib/resolv.rb b/lib/rubygems/vendor/resolv/lib/resolv.rb
2+
index 511f9888c26..4d95e5fc7fc 100644
3+
--- a/lib/rubygems/vendor/resolv/lib/resolv.rb
4+
+++ b/lib/rubygems/vendor/resolv/lib/resolv.rb
5+
@@ -3,7 +3,7 @@
6+
require 'socket'
7+
require_relative '../../timeout/lib/timeout'
8+
require 'io/wait'
9+
-require_relative '../../securerandom/lib/securerandom'
10+
+require_relative '../../../vendored_securerandom'
11+
12+
# Gem::Resolv is a thread-aware DNS resolver library written in Ruby. Gem::Resolv can
13+
# handle multiple DNS requests concurrently without blocking the entire Ruby

tool/automatiek/vendor.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def require_target
8787
VendoredGem.new(name: "net-http-persistent", namespace: "Net::HTTP::Persistent", prefix: "Gem", vendor_lib: "bundler/lib/bundler/vendor/net-http-persistent", license_path: "README.rdoc", extra_dependencies: %w[net-http uri/lib/rubygems/vendor/uri], patch_name: "net-http-persistent-v4.0.2.patch"),
8888
VendoredGem.new(name: "net-protocol", namespace: "Net", prefix: "Gem", vendor_lib: "lib/rubygems/vendor/net-protocol", license_path: "LICENSE.txt"),
8989
VendoredGem.new(name: "optparse", namespace: "OptionParser", prefix: "Gem", vendor_lib: "lib/rubygems/vendor/optparse", license_path: "COPYING", extra_dependencies: %w[uri/lib/rubygems/vendor/uri], patch_name: "optparse-v0.4.0.patch"),
90-
VendoredGem.new(name: "resolv", namespace: "Resolv", prefix: "Gem", vendor_lib: "lib/rubygems/vendor/resolv", license_path: "COPYING", extra_dependencies: %w[securerandom/lib/rubygems/vendor/securerandom timeout], patch_name: "resolv-v0.4.0.patch"),
90+
VendoredGem.new(name: "resolv", namespace: "Resolv", prefix: "Gem", vendor_lib: "lib/rubygems/vendor/resolv", license_path: "COPYING", extra_dependencies: %w[securerandom/lib/rubygems/vendor/securerandom timeout], patch_name: "resolv-v0.6.0.patch"),
9191
VendoredGem.new(name: "securerandom", namespace: "SecureRandom", prefix: "Gem", vendor_lib: "lib/rubygems/vendor/securerandom", license_path: "COPYING"),
9292
VendoredGem.new(name: "timeout", namespace: "Timeout", prefix: "Gem", vendor_lib: "lib/rubygems/vendor/timeout", license_path: "COPYING", patch_name: "timeout-v0.4.1.patch"),
9393
VendoredGem.new(name: "tsort", namespace: "TSort", prefix: "Gem", vendor_lib: "lib/rubygems/vendor/tsort", license_path: "LICENSE.txt"),

tool/bundler/vendor_gems.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
gem "net-protocol", "0.2.2"
1010
gem "optparse", "0.6.0"
1111
gem "pub_grub", github: "jhawthorn/pub_grub"
12-
gem "resolv", "0.5.0"
12+
gem "resolv", "0.6.0"
1313
gem "securerandom", "0.4.0"
1414
gem "timeout", "0.4.2"
1515
gem "thor", "1.3.2"

tool/bundler/vendor_gems.rb.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ GEM
2222
net-protocol (0.2.2)
2323
timeout
2424
optparse (0.6.0)
25-
resolv (0.5.0)
25+
resolv (0.6.0)
2626
securerandom (0.4.0)
2727
thor (1.3.2)
2828
timeout (0.4.2)
@@ -45,7 +45,7 @@ DEPENDENCIES
4545
net-protocol (= 0.2.2)
4646
optparse (= 0.6.0)
4747
pub_grub!
48-
resolv (= 0.5.0)
48+
resolv (= 0.6.0)
4949
securerandom (= 0.4.0)
5050
thor (= 1.3.2)
5151
timeout (= 0.4.2)
@@ -61,7 +61,7 @@ CHECKSUMS
6161
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
6262
optparse (0.6.0) sha256=25e90469c1cd44048a89dc01c1dde9d5f0bdf717851055fb18237780779b068c
6363
pub_grub (0.5.0)
64-
resolv (0.5.0) sha256=1e6059e7af07f4a6f20de77f674a9c339a483d543cc936189e3d272c1d5009f1
64+
resolv (0.6.0) sha256=b8b73f7734d4102ef9f75bad281d8fd1c434f8588b6aba17832ddc16fe679fab
6565
securerandom (0.4.0) sha256=37a844aa4fe4dac8e47c5bc35f91531d4dc636ccee54a1ba1629087dda0a53a8
6666
thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
6767
timeout (0.4.2) sha256=8aca2d5ff98eb2f7a501c03f8c3622065932cc58bc58f725cd50a09e63b4cc19

0 commit comments

Comments
 (0)