DNSUpdater 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f825b3799de70e518a4216e6962814d8dfe9ef3e834f93d251fddaa269e4974
4
- data.tar.gz: 909d0c529ea9fb6b974969e4cde18a39a97ad685fce54e1156e619afc9fb3479
3
+ metadata.gz: ff404119a6c42d8afa3c9580da9d5aa662b45b086ad1092d1c82f6ff212ea74e
4
+ data.tar.gz: 980c62a9c2ed35df952c518223ebb03b0c659e7ea223bc98a6a00ecc0644c4d7
5
5
  SHA512:
6
- metadata.gz: f30c522ac33ee2a56dcff7244e351a108f8de42847c55e2ca6661812f8d834f3a358215162e69f479c6a8bc306c5d06504e4b2af08304ca1fb7a5a573b027c64
7
- data.tar.gz: 4da0b59cbb3c4ebbb8feddb9f7f884e1a386ce425268b93de1688a4c21d53374c2637131380d203511d53c0b24f5792b0c3053f701c88f0c56f2537a93296ec0
6
+ metadata.gz: 97cedfb61604d8bd84aaf4785b53e3a566e172251a38bada0abbe4b75b10556f1fcf29afeebaa3ea4b3cb62579b414263d3801840e6c1100c733de7792c766c3
7
+ data.tar.gz: 3705aab16c8d7e797bf327e079bf4ae5dad55bdfaaa752218dc247e275920ac8536186344739a7e72324466881ff130efe3afb42ecc302740bf8b2208ba18d68
data/DNSUpdater.gemspec CHANGED
@@ -29,7 +29,10 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ['lib']
30
30
 
31
31
  spec.add_dependency 'addressable'
32
+ spec.add_dependency 'bcrypt_pbkdf' # for net-ssh ed25519 key support
33
+ spec.add_dependency 'ed25519'
32
34
  spec.add_dependency 'idn-ruby'
35
+ spec.add_dependency 'net-ssh'
33
36
  spec.add_dependency 'pdns_api'
34
37
  spec.add_dependency 'public_suffix'
35
38
  spec.add_dependency 'puma'
@@ -37,7 +40,8 @@ Gem::Specification.new do |spec|
37
40
 
38
41
  spec.add_development_dependency 'bundler', '~> 2.0'
39
42
  spec.add_development_dependency 'irb'
40
- spec.add_development_dependency 'rake', '~> 10.0'
43
+ spec.add_development_dependency 'rack-test'
44
+ spec.add_development_dependency 'rake', '~> 13.0'
41
45
  spec.add_development_dependency 'redcarpet'
42
46
  spec.add_development_dependency 'rspec', '~> 3.0'
43
47
  spec.add_development_dependency 'simplecov'
data/Gemfile.lock CHANGED
@@ -1,9 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- DNSUpdater (1.0.0)
4
+ DNSUpdater (1.0.1)
5
5
  addressable
6
+ bcrypt_pbkdf
7
+ ed25519
6
8
  idn-ruby
9
+ net-ssh
7
10
  pdns_api
8
11
  public_suffix
9
12
  puma
@@ -12,26 +15,31 @@ PATH
12
15
  GEM
13
16
  remote: https://rubygems.org/
14
17
  specs:
15
- addressable (2.7.0)
18
+ addressable (2.8.0)
16
19
  public_suffix (>= 2.0.2, < 5.0)
20
+ bcrypt_pbkdf (1.0.1)
17
21
  crack (0.4.3)
18
22
  safe_yaml (~> 1.0.0)
19
23
  diff-lcs (1.3)
20
24
  docile (1.3.2)
25
+ ed25519 (1.2.4)
21
26
  hashdiff (1.0.0)
22
27
  idn-ruby (0.1.0)
23
28
  io-console (0.5.3)
24
29
  irb (1.2.1)
25
30
  reline (>= 0.0.1)
26
31
  json (2.3.0)
27
- nio4r (2.5.2)
32
+ net-ssh (5.2.0)
33
+ nio4r (2.5.8)
28
34
  pdns_api (0.1.3)
29
- public_suffix (4.0.2)
30
- puma (4.3.1)
35
+ public_suffix (4.0.6)
36
+ puma (5.6.2)
31
37
  nio4r (~> 2.0)
32
- rack (2.0.8)
33
- rake (10.5.0)
34
- redcarpet (3.5.0)
38
+ rack (2.2.3)
39
+ rack-test (1.1.0)
40
+ rack (>= 1.0, < 3)
41
+ rake (13.0.1)
42
+ redcarpet (3.5.1)
35
43
  reline (0.1.2)
36
44
  io-console (~> 0.5)
37
45
  rspec (3.9.0)
