dnsruby 1.40 → 1.41
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.
- data/demo/example_recurse.rb +4 -1
- data/lib/Dnsruby/DNS.rb +1 -1
- data/lib/Dnsruby/Recursor.rb +129 -118
- data/lib/Dnsruby/Resolver.rb +83 -60
- data/lib/Dnsruby/SingleResolver.rb +1 -0
- data/lib/Dnsruby/dnssec.rb +4 -4
- data/lib/Dnsruby/resource/DNSKEY.rb +42 -7
- data/lib/Dnsruby/resource/IN.rb +40 -7
- data/lib/Dnsruby/resource/NSEC3.rb +1 -1
- data/lib/Dnsruby/resource/generic.rb +8 -0
- data/lib/Dnsruby/resource/resource.rb +17 -5
- data/lib/Dnsruby/single_verifier.rb +3 -2
- data/lib/Dnsruby/zone_reader.rb +2 -2
- data/test/tc_cache.rb +33 -11
- data/test/tc_ipseckey.rb +1 -0
- data/test/tc_naptr.rb +48 -0
- data/test/tc_resolver.rb +7 -8
- data/test/tc_rr.rb +1 -1
- data/test/tc_rrsig.rb +5 -0
- data/test/tc_update.rb +2 -2
- data/test/tc_verifier.rb +19 -2
- data/test/ts_offline.rb +1 -0
- data/test/ts_online.rb +2 -1
- metadata +7 -6
data/test/tc_resolver.rb
CHANGED
@@ -147,14 +147,14 @@ class TestResolver < Test::Unit::TestCase
|
|
147
147
|
rescue ResolvTimeout
|
148
148
|
stop=Time.now
|
149
149
|
time = stop-start
|
150
|
-
assert(time <= expected *1.
|
150
|
+
assert(time <= expected *1.3 && time >= expected *0.9, "Wrong time take, expected #{expected}, took #{time}")
|
151
151
|
end
|
152
152
|
end
|
153
153
|
end
|
154
154
|
|
155
155
|
def test_packet_timeout
|
156
|
-
|
157
|
-
res = Resolver.new({:nameserver => "10.0.1.128"})
|
156
|
+
res = Resolver.new({:nameserver => []})
|
157
|
+
# res = Resolver.new({:nameserver => "10.0.1.128"})
|
158
158
|
start=stop=0
|
159
159
|
retry_times = retry_delay = packet_timeout= 10
|
160
160
|
query_timeout=2
|
@@ -171,13 +171,12 @@ class TestResolver < Test::Unit::TestCase
|
|
171
171
|
rescue ResolvTimeout
|
172
172
|
stop=Time.now
|
173
173
|
time = stop-start
|
174
|
-
assert(time <= expected *1.
|
174
|
+
assert(time <= expected *1.3 && time >= expected *0.9, "Wrong time take, expected #{expected}, took #{time}")
|
175
175
|
end #
|
176
176
|
end
|
177
|
-
end
|
178
177
|
|
179
178
|
def test_queue_packet_timeout
|
180
|
-
if (!RUBY_PLATFORM=~/darwin/)
|
179
|
+
# if (!RUBY_PLATFORM=~/darwin/)
|
181
180
|
res = Resolver.new({:nameserver => "10.0.1.128"})
|
182
181
|
# bad = SingleResolver.new("localhost")
|
183
182
|
res.add_server("localhost")
|
@@ -192,8 +191,8 @@ class TestResolver < Test::Unit::TestCase
|
|
192
191
|
assert(ret==nil)
|
193
192
|
assert(err.class == ResolvTimeout, "#{err.class}, #{err}")
|
194
193
|
time = stop-start
|
195
|
-
assert(time <= expected *1.
|
196
|
-
end
|
194
|
+
assert(time <= expected *1.3 && time >= expected *0.9, "Wrong time take, expected #{expected}, took #{time}")
|
195
|
+
# end
|
197
196
|
end
|
198
197
|
|
199
198
|
def test_illegal_src_port
|
data/test/tc_rr.rb
CHANGED
@@ -241,7 +241,7 @@ class TestRR < Test::Unit::TestCase
|
|
241
241
|
|
242
242
|
assert(rr, "#{type} - RR defined");
|
243
243
|
assert_equal(name, rr.name.to_s, "#{type} - name() correct");
|
244
|
-
assert_equal(klass,
|
244
|
+
assert_equal(klass, rr.klass.to_s, "#{type} - class() correct");
|
245
245
|
assert_equal(ttl, rr.ttl, "#{type} - ttl() correct");
|
246
246
|
|
247
247
|
# foreach my $meth (keys %{data}) {
|
data/test/tc_rrsig.rb
CHANGED
@@ -46,6 +46,11 @@ class RrsigTest < Test::Unit::TestCase
|
|
46
46
|
assert(rrsig2.to_s == rrsig.to_s)
|
47
47
|
end
|
48
48
|
|
49
|
+
def test_unknown_types
|
50
|
+
rr = Dnsruby::RR.create("a.unknown.rr.org. 16070400 IN RRSIG TYPE731 7 4 16070400 20110220190432 20091112142325 59079 unknown.rr.org. a/iqriTleD/pkiXhH2HunBzbJ113JliHu8MrN30hwR5U8uR+FQ9UwoyqFVKmMFvhr66Q+Bn2leJhszJVLHM0GZpEP3yU9Kiux5z2sWxdNZY1phuVfe7vQhzPCG9a/gaNtOd/p42OaQRIvDpdp7Ey4m+2Lq/PfovuAa8jl1HBBSxYbt2sZ4Qh9IrP7qkabGzuF3iK8Kf+QTV+ty9enMRhv2zbGVJv0/KjfeOmLBpDnLxDtNN23ObqO2y31Ci434bWYbHRZJMofUWw/0cJHdw4qlnfraLHiXQSW/tT71mS/7CgHJcSZ89hdDFv8drAy/8py0MLT9nLrsvzH5F/knU/oA== ;{id = 59079}")
|
51
|
+
assert(rr.type_covered == Dnsruby::Types.TYPE731)
|
52
|
+
end
|
53
|
+
|
49
54
|
def test_string_with_comments
|
50
55
|
r = Dnsruby::RR.create("tjeb.nl. 3600 IN RRSIG NSEC3PARAM 7 2 3600 20090630164649 20090602164649 53177 tjeb.nl. Fw70WQMviRFGyeze3MUpfafaAcWIvHRpnq4ZK3lxexrR1p+rLxK5C4qVKU71XYrPYR7XEBxgUG1oyKNOhFOVyx31EjC462dz7Vxn6UDpD1LIwNnD28+oHfS9AFzGKcn4zUZqT+8IvOO1jiS9c3Y8WAkOloN9AwGIIKWU8zAp1n4= ;{id = 53177}")
|
51
56
|
assert_equal("Fw70WQMviRFGyeze3MUpfafaAcWIvHRpnq4ZK3lxexrR1p+rLxK5C4qVKU71XYrPYR7XEBxgUG1oyKNOhFOVyx31EjC462dz7Vxn6UDpD1LIwNnD28+oHfS9AFzGKcn4zUZqT+8IvOO1jiS9c3Y8WAkOloN9AwGIIKWU8zAp1n4=", ([r.signature].pack("m*")).gsub(/\n/,"").chomp)
|
data/test/tc_update.rb
CHANGED
@@ -31,7 +31,7 @@ class TestUpdate < Test::Unit::TestCase
|
|
31
31
|
|
32
32
|
zone = "example.com";
|
33
33
|
name = "foo.example.com";
|
34
|
-
klass =
|
34
|
+
klass = Classes.CLASS32;
|
35
35
|
klass2 = Classes.CH;
|
36
36
|
type = Types.A;
|
37
37
|
ttl = 43200;
|
@@ -48,7 +48,7 @@ class TestUpdate < Test::Unit::TestCase
|
|
48
48
|
assert(update, 'new() returned packet'); #2
|
49
49
|
assert_equal(update.header.opcode, OpCode.UPDATE, 'header opcode correct'); #3
|
50
50
|
assert_equal(z.zname.to_s, zone, 'zname correct'); #4
|
51
|
-
assert_equal(z.zclass.to_s, klass, 'zclass correct'); #5
|
51
|
+
assert_equal(z.zclass.to_s, klass.to_s, 'zclass correct'); #5
|
52
52
|
assert_equal(z.ztype, Types.SOA, 'ztype correct'); #6
|
53
53
|
|
54
54
|
#------------------------------------------------------------------------------
|
data/test/tc_verifier.rb
CHANGED
@@ -19,7 +19,24 @@ require 'dnsruby'
|
|
19
19
|
|
20
20
|
class VerifierTest < Test::Unit::TestCase
|
21
21
|
|
22
|
-
def
|
22
|
+
def test_sha2
|
23
|
+
# @TODO@ Check if OpenSSL supports SHA2
|
24
|
+
have_sha2 = false
|
25
|
+
begin
|
26
|
+
OpenSSL::Digest::SHA256.new
|
27
|
+
have_sha2 = true
|
28
|
+
rescue Exception
|
29
|
+
end
|
30
|
+
if (have_sha2)
|
31
|
+
# print "OpenSSL supports SHA2\n"
|
32
|
+
do_test_sha256
|
33
|
+
do_test_sha512
|
34
|
+
else
|
35
|
+
print "OpenSSL doesn't support SHA2 - disabling SHA256/SHA512 tests. DNSSEC validation will not work with these type of signatures.\n"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def do_test_sha256
|
23
40
|
key256 = Dnsruby::RR.create("example.net. 3600 IN DNSKEY (256 3 8 AwEAAcFcGsaxxdgiuuGmCkVI
|
24
41
|
my4h99CqT7jwY3pexPGcnUFtR2Fh36BponcwtkZ4cAgtvd4Qs8P
|
25
42
|
kxUdp6p/DlUmObdk= );{id = 9033 (zsk), size = 512b}")
|
@@ -34,7 +51,7 @@ class VerifierTest < Test::Unit::TestCase
|
|
34
51
|
verifier.verify_rrset(rrset, key256)
|
35
52
|
end
|
36
53
|
|
37
|
-
def
|
54
|
+
def do_test_sha512
|
38
55
|
key512 = Dnsruby::RR.create("example.net. 3600 IN DNSKEY (256 3 10 AwEAAdHoNTOW+et86KuJOWRD
|
39
56
|
p1pndvwb6Y83nSVXXyLA3DLroROUkN6X0O6pnWnjJQujX/AyhqFD
|
40
57
|
xj13tOnD9u/1kTg7cV6rklMrZDtJCQ5PCl/D7QNPsgVsMu1J2Q8g
|
data/test/ts_offline.rb
CHANGED
data/test/ts_online.rb
CHANGED
@@ -52,6 +52,7 @@ if (online)
|
|
52
52
|
# require "test/tc_queue.rb"
|
53
53
|
require "test/tc_recur.rb"
|
54
54
|
# require "test/tc_soak.rb"
|
55
|
+
require "test/tc_cache.rb"
|
55
56
|
|
56
57
|
# Check if we can contact the server - if we can't, then abort the test
|
57
58
|
# (but tell user that test has not been run due to connectivity problems)
|
@@ -112,4 +113,4 @@ if (online)
|
|
112
113
|
# require 'test/tc_event_machine_deferrable.rb'
|
113
114
|
# end
|
114
115
|
end
|
115
|
-
end
|
116
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dnsruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "1.
|
4
|
+
version: "1.41"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AlexD
|
@@ -9,7 +9,7 @@ autorequire: dnsruby
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-02 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -41,6 +41,7 @@ files:
|
|
41
41
|
- test/tc_itar.rb
|
42
42
|
- test/tc_misc.rb
|
43
43
|
- test/tc_name.rb
|
44
|
+
- test/tc_naptr.rb
|
44
45
|
- test/tc_nsec.rb
|
45
46
|
- test/tc_nsec3.rb
|
46
47
|
- test/tc_nsec3param.rb
|
@@ -73,7 +74,6 @@ files:
|
|
73
74
|
- test/ts_dnsruby.rb
|
74
75
|
- test/ts_offline.rb
|
75
76
|
- test/ts_online.rb
|
76
|
-
- lib/Dnsruby
|
77
77
|
- lib/Dnsruby/Cache.rb
|
78
78
|
- lib/Dnsruby/code_mapper.rb
|
79
79
|
- lib/Dnsruby/Config.rb
|
@@ -89,7 +89,6 @@ files:
|
|
89
89
|
- lib/Dnsruby/PacketSender.rb
|
90
90
|
- lib/Dnsruby/Recursor.rb
|
91
91
|
- lib/Dnsruby/Resolver.rb
|
92
|
-
- lib/Dnsruby/resource
|
93
92
|
- lib/Dnsruby/resource/A.rb
|
94
93
|
- lib/Dnsruby/resource/AAAA.rb
|
95
94
|
- lib/Dnsruby/resource/AFSDB.rb
|
@@ -154,6 +153,8 @@ files:
|
|
154
153
|
- EVENTMACHINE
|
155
154
|
has_rdoc: true
|
156
155
|
homepage: http://rubyforge.org/projects/dnsruby/
|
156
|
+
licenses: []
|
157
|
+
|
157
158
|
post_install_message:
|
158
159
|
rdoc_options: []
|
159
160
|
|
@@ -174,9 +175,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
175
|
requirements: []
|
175
176
|
|
176
177
|
rubyforge_project: dnsruby
|
177
|
-
rubygems_version: 1.3.
|
178
|
+
rubygems_version: 1.3.5
|
178
179
|
signing_key:
|
179
|
-
specification_version:
|
180
|
+
specification_version: 3
|
180
181
|
summary: Ruby DNS(SEC) implementation
|
181
182
|
test_files:
|
182
183
|
- test/ts_offline.rb
|