adamantite 0.0.13 → 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/adamantite.rb +5 -2
- data/lib/base/adamantite.rb +40 -17
- 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/adamantite.rb
CHANGED
@@ -147,8 +147,11 @@ module Adamantite
|
|
147
147
|
end
|
148
148
|
horizontal_box do
|
149
149
|
stretchy false
|
150
|
-
|
151
|
-
|
150
|
+
free_or_paid = @adamantite.free_tier ? 'free' : 'paid'
|
151
|
+
label_text = <<-TEXT
|
152
|
+
This is valid Adamantite installation on a #{free_or_paid} license.
|
153
|
+
TEXT
|
154
|
+
label(label_text)
|
152
155
|
end
|
153
156
|
end
|
154
157
|
else
|
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
|
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
|
@@ -50,23 +50,13 @@ module Adamantite
|
|
50
50
|
def activate_license!(master_license_key)
|
51
51
|
return unless authenticated?
|
52
52
|
|
53
|
-
|
54
|
-
'Content-Type': 'application/vnd.api+json',
|
55
|
-
'Accept': 'application/vnd.api+json'
|
56
|
-
}
|
57
|
-
body = {
|
58
|
-
'meta': {
|
59
|
-
'key': master_license_key,
|
60
|
-
'scope': {
|
61
|
-
'product': 'bb6542ab-7d74-44d0-b4f5-1fbc39cdeb99'
|
62
|
-
}
|
63
|
-
}
|
64
|
-
}
|
65
|
-
res = HTTParty.post(LICENSE_ACTIVATION_URL, headers: headers, body: body.to_json)
|
53
|
+
res = get_license_info(master_license_key)
|
66
54
|
|
67
55
|
if res['meta']['valid']
|
68
56
|
@master_license_key = master_license_key
|
69
|
-
|
57
|
+
write_master_license_key
|
58
|
+
@master_license_tier = license_tier(res)
|
59
|
+
write_master_license_tier
|
70
60
|
true
|
71
61
|
end
|
72
62
|
licensed?
|
@@ -138,6 +128,8 @@ module Adamantite
|
|
138
128
|
end
|
139
129
|
FileUtils.remove_entry_secure(pwmanager_tmp_dir)
|
140
130
|
write_master_info(new_master_password_salt, encrypted_vault_key)
|
131
|
+
write_master_license_key
|
132
|
+
write_master_license_tier
|
141
133
|
@master_password_salt = master_password_salt
|
142
134
|
@master_encrypted_vault_key = encrypted_vault_key
|
143
135
|
true
|
@@ -188,10 +180,41 @@ module Adamantite
|
|
188
180
|
write_to_file(password_file('master_encrypted_vault_key'), master_vault_key, true)
|
189
181
|
end
|
190
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
|
+
|
191
191
|
def read_license_key!
|
192
|
-
return unless authenticated?
|
192
|
+
return unless authenticated? && has_license_key?
|
193
193
|
|
194
194
|
@master_license_key = @vault.decrypt(get_license_key)
|
195
|
+
@master_license_tier = @vault.decrypt(get_license_tier)
|
196
|
+
end
|
197
|
+
|
198
|
+
def get_license_info(license_key)
|
199
|
+
license_key = license_key.nil? ? @master_license_key : license_key
|
200
|
+
headers = {
|
201
|
+
'Content-Type': 'application/vnd.api+json',
|
202
|
+
'Accept': 'application/vnd.api+json'
|
203
|
+
}
|
204
|
+
body = {
|
205
|
+
'meta': {
|
206
|
+
'key': license_key,
|
207
|
+
'scope': {
|
208
|
+
'product': 'bb6542ab-7d74-44d0-b4f5-1fbc39cdeb99'
|
209
|
+
}
|
210
|
+
}
|
211
|
+
}
|
212
|
+
HTTParty.post(LICENSE_ACTIVATION_URL, headers: headers, body: body.to_json)
|
213
|
+
end
|
214
|
+
|
215
|
+
def license_tier(keygen_response)
|
216
|
+
free_tier = keygen_response['data']['attributes']['name'] == 'Adamantite Free'
|
217
|
+
free_tier ? 'free' : 'paid'
|
195
218
|
end
|
196
219
|
end
|
197
220
|
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
|