dnsruby 1.60.0 → 1.60.1

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/RELEASE_NOTES.md +14 -0
  3. data/lib/dnsruby/bit_mapping.rb +1 -1
  4. data/lib/dnsruby/code_mapper.rb +3 -3
  5. data/lib/dnsruby/code_mappers.rb +4 -2
  6. data/lib/dnsruby/config.rb +1 -1
  7. data/lib/dnsruby/dnssec.rb +1 -1
  8. data/lib/dnsruby/packet_sender.rb +8 -5
  9. data/lib/dnsruby/resolver.rb +6 -6
  10. data/lib/dnsruby/resource/APL.rb +146 -0
  11. data/lib/dnsruby/resource/CAA.rb +70 -0
  12. data/lib/dnsruby/resource/IN.rb +4 -1
  13. data/lib/dnsruby/resource/MX.rb +3 -0
  14. data/lib/dnsruby/resource/OPT.rb +1 -1
  15. data/lib/dnsruby/resource/RRSIG.rb +1 -1
  16. data/lib/dnsruby/resource/TLSA.rb +149 -0
  17. data/lib/dnsruby/resource/domain_name.rb +1 -1
  18. data/lib/dnsruby/resource/generic.rb +1 -0
  19. data/lib/dnsruby/version.rb +1 -1
  20. data/lib/dnsruby/zone_transfer.rb +5 -2
  21. data/test/run-tests-individually +347 -0
  22. data/test/spec_helper.rb +3 -3
  23. data/test/tc_caa.rb +49 -0
  24. data/test/tc_cache.rb +6 -16
  25. data/test/tc_dlv.rb +3 -2
  26. data/test/tc_dns.rb +3 -1
  27. data/test/tc_ds.rb +4 -1
  28. data/test/tc_escapedchars.rb +3 -1
  29. data/test/tc_gpos.rb +2 -2
  30. data/test/tc_header.rb +3 -1
  31. data/test/tc_hip.rb +3 -1
  32. data/test/tc_hs.rb +0 -2
  33. data/test/tc_ipseckey.rb +3 -1
  34. data/test/tc_message.rb +0 -16
  35. data/test/tc_name.rb +3 -1
  36. data/test/tc_naptr.rb +3 -1
  37. data/test/tc_nsec.rb +3 -3
  38. data/test/tc_nsec3.rb +3 -1
  39. data/test/tc_nsec3param.rb +3 -1
  40. data/test/tc_nxt.rb +2 -2
  41. data/test/tc_packet.rb +3 -2
  42. data/test/tc_packet_unique_push.rb +3 -1
  43. data/test/tc_ptrin.rb +2 -1
  44. data/test/tc_question.rb +3 -1
  45. data/test/tc_res_env.rb +3 -1
  46. data/test/tc_res_opt.rb +3 -1
  47. data/test/tc_resolv.rb +1 -2
  48. data/test/tc_resolver.rb +18 -19
  49. data/test/tc_rr-opt.rb +3 -2
  50. data/test/tc_rr-txt.rb +3 -1
  51. data/test/tc_rr-unknown.rb +3 -1
  52. data/test/tc_rr.rb +15 -1
  53. data/test/tc_single_resolver.rb +4 -1
  54. data/test/tc_soak.rb +2 -1
  55. data/test/tc_soak_base.rb +2 -0
  56. data/test/tc_sshfp.rb +3 -1
  57. data/test/tc_tlsa.rb +191 -0
  58. data/test/tc_tsig.rb +3 -1
  59. data/test/tc_update.rb +6 -3
  60. data/test/tc_validator.rb +3 -2
  61. data/test/tc_zone_reader.rb +4 -2
  62. data/test/ts_offline.rb +1 -0
  63. data/test/ts_online.rb +6 -7
  64. metadata +8 -2
@@ -38,6 +38,9 @@ module Dnsruby
38
38
  def from_string(input) #:nodoc: all
39
39
  if (input.length > 0)
40
40
  names = input.split(" ")
41
+ if(names.size != 2)
42
+ raise DecodeError.new("MX record expects preference and domain")
43
+ end
41
44
  @preference = names[0].to_i
42
45
  @exchange = Name.create(names[1])
43
46
  end
@@ -148,7 +148,7 @@ module Dnsruby
148
148
  def options(args)
149
149
  if (args==nil)
150
150
  return @options
151
- elsif args.kind_of?Fixnum
151
+ elsif args.kind_of?(Integer)
152
152
  # return list of options with that code
153
153
  ret = []
154
154
  @options.each do |option|
@@ -181,7 +181,7 @@ module Dnsruby
181
181
  end
182
182
 
183
183
  def RRSIG.get_time(input)
184
- if (input.kind_of?Fixnum)
184
+ if input.kind_of?(Integer)
185
185
  return input
186
186
  end
187
187
  # RFC 4034, section 3.2
@@ -0,0 +1,149 @@
1
+ require 'openssl'
2
+
3
+ module Dnsruby
4
+ class RR
5
+ module IN
6
+ # Class for DNS TLSA server certificate or public key (TLSA) resource records.
7
+ #
8
+ # RFC 6698
9
+ class TLSA < RR
10
+ ClassHash[[TypeValue = Types::TLSA, ClassValue = ClassValue]] = self #:nodoc: all
11
+ # sec 2.1.1 ,7,2
12
+ #
13
+ # 0 CA constraint
14
+ # 1 Service certificate constraint
15
+ # 2 Trust anchor assertion
16
+ # 3 Domain-issued certificate
17
+ # 4-254 Unassigned
18
+ # 255 Private use
19
+ attr_accessor :usage
20
+ # sec 2.1.2, 7.3
21
+ #
22
+ # 0 Full certificate
23
+ # 1 SubjectPublicKeyInfo
24
+ # 2-254 Unassigned
25
+ # 255 Private use
26
+ attr_accessor :selector
27
+ # sec 2.3.1
28
+ #
29
+ # 0 Exact match on selected content
30
+ # 1 SHA-256 hash of selected content
31
+ # 2 SHA-512 hash of selected content
32
+ # 3-254 Unassigned
33
+ # 255 Private use
34
+ attr_accessor :matching_type
35
+ # sec 2.1.4
36
+ attr_accessor :data
37
+ attr_accessor :databin
38
+
39
+ def verify
40
+ raise ArgumentError, "usage with invalid value: #{@usage}" if @usage < 0 || @usage > 255
41
+ raise ArgumentError, "selector with invalid value: #{@selector}" if @selector < 0 || @selector > 255
42
+ raise ArgumentError, "matching_type with invalid value: #{@matching_type}" if @matching_type < 0 || @matching_type > 255
43
+ raise ArgumentError, "data with invalid value: #{@data}" if (@matching_type == 1 && @databin.bytesize != 32) || (@matching_type == 2 && @databin.bytesize != 64)
44
+ pkey if @matching_type == 0
45
+ end
46
+
47
+ def from_data(data) #:nodoc: all
48
+ self.usage = data[0]
49
+ self.selector = data[1]
50
+ self.matching_type = data[2]
51
+ self.databin = data[3]
52
+ verify
53
+ end
54
+
55
+ # Create the RR from a hash
56
+ def from_hash(hash)
57
+ super(hash)
58
+ verify
59
+ end
60
+
61
+ def data=(data)
62
+ self.databin = parse_string(data)
63
+ end
64
+
65
+ def databin=(databin)
66
+ @databin = databin
67
+ @data = @databin.unpack('H*')[0].each_char.each_slice(57).map(&:join).join(' ')
68
+ end
69
+
70
+ def cert
71
+ if @matching_type == 0 && @selector == 0 && @databin
72
+ begin
73
+ cert = OpenSSL::X509::Certificate.new(@databin)
74
+ rescue => e
75
+ raise ArgumentError, 'data is invalid cert '
76
+ end
77
+ end
78
+ cert
79
+ end
80
+
81
+ def pkey
82
+ pubkey = nil
83
+ if @matching_type == 0 && @databin
84
+ if @selector == 0
85
+ cert = self.cert
86
+ pubkey = cert.public_key
87
+ elsif @selector == 1
88
+ begin
89
+ pubkey = OpenSSL::PKey.read(@databin)
90
+ rescue
91
+ raise ArgumentError, 'data is invalid pkey'
92
+ end
93
+ end
94
+ end
95
+ pubkey
96
+ end
97
+
98
+ def parse_string(data)
99
+ buf = ''
100
+ comment = false
101
+ multiline = false
102
+ data.each_char do |ch|
103
+ case ch
104
+ when ';' then comment = true
105
+ when '\n'
106
+ raise ArgumentError, 'string format error' unless multiline
107
+ comment = false
108
+ when '\r' then next
109
+ when ' ' then next
110
+ when comment then next
111
+ when '(' then multiline = true
112
+ when ')' then multiline = false
113
+ else
114
+ buf += ch
115
+ end
116
+ end
117
+ raise ArgumentError, 'string format error' if multiline
118
+
119
+ [buf].pack('H*')
120
+ end
121
+
122
+ # Create the RR from a standard string
123
+ def from_string(input)
124
+ values = input.split(' ', 4)
125
+ self.usage = values[0].to_i
126
+ self.selector = values[1].to_i
127
+ self.matching_type = values[2].to_i
128
+ self.data = values[3]
129
+ verify
130
+ end
131
+
132
+ def rdata_to_string
133
+ "#{@usage} #{@selector} #{@matching_type} #{@data}"
134
+ end
135
+
136
+ def encode_rdata(msg, _canonical = false) #:nodoc: all
137
+ msg.put_pack('CCC', @usage, @selector, @matching_type)
138
+ msg.put_bytes(@databin)
139
+ end
140
+
141
+ def self.decode_rdata(msg) #:nodoc: all
142
+ usage, selector, matching_type = msg.get_unpack('CCC')
143
+ databin = msg.get_bytes
144
+ new([usage, selector, matching_type, databin])
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -51,7 +51,7 @@ module Dnsruby
51
51
  def self.decode_rdata(msg) #:nodoc: all
