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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59e143e5c778c710c41fc8773f011abe1bdb6502604202d41d2dc953af051792
4
- data.tar.gz: 6fd89c7fe716e10af20c5b494102a47d8d33e51a5258b48dd959099266e7e7c8
3
+ metadata.gz: e6c932d9674130fbda700a4e511a81caf4c41eaea1ccd4fa83fdbead7a62ff9a
4
+ data.tar.gz: 834f071b26dd7bbed5026870e2cdac3684527c5882a762e66f2fdc1b8cb0c001
5
5
  SHA512:
6
- metadata.gz: 313f1b89fb446ce5c1f19d8910e1fe6ed21ef3f392b680e980bbedc9d98a7f5bb0844c52aa9422df6b525f0bcc4c249541c0e23b0cf3bcf8f139c8f98b4de913
7
- data.tar.gz: 870efeeb297acf83b0a0c1b9cb5d832e138480e37bf8723986d74d43997998773195936bb4e5a035f579bb2c93806ce94a03bdc39d6c7e41fedb56fb303d1b80
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.7.0'
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
@@ -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]
@@ -234,7 +234,7 @@ module Dnsruby
234
234
  def verify_common(response)#:nodoc: all
235
235
  tsig_rr = response.tsig
236
236
 
237
- if (!tsig_rr)
237
+ if (!tsig_rr)
238
238
  response.tsigerror = RCode.FORMERR
239
239
  response.tsigstate = :Failed
240
240
  return false
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Dnsruby
2
- VERSION = '1.72.1'
2
+ VERSION = '1.72.3'
3
3
  end
@@ -138,7 +138,7 @@ module Dnsruby
138
138
  send_message(socket, msg)
139
139
  next
140
140
  end
141
- raise ResolvError.new(rcode.string)
141
+ raise ResolvError.new(rcode.string);
142
142
  end
143
143
 
144
144
  if (response.question[0].qtype != @transfer_type)
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.1
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-04-16 00:00:00.000000000 Z
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.7.0
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.7.0
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.2.30
353
+ rubygems_version: 3.5.3
340
354
  signing_key:
341
355
  specification_version: 4
342
356
  summary: Ruby DNS(SEC) implementation