spare_keys 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/spare_keys.rb +20 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c9b94b0eda4e51b2b148b20cf0ee0eee82cdb894
4
- data.tar.gz: b9b74df48d7e8f8c8cb714ca221121c0717781e0
3
+ metadata.gz: 12c38c87a8453bd4d5ee296abe4403b34d190f53
4
+ data.tar.gz: e5140c2d52d007e48ef040696556caf0d7567b33
5
5
  SHA512:
6
- metadata.gz: 2cb40f2a8c219607828b1bd074f7ee603116593c70653986e626c1baf22f0afd7d9624bf414ae14f42d16c47c94970c5fd39f6bc9d885e7f941509808ee7cd58
7
- data.tar.gz: 4e15ac6554ae06a38589b6688927471dd0ba0a6ac4ac30b89af63410aba5a61f3e737d16adf9c021481e0017ebf02e94e68ad97be33ced79eeac17a9b173da41
6
+ metadata.gz: dc39702fe86ee4814f267f36adeebdf856e3f24e11e899e9e9fa7b1acbcb91bf9a2271b31f94b69e6aa07c73c1cfba584c5547fc3464e0d8ae16a398f1fc1c0c
7
+ data.tar.gz: 2a1f2801aada5d5ffcdc4c23b22505253f22e6106694b6962cc78c018a794b80e171e3205ab2b870593c495df10b778651a5ba10a5dd686b6da3058ccc26764a
data/lib/spare_keys.rb CHANGED
@@ -44,7 +44,9 @@ class SpareKeys
44
44
  require 'securerandom'
45
45
 
46
46
  password = SecureRandom.hex
47
- temp_keychain = Dir::Tmpname.make_tmpname(['spare-keys-', '.keychain'], nil)
47
+
48
+ extension = keychain_extension()
49
+ temp_keychain = Dir::Tmpname.make_tmpname(['spare-keys-', extension], nil)
48
50
 
49
51
  `security create-keychain -p "#{password}" #{temp_keychain}`
50
52
  `security unlock-keychain -p "#{password}" #{temp_keychain}`
@@ -52,7 +54,7 @@ class SpareKeys
52
54
  if block_given?
53
55
  begin
54
56
  use_keychain(temp_keychain, clear_list, type) {
55
- yield temp_keychain
57
+ yield temp_keychain, password
56
58
  }
57
59
  ensure
58
60
  `security delete-keychain #{temp_keychain}`
@@ -62,4 +64,20 @@ class SpareKeys
62
64
  end
63
65
  end
64
66
 
67
+ private
68
+
69
+ def self.keychain_extension()
70
+ return is_sierra() ? '.keychain-db' : '.keychain'
71
+ end
72
+
73
+ def self.is_sierra()
74
+
75
+ osVersion = `sysctl -n kern.osrelease`
76
+
77
+ majorOsVersion = Integer(osVersion.split('.')[0])
78
+
79
+ return majorOsVersion >= 16 # Sierra
80
+
81
+ end
82
+
65
83
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spare_keys
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Szalay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-09 00:00:00.000000000 Z
11
+ date: 2016-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec