devdnsd 1.7.0 → 2.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.
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # This file is part of the devdnsd gem. Copyright (C) 2012 and above Shogun <shogun_panda@me.com>.
3
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
4
4
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
5
5
  #
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # This file is part of the devdnsd gem. Copyright (C) 2012 and above Shogun <shogun_panda@me.com>.
3
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
4
4
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
5
5
  #
6
6
 
@@ -18,11 +18,11 @@ describe DevDNSd::Rule do
18
18
  end
19
19
 
20
20
  it("should create a rule with arguments and no block") do
21
- rule = DevDNSd::Rule.new("MATCH", "REPLY", "TYPE", {:a => :b})
21
+ rule = DevDNSd::Rule.new("MATCH", "REPLY", "TYPE", {a: :b})
22
22
  expect(rule.match).to eq("MATCH")
23
23
  expect(rule.reply).to eq("REPLY")
24
24
  expect(rule.type).to eq("TYPE")
25
- expect(rule.options).to eq({:a => :b})
25
+ expect(rule.options).to eq({a: :b})
26
26
  expect(rule.block).to be_nil
27
27
  end
28
28
 
@@ -93,11 +93,11 @@ describe DevDNSd::Rule do
93
93
  end
94
94
 
95
95
  it("should create a rule with host, reply and type") do
96
- rule = DevDNSd::Rule.create("MATCH", "REPLY", "TYPE", {:a => :b})
96
+ rule = DevDNSd::Rule.create("MATCH", "REPLY", "TYPE", {a: :b})
97
97
  expect(rule.match).to eq("MATCH")
98
98
  expect(rule.reply).to eq("REPLY")
99
99
  expect(rule.type).to eq("TYPE")
100
- expect(rule.options).to eq({:a => :b})
100
+ expect(rule.options).to eq({a: :b})
101
101
  expect(rule.block).to be_nil
102
102
  end
103
103
 
@@ -134,11 +134,11 @@ describe DevDNSd::Rule do
134
134
 
135
135
  describe "::symbol_to_resource_class" do
136
136
  it("should convert a symbol to a resource class") do
137
- expect(DevDNSd::Rule.symbol_to_resource_class(:A)).to eq(Resolv::DNS::Resource::IN::A)
137
+ expect(DevDNSd::Rule.symbol_to_resource_class(:A, :en)).to eq(Resolv::DNS::Resource::IN::A)
138
138
  end
139
139
 
140
140
  it("should fail for a invalid class") do
141
- expect { DevDNSd::Rule.symbol_to_resource_class(:Invalid) }.to raise_error(DevDNSd::Errors::InvalidRule)
141
+ expect { DevDNSd::Rule.symbol_to_resource_class(:Invalid, :en) }.to raise_error(DevDNSd::Errors::InvalidRule)
142
142
  end
143
143
  end
144
144
  end
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,11 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # This file is part of the devdnsd gem. Copyright (C) 2012 and above Shogun <shogun_panda@me.com>.
3
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
4
4
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
5
5
  #
6
6
 
7
7
  require "rubygems"
8
8
  require "bundler/setup"
9
- require "coverage_helper"
10
9
  require "devdnsd"
11
10
  require "net/dns"
12
11
 
data/utils/tester.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: utf-8
3
3
  #
4
- # This file is part of the devdnsd gem. Copyright (C) 2012 and above Shogun <shogun_panda@me.com>.
4
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
5
5
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
6
6
  #
7
7
 
@@ -13,18 +13,15 @@ require "net/dns"
13
13
  # Patch to avoid resolving of hostname containing numbers.
14
14
  class Net::DNS::Resolver
15
15
  def is_ip_address?(addr)
16
+ ipv6_norm = [/\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z/, /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/, /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/]
17
+ ipv6_compat = [/\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:/, /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/, /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/]
18
+
16
19
  catch(:valid_ip) do
