dnsruby 1.72.1 → 1.72.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|