52
52
  n = msg.get_name
53
53
  if n.length == 0
54
- n = nil
54
+ # n = nil
55
55
  end
56
56
  self.new(n)
57
57
  end
@@ -165,3 +165,4 @@ require 'dnsruby/resource/KX'
165
165
  require 'dnsruby/resource/DHCID'
166
166
  require 'dnsruby/resource/GPOS'
167
167
  require 'dnsruby/resource/NXT'
168
+ require 'dnsruby/resource/CAA'
@@ -1,3 +1,3 @@
1
1
  module Dnsruby
2
- VERSION = '1.60.0'
2
+ VERSION = '1.60.1'
3
3
  end
@@ -27,6 +27,8 @@ module Dnsruby
27
27
  attr_accessor :port
28
28
  # If using IXFR, this is the SOA serial number to start the incrementals from
29
29
  attr_accessor :serial
30
+ # The source address to connect to
31
+ attr_accessor :src_address
30
32
  # The TSIG record used to sign the transfer
31
33
  attr_reader :tsig
32
34
  # Returns the tsigstate of the last transfer (nil if no TSIG signed transfer has occurred)
@@ -51,6 +53,7 @@ module Dnsruby
51
53
  @serial=0
52
54
  @tsig = nil
53
55
  @axfr = nil
56
+ @src_address = nil
54
57
  end
55
58
 
56
59
  # Perform a zone transfer (RFC1995)
@@ -104,7 +107,7 @@ module Dnsruby
104
107
  def do_transfer(zone, server) #:nodoc: all
105
108
  @transfer_type = Types.new(@transfer_type)
106
109
  @state = :InitialSoa
107
- socket = TCPSocket.new(server, @port)
110
+ socket = TCPSocket.new(server, @port, @src_address)
108
111
  begin
109
112
  # Send an initial query
110
113
  msg = Message.new(zone, @transfer_type, @klass)
@@ -375,4 +378,4 @@ module Dnsruby
375
378
  return msg
376
379
  end
377
380
  end
