Skip to content

Commit 048a670

Browse files
authored
Merge branch 'ruby:master' into handle-nameserver-servfail-reply
2 parents 8146134 + b28a266 commit 048a670

File tree

11 files changed

+41
-1176
lines changed

11 files changed

+41
-1176
lines changed

.github/workflows/test.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,22 @@ name: test
33
on: [push, pull_request]
44

55
jobs:
6+
ruby-versions:
7+
uses: ruby/actions/.github/workflows/ruby_versions.yml@master
8+
with:
9+
engine: cruby
10+
min_version: 2.5
11+
612
build:
13+
needs: ruby-versions
714
name: build (${{ matrix.ruby }} / ${{ matrix.os }})
815
strategy:
916
matrix:
10-
ruby: [ '3.0', 2.7, 2.6, 2.5, head ]
17+
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
1118
os: [ ubuntu-latest, macos-latest ]
1219
runs-on: ${{ matrix.os }}
1320
steps:
14-
- uses: actions/checkout@v3
21+
- uses: actions/checkout@v4
1522
- name: Set up Ruby
1623
uses: ruby/setup-ruby@v1
1724
with:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@
66
/pkg/
77
/spec/reports/
88
/tmp/
9+
10+
Gemfile.lock

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
source "https://rubygems.org"
22

3+
gemspec
4+
35
gem "rake"
46
gem "test-unit"
7+
gem "test-unit-ruby-core"

Rakefile

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,4 @@ Rake::TestTask.new(:test) do |t|
77
t.test_files = FileList["test/**/test_*.rb"]
88
end
99

10-
task :sync_tool do
11-
require 'fileutils'
12-
FileUtils.cp "../ruby/tool/lib/core_assertions.rb", "./test/lib"
13-
FileUtils.cp "../ruby/tool/lib/envutil.rb", "./test/lib"
14-
FileUtils.cp "../ruby/tool/lib/find_executable.rb", "./test/lib"
15-
end
16-
1710
task :default => :test

lib/resolv.rb

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737

3838
class Resolv
3939

40+
VERSION = "0.2.2"
41+
4042
##
4143
# Looks up the first IP address for +name+.
4244

@@ -198,7 +200,7 @@ def lazy_initialize # :nodoc:
198200
next unless addr
199201
@addr2name[addr] = [] unless @addr2name.include? addr
200202
@addr2name[addr] << hostname
201-
@addr2name[addr] += aliases
203+
@addr2name[addr].concat(aliases)
202204
@name2addr[hostname] = [] unless @name2addr.include? hostname
203205
@name2addr[hostname] << addr
204206
aliases.each {|n|
@@ -969,7 +971,7 @@ def Config.parse_resolv_conf(filename)
969971
next unless keyword
970972
case keyword
971973
when 'nameserver'
972-
nameserver += args
974+
nameserver.concat(args)
973975
when 'domain'
974976
next if args.empty?
975977
search = [args[0]]
@@ -1491,14 +1493,14 @@ def put_string_list(ds)
14911493
}
14921494
end
14931495

1494-
def put_name(d)
1495-
put_labels(d.to_a)
1496+
def put_name(d, compress: true)
1497+
put_labels(d.to_a, compress: compress)
14961498
end
14971499

1498-
def put_labels(d)
1500+
def put_labels(d, compress: true)
14991501
d.each_index {|i|
15001502
domain = d[i..-1]
1501-
if idx = @names[domain]
1503+
if compress && idx = @names[domain]
15021504
self.put_pack("n", 0xc000 | idx)
15031505
return
15041506
else
@@ -2332,7 +2334,7 @@ def encode_rdata(msg) # :nodoc:
23322334
msg.put_pack("n", @priority)
23332335
msg.put_pack("n", @weight)
23342336
msg.put_pack("n", @port)
2335-
msg.put_name(@target)
2337+
msg.put_name(@target, compress: false)
23362338
end
23372339

23382340
def self.decode_rdata(msg) # :nodoc:

resolv.gemspec

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1+
name = File.basename(__FILE__, ".gemspec")
2+
version = ["lib", Array.new(name.count("-")+1).join("/")].find do |dir|
3+
break File.foreach(File.join(__dir__, dir, "#{name.tr('-', '/')}.rb")) do |line|
4+
/^\s*VERSION\s*=\s*"(.*)"/ =~ line and break $1
5+
end rescue nil
6+
end
7+
18
Gem::Specification.new do |spec|
2-
spec.name = "resolv"
3-
spec.version = "0.2.1"
9+
spec.name = name
10+
spec.version = version
411
spec.authors = ["Tanaka Akira"]
512
spec.email = ["[email protected]"]
613

0 commit comments

Comments
 (0)