adamantite 0.0.14 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/base/adamantite.rb +23 -7
- data/lib/file_utils/adamantite_file_utils.rb +6 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e83c51afbacf3138c9ebb70e6fceaa34dafce0431244dda651bf5f495722499
|
4
|
+
data.tar.gz: 24057e87f13dfca8d695353212fb939fba26a28d0d8229edb15d1dbf779d7413
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfaedbbecb1aff0602a7955e7e9412331bf71511893c6bdadc0a313170a90a09f09915a442f44ce2def6535ad62f620f5ec130c1f5c23c527286e4163fb5ad1c
|
7
|
+
data.tar.gz: 0556f018b804eb1ac56dad36eaf2f1900147dcaaa26b83e974e9e686f50691870804efd4631ea31ca8e2cacd202361cd0ff4d9bf438c9098b6365bc6f7c54169
|
data/lib/base/adamantite.rb
CHANGED
@@ -12,7 +12,7 @@ module Adamantite
|
|
12
12
|
include AdamantiteFileUtils
|
13
13
|
|
14
14
|
attr_reader :authenticated, :master_password, :master_password_salt, :stored_passwords,
|
15
|
-
:master_license_key, :free_tier
|
15
|
+
:master_license_key, :free_tier, :vault
|
16
16
|
|
17
17
|
OPSLIMIT = 2**20
|
18
18
|
MEMLIMIT = 2**24
|
@@ -37,7 +37,7 @@ module Adamantite
|
|
37
37
|
@master_password_salt = master_password_salt
|
38
38
|
@vault = rbnacl_box(@master_vault_key)
|
39
39
|
update_stored_passwords!
|
40
|
-
read_license_key!
|
40
|
+
read_license_key!
|
41
41
|
true
|
42
42
|
rescue RbNaCl::CryptoError
|
43
43
|
false
|
@@ -54,8 +54,9 @@ module Adamantite
|
|
54
54
|
|
55
55
|
if res['meta']['valid']
|
56
56
|
@master_license_key = master_license_key
|
57
|
-
|
58
|
-
|
57
|
+
write_master_license_key
|
58
|
+
@master_license_tier = license_tier(res)
|
59
|
+
write_master_license_tier
|
59
60
|
true
|
60
61
|
end
|
61
62
|
licensed?
|
@@ -127,6 +128,8 @@ module Adamantite
|
|
127
128
|
end
|
128
129
|
FileUtils.remove_entry_secure(pwmanager_tmp_dir)
|
129
130
|
write_master_info(new_master_password_salt, encrypted_vault_key)
|
131
|
+
write_master_license_key
|
132
|
+
write_master_license_tier
|
130
133
|
@master_password_salt = master_password_salt
|
131
134
|
@master_encrypted_vault_key = encrypted_vault_key
|
132
135
|
true
|
@@ -177,15 +180,23 @@ module Adamantite
|
|
177
180
|
write_to_file(password_file('master_encrypted_vault_key'), master_vault_key, true)
|
178
181
|
end
|
179
182
|
|
183
|
+
def write_master_license_key
|
184
|
+
write_to_file(password_file('master_license_key'), @vault.encrypt(@master_license_key), true)
|
185
|
+
end
|
186
|
+
|
187
|
+
def write_master_license_tier
|
188
|
+
write_to_file(password_file('master_license_tier'), @vault.encrypt(@master_license_tier), true)
|
189
|
+
end
|
190
|
+
|
180
191
|
def read_license_key!
|
181
|
-
return unless authenticated?
|
192
|
+
return unless authenticated? && has_license_key?
|
182
193
|
|
183
194
|
@master_license_key = @vault.decrypt(get_license_key)
|
184
|
-
|
185
|
-
@free_tier = res['data']['attributes']['name'] == 'Adamantite Free'
|
195
|
+
@master_license_tier = @vault.decrypt(get_license_tier)
|
186
196
|
end
|
187
197
|
|
188
198
|
def get_license_info(license_key)
|
199
|
+
license_key = license_key.nil? ? @master_license_key : license_key
|
189
200
|
headers = {
|
190
201
|
'Content-Type': 'application/vnd.api+json',
|
191
202
|
'Accept': 'application/vnd.api+json'
|
@@ -200,6 +211,11 @@ module Adamantite
|
|
200
211
|
}
|
201
212
|
HTTParty.post(LICENSE_ACTIVATION_URL, headers: headers, body: body.to_json)
|
202
213
|
end
|
214
|
+
|
215
|
+
def license_tier(keygen_response)
|
216
|
+
free_tier = keygen_response['data']['attributes']['name'] == 'Adamantite Free'
|
217
|
+
free_tier ? 'free' : 'paid'
|
218
|
+
end
|
203
219
|
end
|
204
220
|
end
|
205
221
|
end
|
@@ -96,10 +96,14 @@ module Adamantite
|
|
96
96
|
File.open(pw_file('master_license_key'), 'rb', &:read)
|
97
97
|
end
|
98
98
|
|
99
|
+
def get_license_tier
|
100
|
+
File.open(pw_file('master_license_tier'), 'rb', &:read)
|
101
|
+
end
|
102
|
+
|
99
103
|
def get_stored_pws
|
100
104
|
excluded_filenames = [
|
101
105
|
'.', '..', 'master_password_hash', 'master_password_salt', 'master_encrypted_vault_key',
|
102
|
-
'master_license_key'
|
106
|
+
'master_license_key', 'master_license_tier'
|
103
107
|
]
|
104
108
|
Dir.entries(pwmanager_dir).filter { |f| !excluded_filenames.include?(f) }
|
105
109
|
end
|
@@ -109,7 +113,7 @@ module Adamantite
|
|
109
113
|
end
|
110
114
|
|
111
115
|
def has_license_key?
|
112
|
-
pw_file_exists?('master_license_key')
|
116
|
+
pw_file_exists?('master_license_key') && pw_file_exists?('master_license_tier')
|
113
117
|
end
|
114
118
|
end
|
115
119
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adamantite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Bruemmer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer-dsl-libui
|