knife-openvpn 0.0.5 → 0.0.6

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
  SHA1:
3
- metadata.gz: f6d0e8a8e3cbc7fc159f7319c7579af86f97ce04
4
- data.tar.gz: 14cf40403d89c4347c9041133e5c181b92b1019d
3
+ metadata.gz: aff7e11b6411be2b86730f40fd83dcbce657bd51
4
+ data.tar.gz: e0ca84c8956e28d8afd1fc0fffbbf7790d091261
5
5
  SHA512:
6
- metadata.gz: 5480342506ce0996291557aae9091d972032968f17d7e4ac0e6de96f35155e62299f43b6fe64e50a7d5c8a6a0371f1066aefad8987eb071c0a4c0ab50176f691
7
- data.tar.gz: df9a18c14f29f87cf50c67ac75ff2b47ee0e666eded5bff7d0e1fc53b4b9ce258ef9ce993cd10968f546d1e29bdb8c9eb74a0f8f13691ad9982668f8fc17252a
6
+ metadata.gz: acd8bceffc2342824622ac68f109eef5b2b2a2d93b0049d43a8abe1f3d5e5fa7f7a48c11753b8c5c3def78885ea9aa17dd7aeca5adc9b716ad3de7582c2ec816
7
+ data.tar.gz: 24898768d4ef2e448aba8667c6427db3578febe7023df299b365d74333bc2d18faa9f71a4b7c3a96f97edbb95ea3c7ccb5a917c5172ecdae470b7a382c0e52a0
@@ -1,3 +1,5 @@
1
+ AllCops:
2
+ DisplayCopNames: true
1
3
  Metrics/AbcSize:
2
4
  Enabled: false
3
5
  Style/GuardClause:
@@ -12,3 +14,5 @@ Metrics/ClassLength:
12
14
  Max: 200
13
15
  Metrics/ParameterLists:
14
16
  Enabled: false
17
+ Style/NumericLiteralPrefix:
18
+ EnforcedOctalStyle: zero_only
@@ -1,2 +1,5 @@
1
+ ## 0.0.6 (Sep 12, 2016)
2
+ * New "remote" attribute for multiple servers in client config
3
+
1
4
  ## 0.0.4 (Sep 24, 2015)
2
5
  * add --force option for user certificate revokation
@@ -3,7 +3,7 @@ $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
5
  gem.name = 'knife-openvpn'
6
- gem.version = '0.0.5'
6
+ gem.version = '0.0.6'
7
7
  gem.summary = 'A knife plugin for Express 42 openvpn cookbook'
8
8
  gem.description = gem.summary
9
9
  gem.authors = ['LLC Express 42']
@@ -135,24 +135,27 @@ module OpenvpnPlugin
135
135
  end
136
136
 
137
137
  def issue_crl(revoke_info, serial, lastup, nextup, extensions,
138
- issuer, issuer_key, digest)
138
+ issuer, issuer_key, digest)
139
139
  crl = OpenSSL::X509::CRL.new
140
140
  crl.issuer = issuer.subject
141
141
  crl.version = 1
142
142
  crl.last_update = lastup
143
143
  crl.next_update = nextup
144
- revoke_info.each do|rserial, time, reason_code|
144
+ revoke_info.each do |rserial, time, reason_code|
145
145
  revoked = OpenSSL::X509::Revoked.new
146
- if rserial.is_a? OpenSSL::BN
147
- revoked.serial = rserial
148
- else
149
- revoked.serial = OpenSSL::BN.new(rserial)
150
- end
151
- if time.is_a? Time
152
- revoked.time = time
153
- else
154
- revoked.time = Time.parse(time)
155
- end
146
+
147
+ revoked.serial = if rserial.is_a? OpenSSL::BN
148
+ rserial
149
+ else
150
+ OpenSSL::BN.new(rserial)
151
+ end
152
+
153
+ revoked.time = if time.is_a?
154
+ time
155
+ else
156
+ Time.parse(time)
157
+ end
158
+
156
159
  enum = OpenSSL::ASN1::Enumerated(reason_code)
157
160
  ext = OpenSSL::X509::Extension.new('CRLReason', enum)
158
161
  revoked.add_extension(ext)
@@ -163,7 +166,7 @@ module OpenvpnPlugin
163
166
  ef.crl = crl
164
167
  crlnum = OpenSSL::ASN1::Integer(serial)
165
168
  crl.add_extension(OpenSSL::X509::Extension.new('crlNumber', crlnum))
166
- extensions.each do|oid, value, critical|
169
+ extensions.each do |oid, value, critical|
167
170
  crl.add_extension(ef.create_extension(oid, value, critical))
168
171
  end
169
172
  crl.sign(issuer_key, digest)
@@ -374,11 +377,9 @@ module OpenvpnPlugin
374
377
  user_item = load_databag_item(databag_name, user_name)
375
378
  user_cert, _user_key = load_cert_and_key user_item['cert'], user_item['key']
376
379
  tmpdir = Dir.mktmpdir
377
- ui.msg "created tmpdir: #{tmpdir}"
378
380
  begin
379
381
  user_dir = "#{tmpdir}/#{user_name}-vpn"
380
382
  Dir.mkdir user_dir
381
- ui.msg "created userdir: #{user_dir}"
382
383
  export_file "#{user_dir}/ca.crt", ca_cert.to_pem
383
384
  export_file "#{user_dir}/#{user_name}.crt", user_cert.to_pem
384
385
  export_file "#{user_dir}/#{user_name}.key", user_item['key'].to_s
@@ -405,8 +406,8 @@ module OpenvpnPlugin
405
406
  query = "openvpn_server_name:#{server_name}"
406
407
  query_nodes = Chef::Search::Query.new
407
408
  search_result = query_nodes.search('node', query)[0]
408
- if search_result.length < 1
409
- fail_with "Cant find vpn server named '#{server_name}'"
409
+ if search_result.empty?
410
+ fail_with "Cant find vpn server named '#{server_name}', chef search for node with attribute openvpn.server_name:#{server_name} return no result"
410
411
  end
411
412
  config_content = ''
412
413
  newline = "\n"
@@ -416,8 +417,14 @@ module OpenvpnPlugin
416
417
  config_content << "dev #{config['dev']}" << newline
417
418
  config_content << "proto #{config['proto']}" << newline
418
419
  search_result.each do |result|
419
- config_content << "remote #{result['openvpn'][server_name]['remote_host']} "
420
- config_content << "#{config['port']}" << newline
420
+ if result['openvpn'][server_name]['remote'].nil?
421
+ config_content << "remote #{result['openvpn'][server_name]['remote_host']} "
422
+ config_content << config['port'].to_s << newline
423
+ else
424
+ result['openvpn'][server_name]['remote'].each do |remote|
425
+ config_content << "remote #{remote}" << newline
426
+ end
427
+ end
421
428
  end
422
429
  config_content << "verb #{config['verb']}" << newline
423
430
  config_content << 'comp-lzo' << newline
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-openvpn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - LLC Express 42
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-02 00:00:00.000000000 Z
11
+ date: 2016-09-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A knife plugin for Express 42 openvpn cookbook
14
14
  email: cookbooks@express42.com
@@ -45,7 +45,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
45
45
  version: '0'
46
46
  requirements: []
47
47
  rubyforge_project:
48
- rubygems_version: 2.4.4
48
+ rubygems_version: 2.5.2
49
49
  signing_key:
50
50
  specification_version: 4
51
51
  summary: A knife plugin for Express 42 openvpn cookbook