@@ -66,7 +74,8 @@ DEPENDENCIES
66
74
  DNSUpdater!
67
75
  bundler (~> 2.0)
68
76
  irb
69
- rake (~> 10.0)
77
+ rack-test
78
+ rake (~> 13.0)
70
79
  redcarpet
71
80
  rspec (~> 3.0)
72
81
  simplecov
@@ -74,4 +83,4 @@ DEPENDENCIES
74
83
  yard
75
84
 
76
85
  BUNDLED WITH
77
- 2.1.2
86
+ 2.1.3
@@ -53,7 +53,7 @@ class DNSUpdater
53
53
  def getOptions(args)
54
54
  options = {
55
55
  ConfigFile: 'config.yaml',
56
- Target: nil,
56
+ Targets: [],
57
57
  Protocol: nil,
58
58
  Serve: false
59
59
  }
@@ -66,18 +66,23 @@ class DNSUpdater
66
66
  warn e.message
67
67
  raise SystemExit
68
68
  end
69
- options[:Target] = args.first unless args.empty?
69
+ options[:Targets] = args
70
70
  options
71
71
  end
72
72
 
73
73
  def doSingleUpdate(options)
74
74
  config = Config.new(options[:ConfigFile])
75
- DNSUpdater.new(config).update(options[:Target], options[:Protocol])
76
- puts 'Updated!'
75
+ updater = DNSUpdater.new(config)
76
+ options[:Targets].each do |target|
77
+ updater.update(target, options[:Protocol])
78
+ puts "Updated #{target}"
79
+ end
77
80
  end
78
81
 
79
82
  def serveWebUpdates(options)
80
- params = prepareWebParams(options[:Target])
83
+ target = nil
84
+ target = options[:Targets].first unless options[:Targets].empty?
85
+ params = prepareWebParams(target)
81
86
  Web.startServer(options[:ConfigFile], options[:Protocol], params)
82
87
  end
83
88
 
@@ -47,7 +47,7 @@ class DNSUpdater
47
47
  ssh.loop { ssh.busy? || @SSHFowardProcessing }
48
48
  end
49
49
  @SSH = nil
50
- rescue IOError, SocketError, SystemCallError, Net::SSH::Exception => e
50
+ rescue IOError, SocketError, SystemCallError, Net::SSH::Exception, ScriptError => e
51
51
  @SSHError = e.message
52
52
  end
53
53
  @SSHThread.report_on_exception = true
@@ -2,5 +2,5 @@
2
2
 
3
3
  class DNSUpdater
4
4
  # Version
5
- VERSION = '1.0.0'
5
+ VERSION = '1.2.0'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: DNSUpdater
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dāvis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-02 00:00:00.000000000 Z
11
+ date: 2022-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bcrypt_pbkdf
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ed25519
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: idn-ruby
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +66,20 @@ dependencies:
38
66
  - - ">="
39
67
  - !ruby/object:Gem::Version
40
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: net-ssh
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: pdns_api
43
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,20 +164,34 @@ dependencies:
122
164
  - - ">="
123
165
  - !ruby/object:Gem::Version
124
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rack-test
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
125
181
  - !ruby/object:Gem::Dependency
126
182
  name: rake
127
183
  requirement: !ruby/object:Gem::Requirement
128
184
  requirements:
129
185
  - - "~>"
130
186
  - !ruby/object:Gem::Version
131
- version: '10.0'
187
+ version: '13.0'
132
188
  type: :development
133
189
  prerelease: false
134
190
  version_requirements: !ruby/object:Gem::Requirement
135
191
  requirements:
136
192
  - - "~>"
137
193
  - !ruby/object:Gem::Version
138
- version: '10.0'
194
+ version: '13.0'
139
195
  - !ruby/object:Gem::Dependency
140
196
  name: redcarpet
141
197
  requirement: !ruby/object:Gem::Requirement
@@ -254,7 +310,7 @@ metadata:
254
310
  homepage_uri: https://github.com/davispuh/DNSUpdater
255
311
  source_code_uri: https://github.com/davispuh/DNSUpdater
256
312
  changelog_uri: https://github.com/davispuh/DNSUpdater/blob/master/CHANGELOG.md
257
- post_install_message:
313
+ post_install_message:
258
314
  rdoc_options: []
259
315
  require_paths:
260
316
  - lib
@@ -269,8 +325,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
269
325
  - !ruby/object:Gem::Version
270
326
  version: '0'
271
327
  requirements: []
272
- rubygems_version: 3.1.2
273
- signing_key:
328
+ rubygems_version: 3.3.8
329
+ signing_key:
274
330
  specification_version: 4
275
331
  summary: An application to dynamically and remotely update DNS.
276
332
  test_files: []