bind9mgr 0.3.10 → 0.3.11
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/History.txt +10 -0
- data/README.txt +1 -0
- data/lib/bind9mgr.rb +2 -2
- data/lib/named_conf.rb +6 -2
- data/lib/resource_record.rb +2 -2
- data/lib/zone.rb +2 -1
- data/spec/named_conf_spec.rb +0 -2
- metadata +4 -4
data/History.txt
CHANGED
data/README.txt
CHANGED
data/lib/bind9mgr.rb
CHANGED
@@ -6,7 +6,7 @@ require File.join( File.dirname(__FILE__), 'resource_record' )
|
|
6
6
|
require File.join( File.dirname(__FILE__), 'parser' )
|
7
7
|
|
8
8
|
module Bind9mgr
|
9
|
-
VERSION = '0.3.
|
9
|
+
VERSION = '0.3.11'
|
10
10
|
|
11
11
|
ZONES_BIND_SUBDIR = 'primary'
|
12
12
|
|
@@ -14,7 +14,7 @@ module Bind9mgr
|
|
14
14
|
ALLOWED_TYPES = %w{A CNAME MX TXT PTR NS SRV SOA}
|
15
15
|
|
16
16
|
class Bind9mgrError < RuntimeError; end
|
17
|
-
|
17
|
+
class InvalidZoneError < RuntimeError; end
|
18
18
|
class ParserError < Bind9mgrError; end
|
19
19
|
class MalformedResourceRecord < Bind9mgrError; end
|
20
20
|
end
|
data/lib/named_conf.rb
CHANGED
@@ -30,6 +30,7 @@ module Bind9mgr
|
|
30
30
|
def load
|
31
31
|
init_zones
|
32
32
|
parse File.read( @file ) if File.exists?(@file)
|
33
|
+
zones
|
33
34
|
end
|
34
35
|
|
35
36
|
# Load just one zone and return it
|
@@ -99,9 +100,9 @@ module Bind9mgr
|
|
99
100
|
if zone_or_name.kind_of?( Zone )
|
100
101
|
raise ArgumentError, "file_name should be nil if instance of Zone supplied" unless file_name.nil?
|
101
102
|
zone = zone_or_name
|
102
|
-
elsif zone_or_name.kind_of?( String )
|
103
|
+
elsif zone_or_name.kind_of?( String )
|
103
104
|
raise ArgumentError, "Main ns not secified" unless @main_ns
|
104
|
-
# raise ArgumentError, "Secondary ns not secified" unless @secondary_ns
|
105
|
+
# TODO what to do with sec. ns? # raise ArgumentError, "Secondary ns not secified" unless @secondary_ns
|
105
106
|
raise ArgumentError, "Support email not secified" unless @support_email
|
106
107
|
raise ArgumentError, "Main server ip not secified" unless @main_server_ip
|
107
108
|
|
@@ -112,10 +113,13 @@ module Bind9mgr
|
|
112
113
|
:support_email => @support_email,
|
113
114
|
:main_server_ip => @main_server_ip,
|
114
115
|
:mail_server_ip => @mail_server_ip)
|
116
|
+
zone.add_default_rrs
|
115
117
|
else
|
116
118
|
raise( RuntimeError, "BindZone or String instance expected, but #{zone_or_name.inspect} got")
|
117
119
|
end
|
118
120
|
|
121
|
+
raise InvalidZoneError, zone.inspect unless zone.valid?
|
122
|
+
|
119
123
|
del_zone! zone.origin
|
120
124
|
@zones.push zone
|
121
125
|
|
data/lib/resource_record.rb
CHANGED
@@ -68,9 +68,9 @@ module Bind9mgr
|
|
68
68
|
cont << "\t#{rdata[4]} ; retry\n"
|
69
69
|
cont << "\t#{rdata[5]} ; expire\n"
|
70
70
|
cont << "\t#{rdata[6]} ; minimum\n"
|
71
|
-
cont << ")"
|
71
|
+
cont << ")\n"
|
72
72
|
else
|
73
|
-
"#{@owner}\t#{@ttl}\t#{@klass}\t#{@type}\t#{[@rdata].flatten.join(' ')}"
|
73
|
+
"#{@owner}\t#{@ttl}\t#{@klass}\t#{@type}\t#{[@rdata].flatten.join(' ')}\n"
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
data/lib/zone.rb
CHANGED
data/spec/named_conf_spec.rb
CHANGED
@@ -172,8 +172,6 @@ alias1 IN CNAME ns
|
|
172
172
|
@nc.zones.last.add_rr( 'cname', nil, nil, 'CNAME', '@' )
|
173
173
|
@nc.zones.count.should == 3 # we specified 2 zones in "before"
|
174
174
|
@nc.add_zone( 'example.com' )
|
175
|
-
@nc.zones.last.records.count.should == 0
|
176
|
-
@nc.zones.last.add_default_rrs
|
177
175
|
@nc.zones.last.records.count.should == 5 # new zone should have SOA, A, CNAME(www) and 2*NS records
|
178
176
|
end
|
179
177
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bind9mgr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-12-13 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: hoe
|
16
|
-
requirement: &
|
16
|
+
requirement: &15371660 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '2.12'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *15371660
|
25
25
|
description: This gem contains some classes to manage bind9 zone files
|
26
26
|
email:
|
27
27
|
- mikhail@mad-box.ru
|