17
20
  if /\A(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\Z/ =~ addr
18
21
  throw(:valid_ip, true) if $~.captures.all? {|i| i.to_i < 256}
19
22
  else
20
23
  # IPv6 (normal)
21
- throw(:valid_ip, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z/ =~ addr
22
- throw(:valid_ip, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/ =~ addr
23
- throw(:valid_ip, true) if /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/ =~ addr
24
- # IPv6 (IPv4 compat)
25
- throw(:valid_ip, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:/ =~ addr && valid_v4?($')
26
- throw(:valid_ip, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ addr && valid_v4?($')
27
- throw(:valid_ip, true) if /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ addr && valid_v4?($')
24
+ throw(:valid_ip, true) if ipv6_norm.any? {|r| r =~ addr } || (ipv6_compat.any? {|r| r =~ addr } && valid_v4?($'))
28
25
  end
29
26
 
30
27
  false
@@ -54,8 +51,6 @@ class Net::DNS::Resolver
54
51
  packet.header.recursive = @config[:recursive] ? 1 : 0
55
52
  end
56
53
 
57
- # DNSSEC and TSIG stuff to be inserted here
58
-
59
54
  packet
60
55
  end
61
56
  end
@@ -76,24 +71,15 @@ def devdnsd_resolv(address = "match.dev", type = "ANY", nameserver = "127.0.0.1"
76
71
  tmpfile = "/tmp/devdnsd-test-tester-#{Time.now.strftime("%Y%m%d-%H:%M:%S")}"
77
72
 
78
73
  begin
79
- resolver = Net::DNS::Resolver.new(:nameservers => nameserver, :port => port.to_i, :recursive => false, :udp_timeout => 1, :log_file => tmpfile)
80
- response = resolver.search(address, type)
81
-
82
- response.answer.each do |answer|
74
+ Net::DNS::Resolver.new(:nameservers => nameserver, :port => port.to_i, :recursive => false, :udp_timeout => 1, :log_file => tmpfile).search(address, type).answer.each do |answer|
83
75
  type = answer.type.upcase.to_sym
84
- result = ""
85
-
86
- case type
87
- when :MX
88
- result = answer.exchange.gsub(/\.$/, "")
89
- when :CNAME
90
- result = answer.cname.gsub(/\.$/, "")
91
- when :NS
92
- result = answer.nsdname.gsub(/\.$/, "")
93
- when :PTR
94
- result = answer.ptrdname.gsub(/\.$/, "")
95
- else
96
- result = answer.address.to_s
76
+
77
+ result = case type
78
+ when :MX then answer.exchange.gsub(/\.$/, "")
79
+ when :CNAME then answer.cname.gsub(/\.$/, "")
80
+ when :NS then answer.nsdname.gsub(/\.$/, "")
81
+ when :PTR then answer.ptrdname.gsub(/\.$/, "")
82
+ else answer.address.to_s
97
83
  end
98
84
 
99
85
  rv << [result, type]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devdnsd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-22 00:00:00.000000000 Z
12
+ date: 2013-02-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mamertes
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.2.0
21
+ version: 2.0.7
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.2.0
29
+ version: 2.0.7
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rubydns
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: 0.5.2
37
+ version: 0.5.4
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 0.5.2
45
+ version: 0.5.4
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: rexec
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -59,134 +59,6 @@ dependencies:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.5.1
62
- - !ruby/object:Gem::Dependency
63
- name: rspec
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: 2.11.0
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: 2.11.0
78
- - !ruby/object:Gem::Dependency
79
- name: rake
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ~>
84
- - !ruby/object:Gem::Version
85
- version: 0.9.0
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 0.9.0
94
- - !ruby/object:Gem::Dependency
95
- name: simplecov
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- version: 0.7.0
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 0.7.0
110
- - !ruby/object:Gem::Dependency
111
- name: pry
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: net-dns
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ~>
132
- - !ruby/object:Gem::Version
133
- version: 0.7.0
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ~>
140
- - !ruby/object:Gem::Version
141
- version: 0.7.0
142
- - !ruby/object:Gem::Dependency
143
- name: yard
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ~>
148
- - !ruby/object:Gem::Version
149
- version: 0.8.0
150
- type: :development
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ~>
156
- - !ruby/object:Gem::Version
157
- version: 0.8.0
158
- - !ruby/object:Gem::Dependency
159
- name: redcarpet
160
- requirement: !ruby/object:Gem::Requirement
161
- none: false
162
- requirements:
163
- - - ~>
164
- - !ruby/object:Gem::Version
165
- version: 2.2.2
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ~>
172
- - !ruby/object:Gem::Version
173
- version: 2.2.2
174
- - !ruby/object:Gem::Dependency
175
- name: github-markup
176
- requirement: !ruby/object:Gem::Requirement
177
- none: false
178
- requirements:
179
- - - ~>
180
- - !ruby/object:Gem::Version
181
- version: 0.7.0
182
- type: :development
183
- prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ~>
188
- - !ruby/object:Gem::Version
189
- version: 0.7.0
190
62
  description: A small DNS server to enable local domain resolution.
191
63
  email:
192
64
  - shogun_panda@me.com
@@ -197,10 +69,10 @@ extra_rdoc_files: []
197
69
  files:
198
70
  - .DS_Store
199
71
  - .gitignore
72
+ - .travis-gemfile
200
73
  - .travis.yml
201
74
  - .yardopts
202
75
  - Gemfile
203
- - Gemfile.lock
204
76
  - README.md
205
77
  - Rakefile
206
78
  - bin/devdnsd
@@ -208,6 +80,10 @@ files:
208
80
  - devdnsd.gemspec
209
81
  - doc/DevDNSd.html
210
82
  - doc/DevDNSd/Application.html
83
+ - doc/DevDNSd/ApplicationMethods.html
84
+ - doc/DevDNSd/ApplicationMethods/Server.html
85
+ - doc/DevDNSd/ApplicationMethods/System.html
86
+ - doc/DevDNSd/ApplicationMethods/System/ClassMethods.html
211
87
  - doc/DevDNSd/Configuration.html
212
88
  - doc/DevDNSd/Errors.html
213
89
  - doc/DevDNSd/Errors/InvalidRule.html
@@ -233,13 +109,15 @@ files:
233
109
  - lib/devdnsd/errors.rb
234
110
  - lib/devdnsd/rule.rb
235
111
  - lib/devdnsd/version.rb
112
+ - locales/en.yml
113
+ - locales/it.yml
236
114
  - spec/coverage_helper.rb
237
115
  - spec/devdnsd/application_spec.rb
238
116
  - spec/devdnsd/configuration_spec.rb
239
117
  - spec/devdnsd/rule_spec.rb
240
118
  - spec/spec_helper.rb
241
119
  - utils/tester.rb
242
- homepage: http://github.com/ShogunPanda/devdnsd
120
+ homepage: http://sw.cow.tc/devdnsd
243
121
  licenses: []
244
122
  post_install_message:
245
123
  rdoc_options: []
@@ -250,10 +128,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
250
128
  requirements:
251
129
  - - ! '>='
252
130
  - !ruby/object:Gem::Version
253
- version: '0'
254
- segments:
255
- - 0
256
- hash: 437645592278327287
131
+ version: 1.9.3
257
132
  required_rubygems_version: !ruby/object:Gem::Requirement
258
133
  none: false
259
134
  requirements:
@@ -262,10 +137,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
262
137
  version: '0'
263
138
  segments:
264
139
  - 0
265
- hash: 437645592278327287
140
+ hash: 4257481357820499987
266
141
  requirements: []
267
142
  rubyforge_project: devdnsd
268
- rubygems_version: 1.8.24
143
+ rubygems_version: 1.8.25
269
144
  signing_key:
270
145
  specification_version: 3
271
146
  summary: A small DNS server to enable local domain resolution.
data/Gemfile.lock DELETED
@@ -1,101 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- devdnsd (1.7.0)
5
- mamertes (~> 1.2.0)
6
- rexec (~> 1.5.1)
7
- rubydns (~> 0.5.2)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- actionpack (3.2.8)
13
- activemodel (= 3.2.8)
14
- activesupport (= 3.2.8)
15
- builder (~> 3.0.0)
16
- erubis (~> 2.7.0)
17
- journey (~> 1.0.4)
18
- rack (~> 1.4.0)
19
- rack-cache (~> 1.2)
20
- rack-test (~> 0.6.1)
21
- sprockets (~> 2.1.3)
22
- activemodel (3.2.8)
23
- activesupport (= 3.2.8)
24
- builder (~> 3.0.0)
25
- activesupport (3.2.8)
26
- i18n (~> 0.6)
27
- multi_json (~> 1.0)
28
- bovem (1.2.6)
29
- lazier (~> 1.0)
30
- open4 (~> 1.3.0)
31
- builder (3.0.4)
32
- coderay (1.0.7)
33
- diff-lcs (1.1.3)
34
- erubis (2.7.0)
35
- eventmachine (1.0.0)
36
- github-markup (0.7.4)
37
- hike (1.2.1)
38
- i18n (0.6.1)
39
- journey (1.0.4)
40
- json (1.7.5)
41
- lazier (1.0.6)
42
- actionpack (~> 3.0)
43
- json (~> 1.7.0)
44
- tzinfo (~> 0.3.0)
45
- mamertes (1.2.0)
46
- bovem (~> 1.2.2)
47
- method_source (0.8)
48
- multi_json (1.3.6)
49
- net-dns (0.7.1)
50
- open4 (1.3.0)
51
- pry (0.9.10)
52
- coderay (~> 1.0.5)
53
- method_source (~> 0.8)
54
- slop (~> 3.3.1)
55
- rack (1.4.1)
56
- rack-cache (1.2)
57
- rack (>= 0.4)
58
- rack-test (0.6.2)
59
- rack (>= 1.0)
60
- rainbow (1.1.4)
61
- rake (0.9.2.2)
62
- redcarpet (2.2.2)
63
- rexec (1.5.1)
64
- rainbow
65
- rspec (2.11.0)
66
- rspec-core (~> 2.11.0)
67
- rspec-expectations (~> 2.11.0)
68
- rspec-mocks (~> 2.11.0)
69
- rspec-core (2.11.1)
70
- rspec-expectations (2.11.3)
71
- diff-lcs (~> 1.1.3)
72
- rspec-mocks (2.11.3)
73
- rubydns (0.5.2)
74
- eventmachine (~> 1.0.0)
75
- rexec (~> 1.5.1)
76
- simplecov (0.7.1)
77
- multi_json (~> 1.0)
78
- simplecov-html (~> 0.7.1)
79
- simplecov-html (0.7.1)
80
- slop (3.3.3)
81
- sprockets (2.1.3)
82
- hike (~> 1.2)
83
- rack (~> 1.0)
84
- tilt (~> 1.1, != 1.3.0)
85
- tilt (1.3.3)
86
- tzinfo (0.3.33)
87
- yard (0.8.2.1)
88
-
89
- PLATFORMS
90
- ruby
91
-
92
- DEPENDENCIES
93
- devdnsd!
94
- github-markup (~> 0.7.0)
95
- net-dns (~> 0.7.0)
96
- pry
97
- rake (~> 0.9.0)
98
- redcarpet (~> 2.2.2)
99
- rspec (~> 2.11.0)
100
- simplecov (~> 0.7.0)
101
- yard (~> 0.8.0)