dns-zone 0.1.3 → 0.2.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/HISTORY.md +19 -0
- data/README.md +49 -11
- data/dns-zone.gemspec +3 -3
- data/lib/dns/zone.rb +97 -13
- data/lib/dns/zone/rr.rb +50 -25
- data/lib/dns/zone/rr/cdnskey.rb +5 -0
- data/lib/dns/zone/rr/cds.rb +5 -0
- data/lib/dns/zone/rr/dlv.rb +5 -0
- data/lib/dns/zone/rr/dnskey.rb +38 -0
- data/lib/dns/zone/rr/ds.rb +38 -0
- data/lib/dns/zone/rr/hinfo.rb +4 -8
- data/lib/dns/zone/rr/naptr.rb +44 -0
- data/lib/dns/zone/rr/nsec.rb +32 -0
- data/lib/dns/zone/rr/nsec3.rb +45 -0
- data/lib/dns/zone/rr/nsec3param.rb +38 -0
- data/lib/dns/zone/rr/rrsig.rb +54 -0
- data/lib/dns/zone/rr/sshfp.rb +35 -0
- data/lib/dns/zone/version.rb +1 -1
- data/test/rr/cdnskey_test.rb +31 -0
- data/test/rr/cds_test.rb +28 -0
- data/test/rr/dlv_test.rb +28 -0
- data/test/rr/dnskey_test.rb +31 -0
- data/test/rr/ds_test.rb +28 -0
- data/test/rr/naptr_test.rb +60 -0
- data/test/rr/nsec3_test.rb +33 -0
- data/test/rr/nsec3param_test.rb +29 -0
- data/test/rr/nsec_test.rb +24 -0
- data/test/rr/rrsig_test.rb +40 -0
- data/test/rr/sshfp_test.rb +24 -0
- data/test/zone_test.rb +32 -0
- metadata +29 -8
- data/Guardfile +0 -14
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_DNSKEY_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
# FIXME (lantins): algorithm can be integer _or_ mnemonic!
|
6
|
+
|
7
|
+
TEST_KEY = 'AQPSKmynfzW4kyBv015MUG2DeIQ3Cbl+BBZH4b/0PY1kxkmvHjcZc8nokfzj31GajIQKY+5CptLr3buXA10hWqTkF7H6RfoRqXQeogmMHfpftf6zMv1LyBUgia7za6ZEzOJBOztyvhjL742iU/TpPSEDhm2SNKLijfUppn1UaNvv4w=='
|
8
|
+
|
9
|
+
def test_build_rr__dnskey
|
10
|
+
rr = DNS::Zone::RR::DNSKEY.new
|
11
|
+
rr.label = 'example.com.'
|
12
|
+
rr.ttl = 86400
|
13
|
+
rr.flags = 256
|
14
|
+
rr.protocol = 3
|
15
|
+
rr.algorithm = 5
|
16
|
+
rr.key = TEST_KEY
|
17
|
+
|
18
|
+
assert_equal "example.com. 86400 IN DNSKEY 256 3 5 #{TEST_KEY}", rr.dump
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_load_rr__dnskey
|
22
|
+
rr = DNS::Zone::RR::DNSKEY.new.load("example.com. IN DNSKEY 256 3 5 #{TEST_KEY}")
|
23
|
+
assert_equal 'example.com.', rr.label
|
24
|
+
assert_equal 'DNSKEY', rr.type
|
25
|
+
assert_equal 256, rr.flags
|
26
|
+
assert_equal 3, rr.protocol
|
27
|
+
assert_equal 5, rr.algorithm
|
28
|
+
assert_equal TEST_KEY, rr.key
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
data/test/rr/ds_test.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_DS_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
TEST_DIGEST = '2BB183AF5F22588179A53B0A98631FAD1A292118'
|
6
|
+
|
7
|
+
def test_build_rr__ds
|
8
|
+
rr = DNS::Zone::RR::DS.new
|
9
|
+
rr.label = 'dskey.example.com.'
|
10
|
+
rr.key_tag = 60485
|
11
|
+
rr.algorithm = 5
|
12
|
+
rr.digest_type = 1
|
13
|
+
rr.digest = TEST_DIGEST
|
14
|
+
|
15
|
+
assert_equal "dskey.example.com. IN DS 60485 5 1 #{TEST_DIGEST}", rr.dump
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_load_rr__ds
|
19
|
+
rr = DNS::Zone::RR::DS.new.load("dskey.example.com. IN DS 60485 5 1 #{TEST_DIGEST}")
|
20
|
+
assert_equal 'dskey.example.com.', rr.label
|
21
|
+
assert_equal 'DS', rr.type
|
22
|
+
assert_equal 60485, rr.key_tag
|
23
|
+
assert_equal 5, rr.algorithm
|
24
|
+
assert_equal 1, rr.digest_type
|
25
|
+
assert_equal TEST_DIGEST, rr.digest
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_NAPTR_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
def test_build_rr__naptr
|
6
|
+
rr = DNS::Zone::RR::NAPTR.new
|
7
|
+
rr.order = 100
|
8
|
+
rr.pref = 10
|
9
|
+
rr.flags = ''
|
10
|
+
rr.service = ''
|
11
|
+
rr.regexp = '!^urn:cid:.+@([^\.]+\.)(.*)$!\2!i'
|
12
|
+
rr.replacement = '.'
|
13
|
+
|
14
|
+
assert_equal '@ IN NAPTR 100 10 "" "" "!^urn:cid:.+@([^\.]+\.)(.*)$!\2!i" .', rr.dump
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_load_rr__naptr
|
18
|
+
rr = DNS::Zone::RR::NAPTR.new.load('@ IN NAPTR 100 10 "" "" "!^urn:cid:.+@([^\.]+\.)(.*)$!\2!i" .')
|
19
|
+
assert_equal '@', rr.label
|
20
|
+
assert_equal 'NAPTR', rr.type
|
21
|
+
assert_equal 100, rr.order
|
22
|
+
assert_equal 10, rr.pref
|
23
|
+
assert_equal '', rr.flags
|
24
|
+
assert_equal '', rr.service
|
25
|
+
assert_equal '!^urn:cid:.+@([^\\.]+\\.)(.*)$!\\2!i', rr.regexp
|
26
|
+
assert_equal '.', rr.replacement
|
27
|
+
|
28
|
+
rr = DNS::Zone::RR::NAPTR.new.load('example.com. IN NAPTR 100 50 "a" "z3950+N2L+N2C" "" cidserver.example.com.')
|
29
|
+
assert_equal 'example.com.', rr.label
|
30
|
+
assert_equal 'NAPTR', rr.type
|
31
|
+
assert_equal 100, rr.order
|
32
|
+
assert_equal 50, rr.pref
|
33
|
+
assert_equal 'a', rr.flags
|
34
|
+
assert_equal 'z3950+N2L+N2C', rr.service
|
35
|
+
assert_equal '', rr.regexp
|
36
|
+
assert_equal 'cidserver.example.com.', rr.replacement
|
37
|
+
|
38
|
+
rr = DNS::Zone::RR::NAPTR.new.load('example.com. IN NAPTR 100 60 "a" "rcds+N2C" "" cidserver.example.com.')
|
39
|
+
assert_equal 'example.com.', rr.label
|
40
|
+
assert_equal 'NAPTR', rr.type
|
41
|
+
assert_equal 100, rr.order
|
42
|
+
assert_equal 60, rr.pref
|
43
|
+
assert_equal 'a', rr.flags
|
44
|
+
assert_equal 'rcds+N2C', rr.service
|
45
|
+
assert_equal '', rr.regexp
|
46
|
+
assert_equal 'cidserver.example.com.', rr.replacement
|
47
|
+
|
48
|
+
rr = DNS::Zone::RR::NAPTR.new.load('example.com. IN NAPTR 300 50 "b" "http+N2L+N2C+N2R" "" www.example.com.')
|
49
|
+
assert_equal 'example.com.', rr.label
|
50
|
+
assert_equal 'NAPTR', rr.type
|
51
|
+
assert_equal 300, rr.order
|
52
|
+
assert_equal 50, rr.pref
|
53
|
+
assert_equal 'b', rr.flags
|
54
|
+
assert_equal 'http+N2L+N2C+N2R', rr.service
|
55
|
+
assert_equal '', rr.regexp
|
56
|
+
assert_equal 'www.example.com.', rr.replacement
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_NSEC3_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
def test_build_rr__nsec3
|
6
|
+
rr = DNS::Zone::RR::NSEC3.new
|
7
|
+
rr.label = 'foo.example.com.'
|
8
|
+
|
9
|
+
rr.algorithm = 1
|
10
|
+
rr.flags = 0
|
11
|
+
rr.iterations = 12
|
12
|
+
rr.salt = 'aabbccdd'
|
13
|
+
rr.next_hashed_owner_name = 'ji6neoaepv8b5o6k4ev33abha8ht9fgc'
|
14
|
+
rr.rrset_types = 'A AAAA'
|
15
|
+
|
16
|
+
assert_equal "foo.example.com. IN NSEC3 1 0 12 aabbccdd ji6neoaepv8b5o6k4ev33abha8ht9fgc A AAAA", rr.dump
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_load_rr__nsec3
|
21
|
+
rr = DNS::Zone::RR::NSEC3.new.load("foo.example.com. IN NSEC3 1 0 12 aabbccdd ji6neoaepv8b5o6k4ev33abha8ht9fgc A AAAA")
|
22
|
+
assert_equal 'foo.example.com.', rr.label
|
23
|
+
assert_equal 'NSEC3', rr.type
|
24
|
+
|
25
|
+
assert_equal 1, rr.algorithm
|
26
|
+
assert_equal 0, rr.flags
|
27
|
+
assert_equal 12, rr.iterations
|
28
|
+
assert_equal 'aabbccdd', rr.salt
|
29
|
+
assert_equal 'ji6neoaepv8b5o6k4ev33abha8ht9fgc', rr.next_hashed_owner_name
|
30
|
+
assert_equal 'A AAAA', rr.rrset_types
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_NSEC3PARAM_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
def test_build_rr__nsec3param
|
6
|
+
rr = DNS::Zone::RR::NSEC3PARAM.new
|
7
|
+
rr.label = 'foo.example.com.'
|
8
|
+
|
9
|
+
rr.algorithm = 1
|
10
|
+
rr.flags = 0
|
11
|
+
rr.iterations = 12
|
12
|
+
rr.salt = 'aabbccdd'
|
13
|
+
|
14
|
+
assert_equal "foo.example.com. IN NSEC3PARAM 1 0 12 aabbccdd", rr.dump
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_load_rr__nsec3param
|
19
|
+
rr = DNS::Zone::RR::NSEC3PARAM.new.load("foo.example.com. IN NSEC3PARAM 1 0 12 aabbccdd")
|
20
|
+
assert_equal 'foo.example.com.', rr.label
|
21
|
+
assert_equal 'NSEC3PARAM', rr.type
|
22
|
+
|
23
|
+
assert_equal 1, rr.algorithm
|
24
|
+
assert_equal 0, rr.flags
|
25
|
+
assert_equal 12, rr.iterations
|
26
|
+
assert_equal 'aabbccdd', rr.salt
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_NSEC_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
def test_build_rr__nsec
|
6
|
+
rr = DNS::Zone::RR::NSEC.new
|
7
|
+
rr.label = 'alfa.example.com.'
|
8
|
+
rr.next_domain = 'host.example.com.'
|
9
|
+
rr.rrset_types = 'A MX RRSIG NSEC TYPE1234'
|
10
|
+
|
11
|
+
assert_equal "alfa.example.com. IN NSEC host.example.com. A MX RRSIG NSEC TYPE1234", rr.dump
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_load_rr__nsec
|
16
|
+
rr = DNS::Zone::RR::NSEC.new.load("alfa.example.com. IN NSEC host.example.com. A MX RRSIG NSEC TYPE1234")
|
17
|
+
assert_equal 'alfa.example.com.', rr.label
|
18
|
+
assert_equal 'NSEC', rr.type
|
19
|
+
|
20
|
+
assert_equal 'host.example.com.', rr.next_domain
|
21
|
+
assert_equal 'A MX RRSIG NSEC TYPE1234', rr.rrset_types
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_RRSIG_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
TEST_SIGNATURE = 'oJB1W6WNGv+ldvQ3WDG0MQkg5IEhjRip8WTrPYGv07h108dUKGMeDPKijVCHX3DDKdfb+v6oB9wfuh3DTJXUAfI/M0zmO/zz8bW0Rznl8O3tGNazPwQKkRN20XPXV6nwwfoXmJQbsLNrLfkGJ5D6fwFm8nN+6pBzeDQfsS3Ap3o='
|
6
|
+
|
7
|
+
def test_build_rr__rrsig
|
8
|
+
rr = DNS::Zone::RR::RRSIG.new
|
9
|
+
rr.label = 'host.example.com.'
|
10
|
+
rr.type_covered = 'A'
|
11
|
+
rr.algorithm = 5
|
12
|
+
rr.labels = 3
|
13
|
+
rr.original_ttl = 86400
|
14
|
+
rr.signature_expiration = 20030322173103
|
15
|
+
rr.signature_inception = 20030220173103
|
16
|
+
rr.key_tag = 2642
|
17
|
+
rr.signer = 'example.com.'
|
18
|
+
rr.signature = TEST_SIGNATURE
|
19
|
+
|
20
|
+
assert_equal "host.example.com. IN RRSIG A 5 3 86400 20030322173103 20030220173103 2642 example.com. #{TEST_SIGNATURE}", rr.dump
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_load_rr__rrsig
|
25
|
+
rr = DNS::Zone::RR::RRSIG.new.load("host.example.com. IN RRSIG A 5 3 86400 20030322173103 20030220173103 2642 example.com. #{TEST_SIGNATURE}")
|
26
|
+
assert_equal 'host.example.com.', rr.label
|
27
|
+
assert_equal 'RRSIG', rr.type
|
28
|
+
|
29
|
+
assert_equal 'A', rr.type_covered
|
30
|
+
assert_equal 5, rr.algorithm
|
31
|
+
assert_equal 3, rr.labels
|
32
|
+
assert_equal 86400, rr.original_ttl
|
33
|
+
assert_equal 20030322173103, rr.signature_expiration
|
34
|
+
assert_equal 20030220173103, rr.signature_inception
|
35
|
+
assert_equal 2642, rr.key_tag
|
36
|
+
assert_equal 'example.com.', rr.signer
|
37
|
+
assert_equal TEST_SIGNATURE, rr.signature
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'dns/zone/test_case'
|
2
|
+
|
3
|
+
class RR_SSHFP_Test < DNS::Zone::TestCase
|
4
|
+
|
5
|
+
def test_build_rr__sshfp
|
6
|
+
rr = DNS::Zone::RR::SSHFP.new
|
7
|
+
rr.label = 'host.example.'
|
8
|
+
rr.algorithm_number = 2
|
9
|
+
rr.fingerprint_type = 1
|
10
|
+
rr.fingerprint = '123456789abcdef67890123456789abcdef67890'
|
11
|
+
|
12
|
+
assert_equal 'host.example. IN SSHFP 2 1 123456789abcdef67890123456789abcdef67890', rr.dump
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_load_rr__sshfp
|
16
|
+
rr = DNS::Zone::RR::SSHFP.new.load('host.example. IN SSHFP 2 1 123456789abcdef67890123456789abcdef67890')
|
17
|
+
assert_equal 'host.example.', rr.label
|
18
|
+
assert_equal 'SSHFP', rr.type
|
19
|
+
assert_equal 2, rr.algorithm_number
|
20
|
+
assert_equal 1, rr.fingerprint_type
|
21
|
+
assert_equal '123456789abcdef67890123456789abcdef67890', rr.fingerprint
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
data/test/zone_test.rb
CHANGED
@@ -53,13 +53,31 @@ EOL
|
|
53
53
|
ZONE_FILE_BASIC_EXAMPLE =<<-EOL
|
54
54
|
@ IN SOA ns0.lividpenguin.com. luke.lividpenguin.com. ( 2013101406 12h 15m 3w 3h )
|
55
55
|
@ IN NS ns0.lividpenguin.com.
|
56
|
+
@ IN MX 10 mail
|
57
|
+
@ IN MX 99 mx.fakemx.net.
|
56
58
|
@ IN A 78.47.253.85
|
59
|
+
mail IN A 78.47.253.85
|
57
60
|
EOL
|
58
61
|
|
59
62
|
def test_create_new_instance
|
60
63
|
assert DNS::Zone.new
|
61
64
|
end
|
62
65
|
|
66
|
+
def test_programmatic_readme_example
|
67
|
+
zone = DNS::Zone.new
|
68
|
+
zone.origin = 'example.com.'
|
69
|
+
zone.ttl = '1d'
|
70
|
+
# quick access to SOA RR
|
71
|
+
zone.soa.nameserver = 'ns0.lividpenguin.com.'
|
72
|
+
zone.soa.email = 'hostmaster.lividpenguin.com.'
|
73
|
+
# create and add new record
|
74
|
+
rec = DNS::Zone::RR::A.new
|
75
|
+
rec.address = '127.0.0.1'
|
76
|
+
zone.records << rec
|
77
|
+
|
78
|
+
assert_equal 2, zone.records.length, "were expecting 2 records, including the SOA"
|
79
|
+
end
|
80
|
+
|
63
81
|
def test_load_zone_basic
|
64
82
|
# load zone file.
|
65
83
|
zone = DNS::Zone.load(ZONE_FILE_BASIC_EXAMPLE)
|
@@ -69,6 +87,20 @@ EOL
|
|
69
87
|
assert_equal ZONE_FILE_BASIC_EXAMPLE, dump, 'loaded zone file should match dumped zone file'
|
70
88
|
end
|
71
89
|
|
90
|
+
def test_load_zone_with_origin_param
|
91
|
+
# --- zone without $ORIGIN directive
|
92
|
+
|
93
|
+
zone = DNS::Zone.load(ZONE_FILE_BASIC_EXAMPLE, 'lividpenguin.com.')
|
94
|
+
dump = zone.dump
|
95
|
+
assert_equal ZONE_FILE_BASIC_EXAMPLE, dump, 'loaded zone file should match dumped zone file'
|
96
|
+
assert_equal 'lividpenguin.com.', zone.origin, 'check origin matches example input'
|
97
|
+
|
98
|
+
# --- zone with $ORIGIN directive
|
99
|
+
|
100
|
+
zone = DNS::Zone.load(ZONE_FILE_EXAMPLE, 'ignore.this.origin.favor.zone.com.')
|
101
|
+
assert_equal 'lividpenguin.com.', zone.origin, 'origin should come from test zone, not passed param'
|
102
|
+
end
|
103
|
+
|
72
104
|
def test_load_zone
|
73
105
|
# load example dns master zone file.
|
74
106
|
zone = DNS::Zone.load(ZONE_FILE_EXAMPLE)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dns-zone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Antins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0.
|
89
|
+
version: '0.6'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0.
|
96
|
+
version: '0.6'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: guard-minitest
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
117
|
+
version: '2.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
124
|
+
version: '2.0'
|
125
125
|
description: |
|
126
126
|
A Ruby library for building and parsing DNS zone files for use with
|
127
127
|
Bind and PowerDNS (with Bind backend) DNS servers.
|
@@ -132,7 +132,6 @@ extensions: []
|
|
132
132
|
extra_rdoc_files: []
|
133
133
|
files:
|
134
134
|
- Gemfile
|
135
|
-
- Guardfile
|
136
135
|
- HISTORY.md
|
137
136
|
- README.md
|
138
137
|
- Rakefile
|
@@ -141,29 +140,51 @@ files:
|
|
141
140
|
- lib/dns/zone/rr.rb
|
142
141
|
- lib/dns/zone/rr/a.rb
|
143
142
|
- lib/dns/zone/rr/aaaa.rb
|
143
|
+
- lib/dns/zone/rr/cdnskey.rb
|
144
|
+
- lib/dns/zone/rr/cds.rb
|
144
145
|
- lib/dns/zone/rr/cname.rb
|
146
|
+
- lib/dns/zone/rr/dlv.rb
|
147
|
+
- lib/dns/zone/rr/dnskey.rb
|
148
|
+
- lib/dns/zone/rr/ds.rb
|
145
149
|
- lib/dns/zone/rr/hinfo.rb
|
146
150
|
- lib/dns/zone/rr/mx.rb
|
151
|
+
- lib/dns/zone/rr/naptr.rb
|
147
152
|
- lib/dns/zone/rr/ns.rb
|
153
|
+
- lib/dns/zone/rr/nsec.rb
|
154
|
+
- lib/dns/zone/rr/nsec3.rb
|
155
|
+
- lib/dns/zone/rr/nsec3param.rb
|
148
156
|
- lib/dns/zone/rr/ptr.rb
|
149
157
|
- lib/dns/zone/rr/record.rb
|
158
|
+
- lib/dns/zone/rr/rrsig.rb
|
150
159
|
- lib/dns/zone/rr/soa.rb
|
151
160
|
- lib/dns/zone/rr/spf.rb
|
152
161
|
- lib/dns/zone/rr/srv.rb
|
162
|
+
- lib/dns/zone/rr/sshfp.rb
|
153
163
|
- lib/dns/zone/rr/txt.rb
|
154
164
|
- lib/dns/zone/test_case.rb
|
155
165
|
- lib/dns/zone/version.rb
|
156
166
|
- test/rr/a_test.rb
|
157
167
|
- test/rr/aaaa_test.rb
|
168
|
+
- test/rr/cdnskey_test.rb
|
169
|
+
- test/rr/cds_test.rb
|
158
170
|
- test/rr/cname_test.rb
|
171
|
+
- test/rr/dlv_test.rb
|
172
|
+
- test/rr/dnskey_test.rb
|
173
|
+
- test/rr/ds_test.rb
|
159
174
|
- test/rr/hinfo_test.rb
|
160
175
|
- test/rr/mx_test.rb
|
176
|
+
- test/rr/naptr_test.rb
|
161
177
|
- test/rr/ns_test.rb
|
178
|
+
- test/rr/nsec3_test.rb
|
179
|
+
- test/rr/nsec3param_test.rb
|
180
|
+
- test/rr/nsec_test.rb
|
162
181
|
- test/rr/ptr_test.rb
|
163
182
|
- test/rr/record_test.rb
|
183
|
+
- test/rr/rrsig_test.rb
|
164
184
|
- test/rr/soa_test.rb
|
165
185
|
- test/rr/spf_test.rb
|
166
186
|
- test/rr/srv_test.rb
|
187
|
+
- test/rr/sshfp_test.rb
|
167
188
|
- test/rr/txt_test.rb
|
168
189
|
- test/rr_test.rb
|
169
190
|
- test/version_test.rb
|
@@ -188,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
188
209
|
version: '0'
|
189
210
|
requirements: []
|
190
211
|
rubyforge_project:
|
191
|
-
rubygems_version: 2.4.
|
212
|
+
rubygems_version: 2.4.2
|
192
213
|
signing_key:
|
193
214
|
specification_version: 4
|
194
215
|
summary: A Ruby library for building and parsing DNS zone files.
|