378
- end
381
+ end
@@ -0,0 +1,347 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Runs each test individually in its own Ruby VM,
4
+ # shows output from those that failed, and outputs separate lists
5
+ # of the tests that succeeded and those that failed.
6
+
7
+ # Suggest you use tee to display while running but save results to a file, e.g.:
8
+ # test/run-tests-individually | tee run-tests-individually.out.txt
9
+
10
+ test_files = Dir[File.join(File.dirname(__FILE__), 'tc_*.rb')]
11
+
12
+ def run_file(filespec)
13
+ output = `ruby #{filespec} 2>&1`
14
+ return_code = $?
15
+ if return_code == 0
16
+ puts "Ok: Test #{filespec} completed successfully"
17
+ true
18
+ else
19
+ puts "Failed: Test #{filespec} failed with the following errors:\n#{output}"
20
+ false
21
+ end
22
+ end
23
+
24
+
25
+ successes, failures = test_files.partition { |filespec| run_file(filespec) }
26
+
27
+ puts "Successes:\n\n"; puts successes; puts "\n\n"
28
+ puts "Failures:\n\n"; puts failures
29
+
30
+
31
+ =begin
32
+ Sample output:
33
+ Ok: Test test/tc_axfr.rb completed successfully
34
+ Ok: Test test/tc_cache.rb completed successfully
35
+ Failed: Test test/tc_dlv.rb failed with the following errors:
36
+ Run options: --seed 19558
37
+
38
+ # Running:
39
+
40
+
41
+ TestDlv | R
42
+ | 0.00 s
43
+ Slowest tests:
44
+ 2.04 s TestDlv#test_dlv
45
+ Slowest suites:
46
+ 2.04 s TestDlv
47
+
48
+
49
+ Finished in 2.040666s, 0.4900 runs/s, 0.4900 assertions/s.
50
+
51
+ 1) Error:
52
+ TestDlv#test_dlv:
53
+ ArgumentError: Can't make sense of nameserver : ns2.nic.se, exception : Dnsruby::NXDomain
54
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:293:in `rescue in rescue in rescue in resolve_server'
55
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:256:in `rescue in rescue in resolve_server'
56
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:252:in `rescue in resolve_server'
57
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:248:in `resolve_server'
58
+ /Users/kbennett/work/dnsruby/lib/dnsruby/packet_sender.rb:230:in `initialize'
59
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:569:in `new'
60
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:569:in `add_server'
61
+ test/tc_dlv.rb:42:in `test_dlv'
62
+
63
+ 1 runs, 1 assertions, 0 failures, 1 errors, 0 skips
64
+ Ok: Test test/tc_dns.rb completed successfully
65
+ Ok: Test test/tc_dnskey.rb completed successfully
66
+ Ok: Test test/tc_ds.rb completed successfully
67
+ Ok: Test test/tc_escapedchars.rb completed successfully
68
+ Ok: Test test/tc_gpos.rb completed successfully
69
+ Ok: Test test/tc_hash.rb completed successfully
70
+ Ok: Test test/tc_header.rb completed successfully
71
+ Ok: Test test/tc_hip.rb completed successfully
72
+ Ok: Test test/tc_hs.rb completed successfully
73
+ Ok: Test test/tc_ipseckey.rb completed successfully
74
+ Ok: Test test/tc_message.rb completed successfully
75
+ Ok: Test test/tc_misc.rb completed successfully
76
+ Ok: Test test/tc_name.rb completed successfully
77
+ Ok: Test test/tc_naptr.rb completed successfully
78
+ Ok: Test test/tc_nsec.rb completed successfully
79
+ Ok: Test test/tc_nsec3.rb completed successfully
80
+ Ok: Test test/tc_nsec3param.rb completed successfully
81
+ Ok: Test test/tc_nxt.rb completed successfully
82
+ Ok: Test test/tc_packet.rb completed successfully
83
+ Ok: Test test/tc_packet_unique_push.rb completed successfully
84
+ Ok: Test test/tc_ptrin.rb completed successfully
85
+ Ok: Test test/tc_question.rb completed successfully
86
+ Ok: Test test/tc_queue.rb completed successfully
87
+ Ok: Test test/tc_recur.rb completed successfully
88
+ Ok: Test test/tc_res_config.rb completed successfully
89
+ Failed: Test test/tc_res_env.rb failed with the following errors:
90
+ Run options: --seed 61787
91
+
92
+ # Running:
93
+
94
+
95
+ TestResolverEnv | F
96
+ | 0.00 s
97
+ Slowest tests:
98
+ 0.00 s TestResolverEnv#test_res_env
99
+ Slowest suites:
100
+ 0.00 s TestResolverEnv
101
+
102
+
103
+ Finished in 0.002247s, 445.0378 runs/s, 1335.1135 assertions/s.
104
+
105
+ 1) Failure:
106
+ TestResolverEnv#test_res_env [test/tc_res_env.rb:38]:
107
+ Nameserver set correctly.
108
+ Expected: "10.128.128.128"
109
+ Actual: "10.0.1.128"
110
+
111
+ 1 runs, 3 assertions, 1 failures, 0 errors, 0 skips
112
+ Ok: Test test/tc_res_file.rb completed successfully
113
+ Ok: Test test/tc_res_opt.rb completed successfully
114
+ Ok: Test test/tc_resolv.rb completed successfully
115
+ Ok: Test test/tc_resolver.rb completed successfully
116
+ Ok: Test test/tc_rr-opt.rb completed successfully
117
+ Ok: Test test/tc_rr-txt.rb completed successfully
118
+ Ok: Test test/tc_rr-unknown.rb completed successfully
119
+ Ok: Test test/tc_rr.rb completed successfully
120
+ Ok: Test test/tc_rrset.rb completed successfully
121
+ Ok: Test test/tc_rrsig.rb completed successfully
122
+ Ok: Test test/tc_single_resolver.rb completed successfully
123
+ Failed: Test test/tc_soak.rb failed with the following errors:
124
+ Run options: --seed 6029
125
+
126
+ # Running:
127
+
128
+
129
+ TestSingleResolverSoak | RRRRRRRRtest/tc_soak.rb:283:in `create_default_single_resolver': uninitialized constant TestSingleResolverSoak::SingleResolver (NameError)
130
+ Did you mean? SingleForwardable
131
+ from test/tc_soak.rb:243:in `block (2 levels) in test_many_threads_on_many_single_resolvers'
132
+ Ok: Test test/tc_soak_base.rb completed successfully
133
+ Ok: Test test/tc_sshfp.rb completed successfully
134
+ Ok: Test test/tc_tcp.rb completed successfully
135
+ Ok: Test test/tc_tcp_pipelining.rb completed successfully
136
+ Ok: Test test/tc_tkey.rb completed successfully
137
+ Failed: Test test/tc_tsig.rb failed with the following errors:
138
+ Run options: --seed 20864
139
+
140
+ # Running:
141
+
142
+
143
+ TestTSig | R..R
144
+ | 11.87 s
145
+ Slowest tests:
146
+ 11.87 s TestTSig#test_signed_update
147
+ 10.74 s TestTSig#test_signed_zone_transfer
148
+ 0.00 s TestTSig#test_bad_tsig
149
+ 0.00 s TestTSig#test_message_signing
150
+ Slowest suites:
151
+ 22.62 s TestTSig
152
+
153
+
154
+ Finished in 22.616872s, 0.1769 runs/s, 0.3095 assertions/s.
155
+
156
+ 1) Error:
157
+ TestTSig#test_signed_zone_transfer:
158
+ ArgumentError: Can't make sense of nameserver : ns0.validation-test-servers.nominet.org.uk, exception : undefined method `answer' for nil:NilClass
159
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:293:in `rescue in rescue in rescue in resolve_server'
160
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:256:in `rescue in rescue in resolve_server'
161
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:252:in `rescue in resolve_server'
162
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:248:in `resolve_server'
163
+ /Users/kbennett/work/dnsruby/lib/dnsruby/zone_transfer.rb:94:in `block in transfer'
164
+ /Users/kbennett/work/dnsruby/lib/dnsruby/zone_transfer.rb:92:in `each'
165
+ /Users/kbennett/work/dnsruby/lib/dnsruby/zone_transfer.rb:92:in `transfer'
166
+ test/tc_tsig.rb:189:in `axfr'
167
+ test/tc_tsig.rb:180:in `test_signed_zone_transfer'
168
+
169
+
170
+ 2) Error:
171
+ TestTSig#test_signed_update:
172
+ ArgumentError: Can't make sense of nameserver : , exception : Nameserver invalid!
173
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:293:in `rescue in rescue in rescue in resolve_server'
174
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:256:in `rescue in rescue in resolve_server'
175
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:252:in `rescue in resolve_server'
176
+ /Users/kbennett/work/dnsruby/lib/dnsruby/config.rb:248:in `resolve_server'
177
+ /Users/kbennett/work/dnsruby/lib/dnsruby/packet_sender.rb:230:in `initialize'
178
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:488:in `new'
179
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:488:in `block (2 levels) in add_config_nameservers'
180
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:487:in `each'
181
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:487:in `block in add_config_nameservers'
182
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:485:in `synchronize'
183
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:485:in `add_config_nameservers'
184
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:514:in `set_config_nameserver'
185
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:469:in `initialize'
186
+ test/tc_tsig.rb:69:in `new'
187
+ test/tc_tsig.rb:69:in `run_test_client_signs'
188
+ test/tc_tsig.rb:31:in `test_signed_update'
189
+
190
+ 4 runs, 7 assertions, 0 failures, 2 errors, 0 skips
191
+ Ok: Test test/tc_update.rb completed successfully
192
+ Failed: Test test/tc_validator.rb failed with the following errors:
193
+ Run options: --seed 12765
194
+
195
+ # Running:
196
+
197
+ Test EventType API!
198
+
199
+ TestValidator | .RRTest validation configuration options!
200
+ .
201
+ | 10.05 s
202
+ Slowest tests:
203
+ 5.05 s TestValidator#test_validation
204
+ 5.01 s TestValidator#test_resolver_cd_validation_fails
205
+ 0.00 s TestValidator#test_eventtype_api
206
+ 0.00 s TestValidator#test_config_api
207
+ Slowest suites:
208
+ 10.05 s TestValidator
209
+
210
+
211
+ Finished in 10.054978s, 0.3978 runs/s, 0.0000 assertions/s.
212
+
213
+ 1) Error:
214
+ TestValidator#test_resolver_cd_validation_fails:
215
+ Dnsruby::ResolvTimeout: Query timed out
216
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message'
217
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query'
218
+ test/tc_validator.rb:52:in `test_resolver_cd_validation_fails'
219
+
220
+
221
+ 2) Error:
222
+ TestValidator#test_validation:
223
+ Dnsruby::ResolvTimeout: Query timed out
224
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message'
225
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query'
226
+ test/tc_validator.rb:40:in `test_validation'
227
+
228
+ 4 runs, 0 assertions, 0 failures, 2 errors, 0 skips
229
+ Failed: Test test/tc_verifier.rb failed with the following errors:
230
+ Run options: --seed 23316
231
+
232
+ # Running:
233
+
234
+
235
+ VerifierTest | .R.R....RF.
236
+ | 14.37 s
237
+ Slowest tests:
238
+ 5.40 s VerifierTest#test_tcp
239
+ 5.01 s VerifierTest#test_trusted_key
240
+ 2.01 s VerifierTest#test_expired_keys
241
+ 1.54 s VerifierTest#test_verify_message_fails
242
+ 1.21 s VerifierTest#test_dsa
243
+ 0.41 s VerifierTest#test_sendraw
244
+ Slowest suites:
245
+ 15.91 s VerifierTest
246
+
247
+
248
+ Finished in 15.914313s, 0.6912 runs/s, 0.3770 assertions/s.
249
+
250
+ 1) Error:
251
+ VerifierTest#test_tcp:
252
+ Dnsruby::ResolvTimeout: Query timed out
253
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message'
254
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query'
255
+ test/tc_verifier.rb:183:in `test_tcp'
256
+
257
+
258
+ 2) Error:
259
+ VerifierTest#test_trusted_key:
260
+ Dnsruby::ResolvTimeout: Query timed out
261
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:257:in `send_message'
262
+ /Users/kbennett/work/dnsruby/lib/dnsruby/resolver.rb:203:in `query'
263
+ test/tc_verifier.rb:125:in `test_trusted_key'
264
+
265
+
266
+ 3) Error:
267
+ VerifierTest#test_verify_message:
268
+ Dnsruby::VerifyError: Failed to verify DNSKEY RRSet
269
+ /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:277:in `block (2 levels) in verify'
270
+ /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:275:in `each'
271
+ /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:275:in `block in verify'
272
+ /Users/kbennett/work/dnsruby/lib/dnsruby/message/message.rb:345:in `block in each_section'
273
+ /Users/kbennett/work/dnsruby/lib/dnsruby/message/message.rb:345:in `each'
274
+ /Users/kbennett/work/dnsruby/lib/dnsruby/message/message.rb:345:in `each_section'
275
+ /Users/kbennett/work/dnsruby/lib/dnsruby/single_verifier.rb:261:in `verify'
276
+ /Users/kbennett/work/dnsruby/lib/dnsruby/dnssec.rb:293:in `rescue in rescue in verify'
277
+ /Users/kbennett/work/dnsruby/lib/dnsruby/dnssec.rb:290:in `rescue in verify'
278
+ /Users/kbennett/work/dnsruby/lib/dnsruby/dnssec.rb:287:in `verify'
279
+ test/tc_verifier.rb:98:in `test_verify_message'
280
+
281
+
282
+ 4) Failure:
283
+ VerifierTest#test_dsa [test/tc_verifier.rb:229]:
284
+ Expected nil to be truthy.
285
+
286
+ 11 runs, 6 assertions, 1 failures, 3 errors, 0 skips
287
+ Ok: Test test/tc_zone_reader.rb completed successfully
288
+ Successes:
289
+
290
+ test/tc_axfr.rb
291
+ test/tc_cache.rb
292
+ test/tc_dns.rb
293
+ test/tc_dnskey.rb
294
+ test/tc_ds.rb
295
+ test/tc_escapedchars.rb
296
+ test/tc_gpos.rb
297
+ test/tc_hash.rb
298
+ test/tc_header.rb
299
+ test/tc_hip.rb
300
+ test/tc_hs.rb
301
+ test/tc_ipseckey.rb
302
+ test/tc_message.rb
303
+ test/tc_misc.rb
304
+ test/tc_name.rb
305
+ test/tc_naptr.rb
306
+ test/tc_nsec.rb
307
+ test/tc_nsec3.rb
308
+ test/tc_nsec3param.rb
309
+ test/tc_nxt.rb
310
+ test/tc_packet.rb
311
+ test/tc_packet_unique_push.rb
312
+ test/tc_ptrin.rb
313
+ test/tc_question.rb
314
+ test/tc_queue.rb
315
+ test/tc_recur.rb
316
+ test/tc_res_config.rb
317
+ test/tc_res_file.rb
318
+ test/tc_res_opt.rb
319
+ test/tc_resolv.rb
320
+ test/tc_resolver.rb
321
+ test/tc_rr-opt.rb
322
+ test/tc_rr-txt.rb
323
+ test/tc_rr-unknown.rb
324
+ test/tc_rr.rb
325
+ test/tc_rrset.rb
326
+ test/tc_rrsig.rb
327
+ test/tc_single_resolver.rb
328
+ test/tc_soak_base.rb
329
+ test/tc_sshfp.rb
330
+ test/tc_tcp.rb
331
+ test/tc_tcp_pipelining.rb
332
+ test/tc_tkey.rb
333
+ test/tc_update.rb
334
+ test/tc_zone_reader.rb
335
+
336
+
337
+ Failures:
338
+
339
+ test/tc_dlv.rb
340
+ test/tc_res_env.rb
341
+ test/tc_soak.rb
342
+ test/tc_tsig.rb
343
+ test/tc_validator.rb
344
+ test/tc_verifier.rb
345
+
346
+ =end
347
+