adamantite 0.0.14 → 0.0.15
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.
- 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
|