devdnsd 2.4.0 → 3.0.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 +7 -0
- data/.rbx/8b/8b2d1928657c1eeac610d1207ff1bee6e918287c +857 -0
- data/.rbx/db/dbd6130694811dcd0359863bd5380c673db0fe71 +288 -0
- data/.travis-gemfile +1 -2
- data/.travis.yml +1 -0
- data/Gemfile +2 -3
- data/README.md +3 -1
- data/Rakefile +1 -1
- data/bin/devdnsd +29 -5
- data/config/devdnsd_config.sample +2 -5
- data/devdnsd.gemspec +6 -5
- data/doc/DevDNSd.html +4 -4
- data/doc/DevDNSd/Application.html +560 -520
- data/doc/DevDNSd/ApplicationMethods.html +4 -4
- data/doc/DevDNSd/ApplicationMethods/Aliases.html +780 -0
- data/doc/DevDNSd/ApplicationMethods/Server.html +46 -46
- data/doc/DevDNSd/ApplicationMethods/System.html +222 -20
- data/doc/DevDNSd/ApplicationMethods/System/ClassMethods.html +3 -3
- data/doc/DevDNSd/Configuration.html +20 -20
- data/doc/DevDNSd/Errors.html +3 -3
- data/doc/DevDNSd/Errors/InvalidRule.html +3 -3
- data/doc/DevDNSd/Rule.html +15 -15
- data/doc/DevDNSd/Version.html +5 -5
- data/doc/_index.html +11 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +6 -4
- data/doc/frames.html +1 -1
- data/doc/index.html +6 -4
- data/doc/method_list.html +73 -31
- data/doc/top-level-namespace.html +3 -3
- data/lib/devdnsd.rb +6 -3
- data/lib/devdnsd/application.rb +220 -11
- data/lib/devdnsd/configuration.rb +19 -1
- data/lib/devdnsd/errors.rb +1 -1
- data/lib/devdnsd/rule.rb +2 -2
- data/lib/devdnsd/version.rb +3 -3
- data/locales/en.yml +28 -2
- data/locales/it.yml +29 -2
- data/spec/coverage_helper.rb +3 -3
- data/spec/devdnsd/application_spec.rb +202 -51
- data/spec/devdnsd/configuration_spec.rb +1 -1
- data/spec/devdnsd/rule_spec.rb +1 -1
- data/spec/resolver_helper.rb +51 -0
- data/spec/spec_helper.rb +3 -5
- metadata +34 -26
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
!RBIX
|
|
2
|
+
320290024240201591
|
|
3
|
+
18
|
|
4
|
+
M
|
|
5
|
+
1
|
|
6
|
+
n
|
|
7
|
+
n
|
|
8
|
+
x
|
|
9
|
+
10
|
|
10
|
+
__script__
|
|
11
|
+
i
|
|
12
|
+
28
|
|
13
|
+
100
|
|
14
|
+
7
|
|
15
|
+
0
|
|
16
|
+
66
|
|
17
|
+
50
|
|
18
|
+
1
|
|
19
|
+
2
|
|
20
|
+
13
|
|
21
|
+
100
|
|
22
|
+
12
|
|
23
|
+
7
|
|
24
|
+
2
|
|
25
|
+
12
|
|
26
|
+
7
|
|
27
|
+
3
|
|
28
|
+
12
|
|
29
|
+
66
|
|
30
|
+
12
|
|
31
|
+
50
|
|
32
|
+
4
|
|
33
|
+
4
|
|
34
|
+
15
|
|
35
|
+
50
|
|
36
|
+
2
|
|
37
|
+
0
|
|
38
|
+
15
|
|
39
|
+
2
|
|
40
|
+
11
|
|
41
|
+
I
|
|
42
|
+
6
|
|
43
|
+
I
|
|
44
|
+
0
|
|
45
|
+
I
|
|
46
|
+
0
|
|
47
|
+
I
|
|
48
|
+
0
|
|
49
|
+
I
|
|
50
|
+
0
|
|
51
|
+
n
|
|
52
|
+
p
|
|
53
|
+
5
|
|
54
|
+
x
|
|
55
|
+
7
|
|
56
|
+
DevDNSd
|
|
57
|
+
x
|
|
58
|
+
11
|
|
59
|
+
open_module
|
|
60
|
+
x
|
|
61
|
+
15
|
|
62
|
+
__module_init__
|
|
63
|
+
M
|
|
64
|
+
1
|
|
65
|
+
p
|
|
66
|
+
2
|
|
67
|
+
x
|
|
68
|
+
15
|
|
69
|
+
for_module_body
|
|
70
|
+
t
|
|
71
|
+
n
|
|
72
|
+
x
|
|
73
|
+
7
|
|
74
|
+
DevDNSd
|
|
75
|
+
i
|
|
76
|
+
28
|
|
77
|
+
5
|
|
78
|
+
67
|
|
79
|
+
100
|
|
80
|
+
7
|
|
81
|
+
0
|
|
82
|
+
66
|
|
83
|
+
50
|
|
84
|
+
1
|
|
85
|
+
2
|
|
86
|
+
13
|
|
87
|
+
100
|
|
88
|
+
12
|
|
89
|
+
7
|
|
90
|
+
2
|
|
91
|
+
12
|
|
92
|
+
7
|
|
93
|
+
3
|
|
94
|
+
12
|
|
95
|
+
66
|
|
96
|
+
12
|
|
97
|
+
50
|
|
98
|
+
4
|
|
99
|
+
4
|
|
100
|
+
15
|
|
101
|
+
50
|
|
102
|
+
2
|
|
103
|
+
0
|
|
104
|
+
11
|
|
105
|
+
I
|
|
106
|
+
6
|
|
107
|
+
I
|
|
108
|
+
0
|
|
109
|
+
I
|
|
110
|
+
0
|
|
111
|
+
I
|
|
112
|
+
0
|
|
113
|
+
I
|
|
114
|
+
0
|
|
115
|
+
n
|
|
116
|
+
p
|
|
117
|
+
5
|
|
118
|
+
x
|
|
119
|
+
7
|
|
120
|
+
Version
|
|
121
|
+
x
|
|
122
|
+
11
|
|
123
|
+
open_module
|
|
124
|
+
x
|
|
125
|
+
15
|
|
126
|
+
__module_init__
|
|
127
|
+
M
|
|
128
|
+
1
|
|
129
|
+
p
|
|
130
|
+
2
|
|
131
|
+
x
|
|
132
|
+
15
|
|
133
|
+
for_module_body
|
|
134
|
+
t
|
|
135
|
+
n
|
|
136
|
+
x
|
|
137
|
+
7
|
|
138
|
+
Version
|
|
139
|
+
i
|
|
140
|
+
51
|
|
141
|
+
5
|
|
142
|
+
67
|
|
143
|
+
66
|
|
144
|
+
7
|
|
145
|
+
0
|
|
146
|
+
81
|
|
147
|
+
50
|
|
148
|
+
1
|
|
149
|
+
2
|
|
150
|
+
15
|
|
151
|
+
66
|
|
152
|
+
7
|
|
153
|
+
2
|
|
154
|
+
4
|
|
155
|
+
4
|
|
156
|
+
50
|
|
157
|
+
1
|
|
158
|
+
2
|
|
159
|
+
15
|
|
160
|
+
66
|
|
161
|
+
7
|
|
162
|
+
3
|
|
163
|
+
79
|
|
164
|
+
50
|
|
165
|
+
1
|
|
166
|
+
2
|
|
167
|
+
15
|
|
168
|
+
66
|
|
169
|
+
7
|
|
170
|
+
4
|
|
171
|
+
45
|
|
172
|
+
0
|
|
173
|
+
45
|
|
174
|
+
2
|
|
175
|
+
45
|
|
176
|
+
3
|
|
177
|
+
35
|
|
178
|
+
3
|
|
179
|
+
50
|
|
180
|
+
5
|
|
181
|
+
0
|
|
182
|
+
7
|
|
183
|
+
6
|
|
184
|
+
65
|
|
185
|
+
50
|
|
186
|
+
7
|
|
187
|
+
1
|
|
188
|
+
50
|
|
189
|
+
1
|
|
190
|
+
2
|
|
191
|
+
11
|
|
192
|
+
I
|
|
193
|
+
5
|
|
194
|
+
I
|
|
195
|
+
0
|
|
196
|
+
I
|
|
197
|
+
0
|
|
198
|
+
I
|
|
199
|
+
0
|
|
200
|
+
I
|
|
201
|
+
0
|
|
202
|
+
n
|
|
203
|
+
p
|
|
204
|
+
8
|
|
205
|
+
x
|
|
206
|
+
5
|
|
207
|
+
MAJOR
|
|
208
|
+
x
|
|
209
|
+
9
|
|
210
|
+
const_set
|
|
211
|
+
x
|
|
212
|
+
5
|
|
213
|
+
MINOR
|
|
214
|
+
x
|
|
215
|
+
5
|
|
216
|
+
PATCH
|
|
217
|
+
x
|
|
218
|
+
6
|
|
219
|
+
STRING
|
|
220
|
+
x
|
|
221
|
+
7
|
|
222
|
+
compact
|
|
223
|
+
s
|
|
224
|
+
E
|
|
225
|
+
8
|
|
226
|
+
US-ASCII
|
|
227
|
+
1
|
|
228
|
+
.
|
|
229
|
+
x
|
|
230
|
+
4
|
|
231
|
+
join
|
|
232
|
+
p
|
|
233
|
+
9
|
|
234
|
+
I
|
|
235
|
+
2
|
|
236
|
+
I
|
|
237
|
+
d
|
|
238
|
+
I
|
|
239
|
+
a
|
|
240
|
+
I
|
|
241
|
+
10
|
|
242
|
+
I
|
|
243
|
+
13
|
|
244
|
+
I
|
|
245
|
+
13
|
|
246
|
+
I
|
|
247
|
+
1b
|
|
248
|
+
I
|
|
249
|
+
16
|
|
250
|
+
I
|
|
251
|
+
33
|
|
252
|
+
x
|
|
253
|
+
77
|
|
254
|
+
/Volumes/DATI/Users/Shogun/Programmazione/Ruby/devdnsd/lib/devdnsd/version.rb
|
|
255
|
+
p
|
|
256
|
+
0
|
|
257
|
+
x
|
|
258
|
+
13
|
|
259
|
+
attach_method
|
|
260
|
+
p
|
|
261
|
+
3
|
|
262
|
+
I
|
|
263
|
+
2
|
|
264
|
+
I
|
|
265
|
+
b
|
|
266
|
+
I
|
|
267
|
+
1c
|
|
268
|
+
x
|
|
269
|
+
77
|
|
270
|
+
/Volumes/DATI/Users/Shogun/Programmazione/Ruby/devdnsd/lib/devdnsd/version.rb
|
|
271
|
+
p
|
|
272
|
+
0
|
|
273
|
+
x
|
|
274
|
+
13
|
|
275
|
+
attach_method
|
|
276
|
+
p
|
|
277
|
+
3
|
|
278
|
+
I
|
|
279
|
+
0
|
|
280
|
+
I
|
|
281
|
+
7
|
|
282
|
+
I
|
|
283
|
+
1c
|
|
284
|
+
x
|
|
285
|
+
77
|
|
286
|
+
/Volumes/DATI/Users/Shogun/Programmazione/Ruby/devdnsd/lib/devdnsd/version.rb
|
|
287
|
+
p
|
|
288
|
+
0
|
data/.travis-gemfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#
|
|
3
|
-
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@
|
|
3
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
|
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
|
5
5
|
#
|
|
6
6
|
|
|
@@ -11,6 +11,5 @@ gemspec
|
|
|
11
11
|
# Testing
|
|
12
12
|
gem "rspec", "~> 2.14.1"
|
|
13
13
|
gem "rake", "~> 10.1.0"
|
|
14
|
-
gem "net-dns", "~> 0.8.0"
|
|
15
14
|
gem "simplecov", ">= 0.7.1"
|
|
16
15
|
gem "coveralls", ">= 0.6.7", require: false
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#
|
|
3
|
-
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@
|
|
3
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
|
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
|
5
5
|
#
|
|
6
6
|
|
|
@@ -11,12 +11,11 @@ gemspec
|
|
|
11
11
|
# Testing
|
|
12
12
|
gem "rspec", "~> 2.14.1"
|
|
13
13
|
gem "rake", "~> 10.1.0"
|
|
14
|
-
gem "net-dns", "~> 0.8.0"
|
|
15
14
|
|
|
16
15
|
# Documentation
|
|
17
16
|
gem "simplecov", ">= 0.7.1"
|
|
18
17
|
gem "coveralls", ">= 0.6.7", require: false
|
|
19
18
|
gem "pry", ">= 0"
|
|
20
|
-
gem "yard", ">= 0.8.
|
|
19
|
+
gem "yard", ">= 0.8.7"
|
|
21
20
|
gem "kramdown", ">= 1.1.0"
|
|
22
21
|
gem "github-markup", ">= 0.7.5"
|
data/README.md
CHANGED
|
@@ -85,6 +85,8 @@ You can, anyway, run the software as DNS server.
|
|
|
85
85
|
|
|
86
86
|
## Copyright
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
This software have been made possible by the awesome job of [Samuel Williams](https://github.com/ioquatix), with his [RubyDNS](https://github.com/rubydns) and [RExec](https://github.com/rexec) gems.
|
|
89
|
+
|
|
90
|
+
Copyright (C) 2013 and above Shogun (shogun_panda@cowtech.it).
|
|
89
91
|
|
|
90
92
|
Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
data/Rakefile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#
|
|
3
|
-
# This file is part of the devdnsd gem. Copyright (C) 2011 and above Shogun <shogun_panda@
|
|
3
|
+
# This file is part of the devdnsd gem. Copyright (C) 2011 and above Shogun <shogun_panda@cowtech.it>.
|
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
|
5
5
|
#
|
|
6
6
|
|
data/bin/devdnsd
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# encoding: utf-8
|
|
3
3
|
#
|
|
4
|
-
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@
|
|
4
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
|
|
5
5
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
|
6
6
|
#
|
|
7
7
|
|
|
8
8
|
require "rubygems"
|
|
9
9
|
require "devdnsd"
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Bovem::Application.create(name: "DevDNSd Resolver", version: "1.0.0", description: "Gestisce i record DNS via Rackspace Cloud API.") do
|
|
12
12
|
localizer = Lazier::Localizer.new(:devdnsd, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../locales/")).i18n
|
|
13
|
-
|
|
14
13
|
name "DevDNSd"
|
|
15
14
|
description localizer.application_description
|
|
16
15
|
version DevDNSd::Version::STRING
|
|
@@ -24,7 +23,7 @@ Mamertes.App do
|
|
|
24
23
|
|
|
25
24
|
command :start do
|
|
26
25
|
description localizer.command_start
|
|
27
|
-
option
|
|
26
|
+
option :foreground, [:n, "foreground"], {:help => localizer.application_help_foreground}
|
|
28
27
|
action { |command| DevDNSd::Application.instance(command).action_start() }
|
|
29
28
|
end
|
|
30
29
|
|
|
@@ -43,7 +42,32 @@ Mamertes.App do
|
|
|
43
42
|
action { |command| DevDNSd::Application.instance(command).action_uninstall() }
|
|
44
43
|
end
|
|
45
44
|
|
|
45
|
+
command :aliases do
|
|
46
|
+
description localizer.command_aliases
|
|
47
|
+
option :interface, [], {type: String, help: localizer.application_help_interface, default: "lo0", meta: localizer.application_meta_interface}
|
|
48
|
+
option :addresses, [], {type: Array, help: localizer.application_help_addresses, meta: localizer.application_meta_addresses}
|
|
49
|
+
option :start_address, [:s, "start-address"], {type: String, help: localizer.application_help_start_address, default: "10.0.0.1", meta: localizer.application_meta_address}
|
|
50
|
+
option :aliases, [:S], {type: Integer, help: localizer.application_help_aliases, default: 5, meta: localizer.application_meta_aliases}
|
|
51
|
+
option :add_command, [:A, "add-command"], {type: String, help: localizer.application_help_add_command, default: "sudo ifconfig {{interface}} alias {{address}}", meta: localizer.application_meta_command}
|
|
52
|
+
option :remove_command, [:R, "remove-command"], {type: String, help: localizer.application_help_remove_command, default: "sudo ifconfig {{interface}} -alias {{address}}", meta: localizer.application_meta_command}
|
|
53
|
+
option :dry_run, [:n, "dry-run"], {help: localizer.application_help_dry_run}
|
|
54
|
+
|
|
55
|
+
command :add do
|
|
56
|
+
description localizer.command_add
|
|
57
|
+
action { |command| DevDNSd::Application.instance(command).action_add(command.parent.get_options) }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
command :remove do
|
|
61
|
+
description localizer.command_remove
|
|
62
|
+
action { |command| DevDNSd::Application.instance(command).action_remove(command.parent.get_options) }
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
action do |command|
|
|
66
|
+
self.commands["add"].execute(command.options[:dry_run].value)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
46
70
|
action do |command|
|
|
47
|
-
|
|
71
|
+
DevDNSd::Application.instance(command).action_add(command.get_options)
|
|
48
72
|
end
|
|
49
73
|
end
|
|
@@ -6,10 +6,9 @@ config.add_rule("match_2.dev", "10.0.2.1", :MX)
|
|
|
6
6
|
|
|
7
7
|
config.add_rule("match_3.dev") do "10.0.3.1" end
|
|
8
8
|
|
|
9
|
-
config.add_rule("match_4.dev", :CNAME) do "
|
|
9
|
+
config.add_rule("match_4.dev", :CNAME) do "cowtech.it" end
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
config.add_rule(/match_5_(\d+)\.dev/, "10.0.5.$1")
|
|
11
|
+
config.add_rule(/match_5_(\d+)\.dev/, "ns.cowtech.it", :NS)
|
|
13
12
|
|
|
14
13
|
config.add_rule(/match_6_(\d+).dev/, "10.0.6.$1", :PTR)
|
|
15
14
|
|
|
@@ -17,10 +16,8 @@ config.add_rule(/match_7_(\d+).dev/) do "10.0.7.$1" end
|
|
|
17
16
|
|
|
18
17
|
config.add_rule(/match_8_(\d+).dev/, :PTR) do "10.0.8.$1" end
|
|
19
18
|
|
|
20
|
-
|
|
21
19
|
config.add_rule("match_9.dev") do false end
|
|
22
20
|
|
|
23
21
|
config.add_rule("match_10.dev", [:A, :MX]) do |match, type, transaction| type == :A ? "10.0.10.1" : "10.0.10.2" end
|
|
24
22
|
|
|
25
|
-
|
|
26
23
|
config.add_rule("quit.dev") do DevDNSd::Application.quit end
|
data/devdnsd.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#
|
|
3
|
-
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@
|
|
3
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
|
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
|
5
5
|
#
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
|
10
10
|
gem.name = "devdnsd"
|
|
11
11
|
gem.version = DevDNSd::Version::STRING
|
|
12
12
|
gem.authors = ["Shogun"]
|
|
13
|
-
gem.email = ["shogun_panda@
|
|
13
|
+
gem.email = ["shogun_panda@cowtech.it"]
|
|
14
14
|
gem.homepage = "http://sw.cow.tc/devdnsd"
|
|
15
15
|
gem.summary = %q{A small DNS server to enable local domain resolution.}
|
|
16
16
|
gem.description = %q{A small DNS server to enable local domain resolution.}
|
|
@@ -23,9 +23,10 @@ Gem::Specification.new do |gem|
|
|
|
23
23
|
|
|
24
24
|
gem.required_ruby_version = ">= 1.9.3"
|
|
25
25
|
|
|
26
|
-
gem.add_dependency("
|
|
27
|
-
gem.add_dependency("rubydns", "~> 0.6.
|
|
28
|
-
gem.add_dependency("rexec", "~> 1.5.
|
|
26
|
+
gem.add_dependency("bovem", "~> 3.0.2")
|
|
27
|
+
gem.add_dependency("rubydns", "~> 0.6.4")
|
|
28
|
+
gem.add_dependency("rexec", "~> 1.5.2")
|
|
29
|
+
gem.add_dependency("mustache", "~> 0.99.4")
|
|
29
30
|
end
|
|
30
31
|
|
|
31
32
|
|