dnsruby 1.55 → 1.56.0
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/README.md +96 -0
- data/Rakefile +30 -29
- data/demo/axfr.rb +93 -93
- data/demo/check_soa.rb +99 -99
- data/demo/check_zone.rb +59 -59
- data/demo/digdlv.rb +43 -43
- data/demo/digroot.rb +34 -34
- data/demo/example_recurse.rb +14 -14
- data/demo/mresolv.rb +30 -30
- data/demo/mx.rb +31 -31
- data/demo/rubydig.rb +37 -37
- data/demo/to_resolve.txt +3088 -3088
- data/demo/trace_dns.rb +46 -46
- data/lib/dnsruby.rb +161 -526
- data/lib/dnsruby/DNS.rb +305 -0
- data/lib/{Dnsruby/Cache.rb → dnsruby/cache.rb} +152 -152
- data/lib/{Dnsruby → dnsruby}/code_mapper.rb +48 -52
- data/lib/dnsruby/code_mappers.rb +295 -0
- data/lib/{Dnsruby/Config.rb → dnsruby/config.rb} +454 -454
- data/lib/{Dnsruby → dnsruby}/dnssec.rb +91 -91
- data/lib/{Dnsruby/Hosts.rb → dnsruby/hosts.rb} +125 -125
- data/lib/{Dnsruby → dnsruby}/ipv4.rb +26 -26
- data/lib/{Dnsruby → dnsruby}/ipv6.rb +42 -42
- data/lib/{Dnsruby → dnsruby}/key_cache.rb +29 -29
- data/lib/dnsruby/message/decoder.rb +164 -0
- data/lib/dnsruby/message/encoder.rb +75 -0
- data/lib/dnsruby/message/header.rb +249 -0
- data/lib/dnsruby/message/message.rb +629 -0
- data/lib/dnsruby/message/question.rb +86 -0
- data/lib/dnsruby/message/section.rb +96 -0
- data/lib/{Dnsruby → dnsruby}/name.rb +141 -141
- data/lib/dnsruby/packet_sender.rb +661 -0
- data/lib/{Dnsruby/Recursor.rb → dnsruby/recursor.rb} +235 -233
- data/lib/dnsruby/resolv.rb +113 -0
- data/lib/dnsruby/resolver.rb +1192 -0
- data/lib/dnsruby/resource/A.rb +56 -0
- data/lib/dnsruby/resource/AAAA.rb +54 -0
- data/lib/{Dnsruby → dnsruby}/resource/AFSDB.rb +68 -68
- data/lib/{Dnsruby → dnsruby}/resource/CERT.rb +105 -105
- data/lib/{Dnsruby → dnsruby}/resource/DHCID.rb +54 -54
- data/lib/dnsruby/resource/DLV.rb +27 -0
- data/lib/{Dnsruby → dnsruby}/resource/DNSKEY.rb +372 -372
- data/lib/{Dnsruby → dnsruby}/resource/DS.rb +255 -255
- data/lib/{Dnsruby → dnsruby}/resource/HINFO.rb +71 -71
- data/lib/{Dnsruby → dnsruby}/resource/HIP.rb +29 -29
- data/lib/{Dnsruby → dnsruby}/resource/IN.rb +30 -30
- data/lib/{Dnsruby → dnsruby}/resource/IPSECKEY.rb +31 -31
- data/lib/{Dnsruby → dnsruby}/resource/ISDN.rb +62 -62
- data/lib/{Dnsruby → dnsruby}/resource/KX.rb +65 -65
- data/lib/{Dnsruby → dnsruby}/resource/LOC.rb +263 -263
- data/lib/{Dnsruby → dnsruby}/resource/MINFO.rb +69 -69
- data/lib/{Dnsruby → dnsruby}/resource/MX.rb +65 -65
- data/lib/{Dnsruby → dnsruby}/resource/NAPTR.rb +98 -98
- data/lib/{Dnsruby → dnsruby}/resource/NSAP.rb +171 -171
- data/lib/dnsruby/resource/NSEC.rb +275 -0
- data/lib/dnsruby/resource/NSEC3.rb +332 -0
- data/lib/dnsruby/resource/NSEC3PARAM.rb +135 -0
- data/lib/dnsruby/resource/OPT.rb +272 -0
- data/lib/{Dnsruby → dnsruby}/resource/PX.rb +70 -70
- data/lib/{Dnsruby → dnsruby}/resource/RP.rb +75 -75
- data/lib/dnsruby/resource/RR.rb +421 -0
- data/lib/dnsruby/resource/RRSIG.rb +275 -0
- data/lib/dnsruby/resource/RRSet.rb +190 -0
- data/lib/{Dnsruby → dnsruby}/resource/RT.rb +67 -67
- data/lib/{Dnsruby → dnsruby}/resource/SOA.rb +94 -94
- data/lib/dnsruby/resource/SPF.rb +29 -0
- data/lib/dnsruby/resource/SRV.rb +112 -0
- data/lib/{Dnsruby → dnsruby}/resource/SSHFP.rb +14 -14
- data/lib/dnsruby/resource/TKEY.rb +163 -0
- data/lib/dnsruby/resource/TSIG.rb +593 -0
- data/lib/{Dnsruby → dnsruby}/resource/TXT.rb +191 -191
- data/lib/dnsruby/resource/X25.rb +55 -0
- data/lib/{Dnsruby → dnsruby}/resource/domain_name.rb +25 -25
- data/lib/{Dnsruby → dnsruby}/resource/generic.rb +80 -80
- data/lib/dnsruby/resource/resource.rb +25 -0
- data/lib/{Dnsruby → dnsruby}/select_thread.rb +148 -148
- data/lib/{Dnsruby/SingleResolver.rb → dnsruby/single_resolver.rb} +60 -60
- data/lib/{Dnsruby → dnsruby}/single_verifier.rb +344 -344
- data/lib/dnsruby/the_log.rb +44 -0
- data/lib/dnsruby/update.rb +278 -0
- data/lib/dnsruby/validator_thread.rb +124 -0
- data/lib/dnsruby/version.rb +3 -0
- data/lib/{Dnsruby → dnsruby}/zone_reader.rb +93 -93
- data/lib/{Dnsruby → dnsruby}/zone_transfer.rb +377 -377
- data/test/spec_helper.rb +16 -0
- data/test/tc_axfr.rb +31 -34
- data/test/tc_cache.rb +32 -32
- data/test/tc_dlv.rb +28 -28
- data/test/tc_dns.rb +73 -76
- data/test/tc_dnskey.rb +31 -32
- data/test/tc_dnsruby.rb +50 -44
- data/test/tc_ds.rb +36 -36
- data/test/tc_escapedchars.rb +252 -255
- data/test/tc_hash.rb +17 -21
- data/test/tc_header.rb +48 -57
- data/test/tc_hip.rb +19 -22
- data/test/tc_ipseckey.rb +18 -21
- data/test/tc_keith.rb +300 -0
- data/test/tc_message.rb +87 -0
- data/test/tc_misc.rb +83 -87
- data/test/tc_name.rb +81 -84
- data/test/tc_naptr.rb +18 -21
- data/test/tc_nsec.rb +55 -55
- data/test/tc_nsec3.rb +23 -24
- data/test/tc_nsec3param.rb +20 -21
- data/test/tc_packet.rb +90 -93
- data/test/tc_packet_unique_push.rb +48 -51
- data/test/tc_question.rb +30 -33
- data/test/tc_queue.rb +16 -17
- data/test/tc_recur.rb +16 -17
- data/test/tc_res_config.rb +38 -41
- data/test/tc_res_env.rb +29 -32
- data/test/tc_res_file.rb +26 -29
- data/test/tc_res_opt.rb +62 -65
- data/test/tc_resolver.rb +287 -242
- data/test/tc_rr-opt.rb +70 -63
- data/test/tc_rr-txt.rb +68 -71
- data/test/tc_rr-unknown.rb +45 -48
- data/test/tc_rr.rb +76 -70
- data/test/tc_rrset.rb +21 -22
- data/test/tc_rrsig.rb +19 -20
- data/test/tc_single_resolver.rb +294 -297
- data/test/tc_soak.rb +199 -202
- data/test/tc_soak_base.rb +29 -34
- data/test/tc_sshfp.rb +20 -23
- data/test/tc_tcp.rb +32 -35
- data/test/tc_tkey.rb +41 -44
- data/test/tc_tsig.rb +81 -84
- data/test/tc_update.rb +108 -111
- data/test/tc_validator.rb +29 -29
- data/test/tc_verifier.rb +81 -82
- data/test/ts_dnsruby.rb +16 -15
- data/test/ts_offline.rb +62 -63
- data/test/ts_online.rb +115 -115
- metadata +155 -90
- data/README +0 -59
- data/lib/Dnsruby/DNS.rb +0 -305
- data/lib/Dnsruby/PacketSender.rb +0 -656
- data/lib/Dnsruby/Resolver.rb +0 -1189
- data/lib/Dnsruby/TheLog.rb +0 -44
- data/lib/Dnsruby/message.rb +0 -1230
- data/lib/Dnsruby/resource/A.rb +0 -56
- data/lib/Dnsruby/resource/AAAA.rb +0 -54
- data/lib/Dnsruby/resource/DLV.rb +0 -27
- data/lib/Dnsruby/resource/NSEC.rb +0 -298
- data/lib/Dnsruby/resource/NSEC3.rb +0 -340
- data/lib/Dnsruby/resource/NSEC3PARAM.rb +0 -135
- data/lib/Dnsruby/resource/OPT.rb +0 -213
- data/lib/Dnsruby/resource/RRSIG.rb +0 -275
- data/lib/Dnsruby/resource/SPF.rb +0 -29
- data/lib/Dnsruby/resource/SRV.rb +0 -112
- data/lib/Dnsruby/resource/TKEY.rb +0 -163
- data/lib/Dnsruby/resource/TSIG.rb +0 -593
- data/lib/Dnsruby/resource/X25.rb +0 -55
- data/lib/Dnsruby/resource/resource.rb +0 -678
- data/lib/Dnsruby/update.rb +0 -278
- data/lib/Dnsruby/validator_thread.rb +0 -124
data/test/ts_dnsruby.rb
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
#Copyright 2007 Nominet UK
|
|
3
|
-
#
|
|
4
|
-
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
#you may not use this file except in compliance with the License.
|
|
6
|
-
#You may obtain a copy of the License at
|
|
7
|
-
#
|
|
8
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
#
|
|
10
|
-
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
#See the License for the specific language governing permissions and
|
|
14
|
-
#limitations under the License.
|
|
15
|
-
|
|
1
|
+
# --
|
|
2
|
+
# Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ++
|
|
16
|
+
|
|
16
17
|
require_relative "ts_online.rb"
|
|
17
18
|
require_relative "ts_offline.rb"
|
data/test/ts_offline.rb
CHANGED
|
@@ -1,63 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
#Copyright 2007 Nominet UK
|
|
3
|
-
#
|
|
4
|
-
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
#you may not use this file except in compliance with the License.
|
|
6
|
-
#You may obtain a copy of the License at
|
|
7
|
-
#
|
|
8
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
#
|
|
10
|
-
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
#See the License for the specific language governing permissions and
|
|
14
|
-
#limitations under the License.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
require_relative '
|
|
24
|
-
require_relative "
|
|
25
|
-
require_relative "
|
|
26
|
-
require_relative "
|
|
27
|
-
require_relative "
|
|
28
|
-
require_relative "
|
|
29
|
-
require_relative "
|
|
30
|
-
require_relative "
|
|
31
|
-
require_relative "
|
|
32
|
-
require_relative "
|
|
33
|
-
|
|
34
|
-
require_relative "tc_rr-
|
|
35
|
-
require_relative "tc_rr
|
|
36
|
-
require_relative "
|
|
37
|
-
require_relative "
|
|
38
|
-
require_relative "
|
|
39
|
-
require_relative "
|
|
40
|
-
require_relative "
|
|
41
|
-
require_relative "
|
|
42
|
-
require_relative "
|
|
43
|
-
require_relative "
|
|
44
|
-
require_relative "
|
|
45
|
-
require_relative "
|
|
46
|
-
require_relative "
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
OpenSSL::
|
|
52
|
-
key =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
puts "
|
|
58
|
-
puts "
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
end
|
|
1
|
+
# --
|
|
2
|
+
# Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ++
|
|
16
|
+
|
|
17
|
+
require_relative 'spec_helper'
|
|
18
|
+
|
|
19
|
+
Dnsruby.log.level = Logger::FATAL
|
|
20
|
+
|
|
21
|
+
require_relative 'tc_header.rb'
|
|
22
|
+
require_relative "tc_name.rb"
|
|
23
|
+
require_relative 'tc_message.rb'
|
|
24
|
+
require_relative "tc_misc.rb"
|
|
25
|
+
require_relative "tc_hash.rb"
|
|
26
|
+
require_relative "tc_packet.rb"
|
|
27
|
+
require_relative "tc_packet_unique_push.rb"
|
|
28
|
+
require_relative "tc_question.rb"
|
|
29
|
+
require_relative "tc_res_file.rb"
|
|
30
|
+
require_relative "tc_res_opt.rb"
|
|
31
|
+
require_relative "tc_res_config.rb"
|
|
32
|
+
# require_relative "tc_res_env.rb"
|
|
33
|
+
require_relative "tc_rr-txt.rb"
|
|
34
|
+
require_relative "tc_rr-unknown.rb"
|
|
35
|
+
require_relative "tc_rr.rb"
|
|
36
|
+
require_relative "tc_rrset.rb"
|
|
37
|
+
require_relative "tc_tkey.rb"
|
|
38
|
+
require_relative "tc_update.rb"
|
|
39
|
+
require_relative "tc_escapedchars.rb"
|
|
40
|
+
require_relative "tc_dnskey.rb"
|
|
41
|
+
require_relative "tc_rrsig.rb"
|
|
42
|
+
require_relative "tc_nsec.rb"
|
|
43
|
+
require_relative "tc_nsec3.rb"
|
|
44
|
+
require_relative "tc_nsec3param.rb"
|
|
45
|
+
require_relative "tc_ipseckey.rb"
|
|
46
|
+
require_relative "tc_naptr.rb"
|
|
47
|
+
|
|
48
|
+
begin
|
|
49
|
+
require "openssl"
|
|
50
|
+
OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, "key", "data")
|
|
51
|
+
key = OpenSSL::PKey::RSA.new
|
|
52
|
+
key.e = 111
|
|
53
|
+
|
|
54
|
+
have_openssl=true
|
|
55
|
+
rescue Exception => e
|
|
56
|
+
puts "-----------------------------------------------------------------------"
|
|
57
|
+
puts "OpenSSL not present (with full functionality) - skipping DS digest test"
|
|
58
|
+
puts "-----------------------------------------------------------------------"
|
|
59
|
+
end
|
|
60
|
+
if (have_openssl)
|
|
61
|
+
require_relative "tc_ds.rb"
|
|
62
|
+
end
|
data/test/ts_online.rb
CHANGED
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
|
|
2
|
-
#Copyright 2007 Nominet UK
|
|
3
|
-
#
|
|
4
|
-
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
#you may not use this file except in compliance with the License.
|
|
6
|
-
#You may obtain a copy of the License at
|
|
7
|
-
#
|
|
8
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
#
|
|
10
|
-
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
#See the License for the specific language governing permissions and
|
|
14
|
-
#limitations under the License.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
sock
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
sock.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
puts "
|
|
34
|
-
puts "
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
require_relative "
|
|
45
|
-
require_relative "
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
require_relative "
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
#
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
#
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
sock
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
puts "
|
|
64
|
-
puts "
|
|
65
|
-
puts "
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (server_up)
|
|
69
|
-
|
|
70
|
-
require_relative "tc_single_resolver.rb"
|
|
71
|
-
require_relative "tc_axfr.rb"
|
|
72
|
-
require_relative "tc_cache.rb"
|
|
73
|
-
require_relative "tc_dns.rb"
|
|
74
|
-
require_relative "tc_rr-opt.rb"
|
|
75
|
-
require_relative "tc_res_config.rb"
|
|
76
|
-
|
|
77
|
-
have_openssl = false
|
|
78
|
-
begin
|
|
79
|
-
require "openssl"
|
|
80
|
-
OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, "key", "data")
|
|
81
|
-
key = OpenSSL::PKey::RSA.new
|
|
82
|
-
key.e = 111
|
|
83
|
-
|
|
84
|
-
have_openssl=true
|
|
85
|
-
rescue Exception => e
|
|
86
|
-
puts "-------------------------------------------------------------------------"
|
|
87
|
-
puts "OpenSSL not present (with full functionality) - skipping TSIG/DNSSEC test"
|
|
88
|
-
puts "-------------------------------------------------------------------------"
|
|
89
|
-
end
|
|
90
|
-
if (have_openssl)
|
|
91
|
-
require_relative "tc_tsig.rb"
|
|
92
|
-
puts "------------------------------------------------------"
|
|
93
|
-
puts "Running DNSSEC test - may fail if OpenSSL not complete"
|
|
94
|
-
puts "------------------------------------------------------"
|
|
95
|
-
require_relative "tc_verifier.rb"
|
|
96
|
-
require_relative "tc_dlv.rb"
|
|
97
|
-
require_relative "tc_validator.rb"
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
# have_em = false
|
|
101
|
-
# begin
|
|
102
|
-
# require 'eventmachine'
|
|
103
|
-
# have_em = true
|
|
104
|
-
# rescue LoadError => e
|
|
105
|
-
# puts "----------------------------------------"
|
|
106
|
-
# puts "EventMachine not installed - skipping test"
|
|
107
|
-
# puts "----------------------------------------"
|
|
108
|
-
# end
|
|
109
|
-
# if (have_em)
|
|
110
|
-
# require 'test/tc_event_machine_single_res.rb'
|
|
111
|
-
# require 'test/tc_event_machine_res.rb'
|
|
112
|
-
# require 'test/tc_event_machine_deferrable.rb'
|
|
113
|
-
# end
|
|
114
|
-
end
|
|
115
|
-
end
|
|
1
|
+
# --
|
|
2
|
+
# Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ++
|
|
16
|
+
|
|
17
|
+
require_relative 'spec_helper'
|
|
18
|
+
Dnsruby.log.level = Logger::FATAL
|
|
19
|
+
|
|
20
|
+
# Disable these tests if we're not online
|
|
21
|
+
require 'socket'
|
|
22
|
+
sock = UDPSocket.new()
|
|
23
|
+
online = false
|
|
24
|
+
begin
|
|
25
|
+
sock.connect('193.0.14.129', # k.root-servers.net.
|
|
26
|
+
25)
|
|
27
|
+
online = true
|
|
28
|
+
sock.close
|
|
29
|
+
rescue Exception => exception
|
|
30
|
+
puts "----------------------------------------"
|
|
31
|
+
puts "Cannot bind to socket:\n\t#{exception}\n"
|
|
32
|
+
puts "This is an indication you have network problems\n"
|
|
33
|
+
puts "\n\nNo online tests will be run!!\n\n"
|
|
34
|
+
puts "----------------------------------------"
|
|
35
|
+
end
|
|
36
|
+
if (online)
|
|
37
|
+
# OK - online and ready to go
|
|
38
|
+
print "Running online tests. These tests send UDP packets - some may be lost.\n"
|
|
39
|
+
print "If you get the odd timeout error with these tests, try running them again.\n"
|
|
40
|
+
print "It may just be that some UDP packets got lost the first time...\n"
|
|
41
|
+
require_relative "tc_resolver.rb"
|
|
42
|
+
require_relative "tc_dnsruby.rb"
|
|
43
|
+
# require_relative "tc_inet6.rb"
|
|
44
|
+
# require_relative "tc_recurse.rb"
|
|
45
|
+
require_relative "tc_tcp.rb"
|
|
46
|
+
# require_relative "tc_queue.rb"
|
|
47
|
+
require_relative "tc_recur.rb"
|
|
48
|
+
# require_relative "tc_soak.rb"
|
|
49
|
+
|
|
50
|
+
# Check if we can contact the server - if we can't, then abort the test
|
|
51
|
+
# (but tell user that test has not been run due to connectivity problems)
|
|
52
|
+
server_up = false
|
|
53
|
+
|
|
54
|
+
# Disabling the attempt to connect to Nominet servers...
|
|
55
|
+
# begin
|
|
56
|
+
# sock = UDPSocket.new
|
|
57
|
+
# sock.connect('ns0.validation-test-servers.nominet.org.uk',
|
|
58
|
+
# 25)
|
|
59
|
+
# sock.close
|
|
60
|
+
# server_up = true
|
|
61
|
+
# rescue Exception
|
|
62
|
+
# puts "----------------------------------------"
|
|
63
|
+
# puts "Cannot connect to test server\n\t"+$!.to_s+"\n"
|
|
64
|
+
# puts "\n\nNo tests targetting this server will be run!!\n\n"
|
|
65
|
+
# puts "----------------------------------------"
|
|
66
|
+
# end
|
|
67
|
+
|
|
68
|
+
if (server_up)
|
|
69
|
+
|
|
70
|
+
require_relative "tc_single_resolver.rb"
|
|
71
|
+
require_relative "tc_axfr.rb"
|
|
72
|
+
require_relative "tc_cache.rb"
|
|
73
|
+
require_relative "tc_dns.rb"
|
|
74
|
+
require_relative "tc_rr-opt.rb"
|
|
75
|
+
require_relative "tc_res_config.rb"
|
|
76
|
+
|
|
77
|
+
have_openssl = false
|
|
78
|
+
begin
|
|
79
|
+
require "openssl"
|
|
80
|
+
OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, "key", "data")
|
|
81
|
+
key = OpenSSL::PKey::RSA.new
|
|
82
|
+
key.e = 111
|
|
83
|
+
|
|
84
|
+
have_openssl=true
|
|
85
|
+
rescue Exception => e
|
|
86
|
+
puts "-------------------------------------------------------------------------"
|
|
87
|
+
puts "OpenSSL not present (with full functionality) - skipping TSIG/DNSSEC test"
|
|
88
|
+
puts "-------------------------------------------------------------------------"
|
|
89
|
+
end
|
|
90
|
+
if (have_openssl)
|
|
91
|
+
require_relative "tc_tsig.rb"
|
|
92
|
+
puts "------------------------------------------------------"
|
|
93
|
+
puts "Running DNSSEC test - may fail if OpenSSL not complete"
|
|
94
|
+
puts "------------------------------------------------------"
|
|
95
|
+
require_relative "tc_verifier.rb"
|
|
96
|
+
require_relative "tc_dlv.rb"
|
|
97
|
+
require_relative "tc_validator.rb"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# have_em = false
|
|
101
|
+
# begin
|
|
102
|
+
# require 'eventmachine'
|
|
103
|
+
# have_em = true
|
|
104
|
+
# rescue LoadError => e
|
|
105
|
+
# puts "----------------------------------------"
|
|
106
|
+
# puts "EventMachine not installed - skipping test"
|
|
107
|
+
# puts "----------------------------------------"
|
|
108
|
+
# end
|
|
109
|
+
# if (have_em)
|
|
110
|
+
# require 'test/tc_event_machine_single_res.rb'
|
|
111
|
+
# require 'test/tc_event_machine_res.rb'
|
|
112
|
+
# require 'test/tc_event_machine_deferrable.rb'
|
|
113
|
+
# end
|
|
114
|
+
end
|
|
115
|
+
end
|
metadata
CHANGED
|
@@ -1,28 +1,166 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dnsruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.56.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
8
|
-
autorequire:
|
|
7
|
+
- Alex Dalitz
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
12
|
-
dependencies:
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
date: 2014-11-25 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rake
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '10'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 10.3.2
|
|
23
|
+
type: :development
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - "~>"
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '10'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 10.3.2
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: minitest
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '5.4'
|
|
40
|
+
type: :development
|
|
41
|
+
prerelease: false
|
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '5.4'
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: coveralls
|
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0.7'
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0.7'
|
|
61
|
+
description: |-
|
|
62
|
+
Dnsruby is a pure Ruby DNS client library which implements a
|
|
63
|
+
stub resolver. It aims to comply with all DNS RFCs, including
|
|
64
|
+
DNSSEC NSEC3 support.
|
|
65
|
+
email: alex@caerkettontech.com
|
|
15
66
|
executables: []
|
|
16
67
|
extensions: []
|
|
17
68
|
extra_rdoc_files:
|
|
18
69
|
- DNSSEC
|
|
19
70
|
- EXAMPLES
|
|
20
|
-
- README
|
|
71
|
+
- README.md
|
|
21
72
|
- EVENTMACHINE
|
|
22
73
|
files:
|
|
74
|
+
- DNSSEC
|
|
75
|
+
- EVENTMACHINE
|
|
76
|
+
- EXAMPLES
|
|
77
|
+
- README.md
|
|
23
78
|
- Rakefile
|
|
79
|
+
- demo/axfr.rb
|
|
80
|
+
- demo/check_soa.rb
|
|
81
|
+
- demo/check_zone.rb
|
|
82
|
+
- demo/digdlv.rb
|
|
83
|
+
- demo/digroot.rb
|
|
84
|
+
- demo/example_recurse.rb
|
|
85
|
+
- demo/mresolv.rb
|
|
86
|
+
- demo/mx.rb
|
|
87
|
+
- demo/rubydig.rb
|
|
88
|
+
- demo/to_resolve.txt
|
|
89
|
+
- demo/trace_dns.rb
|
|
90
|
+
- lib/dnsruby.rb
|
|
91
|
+
- lib/dnsruby/DNS.rb
|
|
92
|
+
- lib/dnsruby/cache.rb
|
|
93
|
+
- lib/dnsruby/code_mapper.rb
|
|
94
|
+
- lib/dnsruby/code_mappers.rb
|
|
95
|
+
- lib/dnsruby/config.rb
|
|
96
|
+
- lib/dnsruby/dnssec.rb
|
|
97
|
+
- lib/dnsruby/hosts.rb
|
|
98
|
+
- lib/dnsruby/ipv4.rb
|
|
99
|
+
- lib/dnsruby/ipv6.rb
|
|
100
|
+
- lib/dnsruby/key_cache.rb
|
|
101
|
+
- lib/dnsruby/message/decoder.rb
|
|
102
|
+
- lib/dnsruby/message/encoder.rb
|
|
103
|
+
- lib/dnsruby/message/header.rb
|
|
104
|
+
- lib/dnsruby/message/message.rb
|
|
105
|
+
- lib/dnsruby/message/question.rb
|
|
106
|
+
- lib/dnsruby/message/section.rb
|
|
107
|
+
- lib/dnsruby/name.rb
|
|
108
|
+
- lib/dnsruby/packet_sender.rb
|
|
109
|
+
- lib/dnsruby/recursor.rb
|
|
110
|
+
- lib/dnsruby/resolv.rb
|
|
111
|
+
- lib/dnsruby/resolver.rb
|
|
112
|
+
- lib/dnsruby/resource/A.rb
|
|
113
|
+
- lib/dnsruby/resource/AAAA.rb
|
|
114
|
+
- lib/dnsruby/resource/AFSDB.rb
|
|
115
|
+
- lib/dnsruby/resource/CERT.rb
|
|
116
|
+
- lib/dnsruby/resource/DHCID.rb
|
|
117
|
+
- lib/dnsruby/resource/DLV.rb
|
|
118
|
+
- lib/dnsruby/resource/DNSKEY.rb
|
|
119
|
+
- lib/dnsruby/resource/DS.rb
|
|
120
|
+
- lib/dnsruby/resource/HINFO.rb
|
|
121
|
+
- lib/dnsruby/resource/HIP.rb
|
|
122
|
+
- lib/dnsruby/resource/IN.rb
|
|
123
|
+
- lib/dnsruby/resource/IPSECKEY.rb
|
|
124
|
+
- lib/dnsruby/resource/ISDN.rb
|
|
125
|
+
- lib/dnsruby/resource/KX.rb
|
|
126
|
+
- lib/dnsruby/resource/LOC.rb
|
|
127
|
+
- lib/dnsruby/resource/MINFO.rb
|
|
128
|
+
- lib/dnsruby/resource/MX.rb
|
|
129
|
+
- lib/dnsruby/resource/NAPTR.rb
|
|
130
|
+
- lib/dnsruby/resource/NSAP.rb
|
|
131
|
+
- lib/dnsruby/resource/NSEC.rb
|
|
132
|
+
- lib/dnsruby/resource/NSEC3.rb
|
|
133
|
+
- lib/dnsruby/resource/NSEC3PARAM.rb
|
|
134
|
+
- lib/dnsruby/resource/OPT.rb
|
|
135
|
+
- lib/dnsruby/resource/PX.rb
|
|
136
|
+
- lib/dnsruby/resource/RP.rb
|
|
137
|
+
- lib/dnsruby/resource/RR.rb
|
|
138
|
+
- lib/dnsruby/resource/RRSIG.rb
|
|
139
|
+
- lib/dnsruby/resource/RRSet.rb
|
|
140
|
+
- lib/dnsruby/resource/RT.rb
|
|
141
|
+
- lib/dnsruby/resource/SOA.rb
|
|
142
|
+
- lib/dnsruby/resource/SPF.rb
|
|
143
|
+
- lib/dnsruby/resource/SRV.rb
|
|
144
|
+
- lib/dnsruby/resource/SSHFP.rb
|
|
145
|
+
- lib/dnsruby/resource/TKEY.rb
|
|
146
|
+
- lib/dnsruby/resource/TSIG.rb
|
|
147
|
+
- lib/dnsruby/resource/TXT.rb
|
|
148
|
+
- lib/dnsruby/resource/X25.rb
|
|
149
|
+
- lib/dnsruby/resource/domain_name.rb
|
|
150
|
+
- lib/dnsruby/resource/generic.rb
|
|
151
|
+
- lib/dnsruby/resource/resource.rb
|
|
152
|
+
- lib/dnsruby/select_thread.rb
|
|
153
|
+
- lib/dnsruby/single_resolver.rb
|
|
154
|
+
- lib/dnsruby/single_verifier.rb
|
|
155
|
+
- lib/dnsruby/the_log.rb
|
|
156
|
+
- lib/dnsruby/update.rb
|
|
157
|
+
- lib/dnsruby/validator_thread.rb
|
|
158
|
+
- lib/dnsruby/version.rb
|
|
159
|
+
- lib/dnsruby/zone_reader.rb
|
|
160
|
+
- lib/dnsruby/zone_transfer.rb
|
|
24
161
|
- test/custom.txt
|
|
25
162
|
- test/resolv.conf
|
|
163
|
+
- test/spec_helper.rb
|
|
26
164
|
- test/tc_axfr.rb
|
|
27
165
|
- test/tc_cache.rb
|
|
28
166
|
- test/tc_dlv.rb
|
|
@@ -35,6 +173,8 @@ files:
|
|
|
35
173
|
- test/tc_header.rb
|
|
36
174
|
- test/tc_hip.rb
|
|
37
175
|
- test/tc_ipseckey.rb
|
|
176
|
+
- test/tc_keith.rb
|
|
177
|
+
- test/tc_message.rb
|
|
38
178
|
- test/tc_misc.rb
|
|
39
179
|
- test/tc_name.rb
|
|
40
180
|
- test/tc_naptr.rb
|
|
@@ -70,84 +210,9 @@ files:
|
|
|
70
210
|
- test/ts_dnsruby.rb
|
|
71
211
|
- test/ts_offline.rb
|
|
72
212
|
- test/ts_online.rb
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
- lib/Dnsruby/DNS.rb
|
|
77
|
-
- lib/Dnsruby/dnssec.rb
|
|
78
|
-
- lib/Dnsruby/Hosts.rb
|
|
79
|
-
- lib/Dnsruby/ipv4.rb
|
|
80
|
-
- lib/Dnsruby/ipv6.rb
|
|
81
|
-
- lib/Dnsruby/key_cache.rb
|
|
82
|
-
- lib/Dnsruby/message.rb
|
|
83
|
-
- lib/Dnsruby/name.rb
|
|
84
|
-
- lib/Dnsruby/PacketSender.rb
|
|
85
|
-
- lib/Dnsruby/Recursor.rb
|
|
86
|
-
- lib/Dnsruby/Resolver.rb
|
|
87
|
-
- lib/Dnsruby/resource/A.rb
|
|
88
|
-
- lib/Dnsruby/resource/AAAA.rb
|
|
89
|
-
- lib/Dnsruby/resource/AFSDB.rb
|
|
90
|
-
- lib/Dnsruby/resource/CERT.rb
|
|
91
|
-
- lib/Dnsruby/resource/DHCID.rb
|
|
92
|
-
- lib/Dnsruby/resource/DLV.rb
|
|
93
|
-
- lib/Dnsruby/resource/DNSKEY.rb
|
|
94
|
-
- lib/Dnsruby/resource/domain_name.rb
|
|
95
|
-
- lib/Dnsruby/resource/DS.rb
|
|
96
|
-
- lib/Dnsruby/resource/generic.rb
|
|
97
|
-
- lib/Dnsruby/resource/HINFO.rb
|
|
98
|
-
- lib/Dnsruby/resource/HIP.rb
|
|
99
|
-
- lib/Dnsruby/resource/IN.rb
|
|
100
|
-
- lib/Dnsruby/resource/IPSECKEY.rb
|
|
101
|
-
- lib/Dnsruby/resource/ISDN.rb
|
|
102
|
-
- lib/Dnsruby/resource/KX.rb
|
|
103
|
-
- lib/Dnsruby/resource/LOC.rb
|
|
104
|
-
- lib/Dnsruby/resource/MINFO.rb
|
|
105
|
-
- lib/Dnsruby/resource/MX.rb
|
|
106
|
-
- lib/Dnsruby/resource/NAPTR.rb
|
|
107
|
-
- lib/Dnsruby/resource/NSAP.rb
|
|
108
|
-
- lib/Dnsruby/resource/NSEC.rb
|
|
109
|
-
- lib/Dnsruby/resource/NSEC3.rb
|
|
110
|
-
- lib/Dnsruby/resource/NSEC3PARAM.rb
|
|
111
|
-
- lib/Dnsruby/resource/OPT.rb
|
|
112
|
-
- lib/Dnsruby/resource/PX.rb
|
|
113
|
-
- lib/Dnsruby/resource/resource.rb
|
|
114
|
-
- lib/Dnsruby/resource/RP.rb
|
|
115
|
-
- lib/Dnsruby/resource/RRSIG.rb
|
|
116
|
-
- lib/Dnsruby/resource/RT.rb
|
|
117
|
-
- lib/Dnsruby/resource/SOA.rb
|
|
118
|
-
- lib/Dnsruby/resource/SPF.rb
|
|
119
|
-
- lib/Dnsruby/resource/SRV.rb
|
|
120
|
-
- lib/Dnsruby/resource/SSHFP.rb
|
|
121
|
-
- lib/Dnsruby/resource/TKEY.rb
|
|
122
|
-
- lib/Dnsruby/resource/TSIG.rb
|
|
123
|
-
- lib/Dnsruby/resource/TXT.rb
|
|
124
|
-
- lib/Dnsruby/resource/X25.rb
|
|
125
|
-
- lib/Dnsruby/select_thread.rb
|
|
126
|
-
- lib/Dnsruby/single_verifier.rb
|
|
127
|
-
- lib/Dnsruby/SingleResolver.rb
|
|
128
|
-
- lib/Dnsruby/TheLog.rb
|
|
129
|
-
- lib/Dnsruby/update.rb
|
|
130
|
-
- lib/Dnsruby/validator_thread.rb
|
|
131
|
-
- lib/Dnsruby/zone_reader.rb
|
|
132
|
-
- lib/Dnsruby/zone_transfer.rb
|
|
133
|
-
- lib/dnsruby.rb
|
|
134
|
-
- demo/axfr.rb
|
|
135
|
-
- demo/check_soa.rb
|
|
136
|
-
- demo/check_zone.rb
|
|
137
|
-
- demo/digdlv.rb
|
|
138
|
-
- demo/digroot.rb
|
|
139
|
-
- demo/example_recurse.rb
|
|
140
|
-
- demo/mresolv.rb
|
|
141
|
-
- demo/mx.rb
|
|
142
|
-
- demo/rubydig.rb
|
|
143
|
-
- demo/to_resolve.txt
|
|
144
|
-
- demo/trace_dns.rb
|
|
145
|
-
- DNSSEC
|
|
146
|
-
- EXAMPLES
|
|
147
|
-
- README
|
|
148
|
-
- EVENTMACHINE
|
|
149
|
-
homepage: http://rubyforge.org/projects/dnsruby/
|
|
150
|
-
licenses: []
|
|
213
|
+
homepage: https://github.com/alexdalitz/dnsruby
|
|
214
|
+
licenses:
|
|
215
|
+
- Apache License, Version 2.0
|
|
151
216
|
metadata: {}
|
|
152
217
|
post_install_message:
|
|
153
218
|
rdoc_options: []
|
|
@@ -155,17 +220,17 @@ require_paths:
|
|
|
155
220
|
- lib
|
|
156
221
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
157
222
|
requirements:
|
|
158
|
-
- -
|
|
223
|
+
- - ">="
|
|
159
224
|
- !ruby/object:Gem::Version
|
|
160
225
|
version: '0'
|
|
161
226
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
227
|
requirements:
|
|
163
|
-
- -
|
|
228
|
+
- - ">="
|
|
164
229
|
- !ruby/object:Gem::Version
|
|
165
230
|
version: '0'
|
|
166
231
|
requirements: []
|
|
167
|
-
rubyforge_project:
|
|
168
|
-
rubygems_version: 2.
|
|
232
|
+
rubyforge_project:
|
|
233
|
+
rubygems_version: 2.4.2
|
|
169
234
|
signing_key:
|
|
170
235
|
specification_version: 4
|
|
171
236
|
summary: Ruby DNS(SEC) implementation
|