dnsruby 1.72.1 → 1.72.3
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/RELEASE_NOTES.md +9 -0
- data/Rakefile +0 -1
- data/dnsruby.gemspec +2 -1
- data/lib/dnsruby/resource/CAA.rb +3 -0
- data/lib/dnsruby/resource/TSIG.rb +1 -1
- data/lib/dnsruby/select_thread.rb +7 -0
- data/lib/dnsruby/version.rb +1 -1
- data/lib/dnsruby/zone_transfer.rb +1 -1
- data/test/tc_caa.rb +11 -0
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6c932d9674130fbda700a4e511a81caf4c41eaea1ccd4fa83fdbead7a62ff9a
|
4
|
+
data.tar.gz: 834f071b26dd7bbed5026870e2cdac3684527c5882a762e66f2fdc1b8cb0c001
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffd4742dcb937bb885dfc9e3c473526cdecbbfa2593df43902ce795110ae7b03e52336d84b52ddb5470867c6110f6461bfd20b4ceb4feee933926d437eeeb36e
|
7
|
+
data.tar.gz: c7012e34354f7fdee421d15b2982f520ec0ae5c22ccc3c21d671a44a5eafb0163c4d56231a70524eb7569865811317149c5a3f32911f18bd9e376990c8faf3c1
|
data/RELEASE_NOTES.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Release Notes
|
2
2
|
|
3
|
+
## v1.72.3
|
4
|
+
|
5
|
+
* Fix cached answer response time - thanks Andre Meij!
|
6
|
+
* Add base64 as a dependency for Ruby 3.4.0+ support - thanks Alexandre ZANNI!
|
7
|
+
|
8
|
+
## v1.72.2
|
9
|
+
|
10
|
+
* Invalid CAA handling fixes - thanks Noah Smethwick and Ryan Doherty!
|
11
|
+
|
3
12
|
## v.1.72.1
|
4
13
|
|
5
14
|
* Add issuemail CAA record support - thanks Ryan Doherty!
|
data/Rakefile
CHANGED
@@ -27,7 +27,6 @@ def create_task(task_name, test_suite_filespec)
|
|
27
27
|
end
|
28
28
|
|
29
29
|
create_task(:test, 'test/ts_dnsruby.rb')
|
30
|
-
create_task(:dnskey, 'test/tc_dnskey.rb')
|
31
30
|
create_task(:test_offline, 'test/ts_offline.rb')
|
32
31
|
create_task(:test_online, 'test/ts_online.rb')
|
33
32
|
create_task(:soak, 'test/tc_soak.rb')
|
data/dnsruby.gemspec
CHANGED
@@ -38,7 +38,7 @@ DNSSEC NSEC3 support.'
|
|
38
38
|
s.add_development_dependency 'rake', '>= 13.0.6'
|
39
39
|
s.add_development_dependency 'minitest', '~> 5.18.0'
|
40
40
|
s.add_development_dependency 'rubydns', '>= 2.0.2'
|
41
|
-
s.add_development_dependency 'nio4r', '>= 2.
|
41
|
+
s.add_development_dependency 'nio4r', '>= 2.5.8'
|
42
42
|
s.add_development_dependency 'minitest-display', '>= 0.3.1'
|
43
43
|
s.add_development_dependency('yard', '>= 0.9')
|
44
44
|
# s.add_development_dependency('io-event', '>=1.1.7')
|
@@ -47,5 +47,6 @@ DNSSEC NSEC3 support.'
|
|
47
47
|
s.add_development_dependency 'coveralls', '~> 0.8.23'
|
48
48
|
end
|
49
49
|
|
50
|
+
s.add_runtime_dependency 'base64', '~> 0.2.0'
|
50
51
|
s.add_runtime_dependency 'simpleidn', '~> 0.2.1'
|
51
52
|
end
|
data/lib/dnsruby/resource/CAA.rb
CHANGED
@@ -44,6 +44,9 @@ module Dnsruby
|
|
44
44
|
|
45
45
|
def from_string(input) #:nodoc: all
|
46
46
|
matches = (/(\d+) (issuewild|issuemail|issue|iodef|contactemail|contactphone) "(.+)"$/).match(input)
|
47
|
+
if matches.nil?
|
48
|
+
raise DecodeError.new("Cannot parse record: #{input[0...1000]}")
|
49
|
+
end
|
47
50
|
@flag = matches[1]
|
48
51
|
@property_tag = matches[2]
|
49
52
|
@property_value = matches[3]
|
@@ -138,6 +138,10 @@ module Dnsruby
|
|
138
138
|
@@sockets << query_settings.socket
|
139
139
|
@@socket_is_persistent[query_settings.socket] = query_settings.is_persistent_socket
|
140
140
|
}
|
141
|
+
wake_up_select_thread
|
142
|
+
end
|
143
|
+
|
144
|
+
def wake_up_select_thread
|
141
145
|
begin
|
142
146
|
@@wakeup_sockets[0].send("wakeup!", 0)
|
143
147
|
rescue Exception
|
@@ -641,6 +645,7 @@ module Dnsruby
|
|
641
645
|
do_select
|
642
646
|
}
|
643
647
|
end
|
648
|
+
wake_up_select_thread
|
644
649
|
end
|
645
650
|
|
646
651
|
def push_response_to_select(client_id, client_queue, msg, query, res)
|
@@ -661,6 +666,7 @@ module Dnsruby
|
|
661
666
|
do_select
|
662
667
|
}
|
663
668
|
end
|
669
|
+
wake_up_select_thread
|
664
670
|
end
|
665
671
|
|
666
672
|
def push_validation_response_to_select(client_id, client_queue, msg, err, query, res)
|
@@ -677,6 +683,7 @@ module Dnsruby
|
|
677
683
|
do_select
|
678
684
|
}
|
679
685
|
end
|
686
|
+
wake_up_select_thread
|
680
687
|
end
|
681
688
|
|
682
689
|
def send_queued_exceptions
|
data/lib/dnsruby/version.rb
CHANGED
data/test/tc_caa.rb
CHANGED
@@ -45,5 +45,16 @@ class TestCAA < Minitest::Test
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
def test_caa_error
|
49
|
+
{
|
50
|
+
'foo.com. IN CAA 0 ca.example.net "issue"' => [0, 'ca.example.net', 'issue'],
|
51
|
+
'foo.com. IN CAA 0 Issue "ca.example.net"' => [0, 'Issue', 'ca.example.net']
|
52
|
+
}.each do |text, data|
|
53
|
+
assert_raises DecodeError do
|
54
|
+
RR.create(text)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
48
59
|
end
|
49
60
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dnsruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.72.
|
4
|
+
version: 1.72.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Dalitz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
61
|
+
version: 2.5.8
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.
|
68
|
+
version: 2.5.8
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: minitest-display
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.8.23
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: base64
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.2.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.2.0
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: simpleidn
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -336,7 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
336
350
|
- !ruby/object:Gem::Version
|
337
351
|
version: '0'
|
338
352
|
requirements: []
|
339
|
-
rubygems_version: 3.
|
353
|
+
rubygems_version: 3.5.3
|
340
354
|
signing_key:
|
341
355
|
specification_version: 4
|
342
356
|
summary: Ruby DNS(SEC) implementation
|