duse 0.0.4 → 0.0.6
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 +8 -8
- data/duse.gemspec +1 -1
- data/lib/duse/cli/account_confirm.rb +3 -6
- data/lib/duse/cli/api_command.rb +6 -3
- data/lib/duse/cli/command.rb +20 -0
- data/lib/duse/encryption.rb +2 -2
- data/lib/duse/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ODc4MDg1YmQ3NTU5OGI3NmQwYTk0ZjQxNTk2NjIyY2I1OTc2MDg4ZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MWQ1ZjI5ODhjMmZjZTdhYmQ1ZGNjODMzYWFlMWRmNTllYjFjZDc2Nw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTQyMjE2Y2QwZjk0YTlmZDNmZTQyYjc2MTUwNGFjYjY0NDM3ZTk3OGE2ZWFh
|
10
|
+
YjA3Mzk1NTAxYWMwNTU1YjQzNTMzYTAyMWIwMjhjNTVlMzIwOWU4YjY0OWI1
|
11
|
+
M2Q2MjA3ZmE3YWJhZjdjMDUyZDY0MjJjZWI1MmM5YzIxMzhjNmI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YjBjMjNhYTM5NjMwNmVmYzVhMDAyM2Y1MWFiYTI1Y2Y0ZjQ3ODdiNTYzMDc2
|
14
|
+
ZDdlYzU4NmRhODVmOWEwNDVhZmZhOTEzMmM3ZTgwYWIwZGE1MmNhZjdkNDI2
|
15
|
+
OTA0ZWE5NjNlNTVjYzI3ZmEzMDRlODgxMzU0MWIyMTYzODEwZmY=
|
data/duse.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.files = `git ls-files -z`.split("\x0")
|
17
17
|
|
18
18
|
s.add_runtime_dependency 'highline'
|
19
|
-
s.add_runtime_dependency 'secret_sharing'
|
19
|
+
s.add_runtime_dependency 'secret_sharing', '>= 0.0.5'
|
20
20
|
s.add_runtime_dependency 'faraday'
|
21
21
|
s.add_runtime_dependency 'faraday_middleware'
|
22
22
|
end
|
@@ -3,15 +3,12 @@ require 'duse/cli'
|
|
3
3
|
module Duse
|
4
4
|
module CLI
|
5
5
|
class AccountConfirm < ApiCommand
|
6
|
-
description 'confirm your account'
|
6
|
+
description 'confirm your account with a token sent to your email'
|
7
7
|
|
8
8
|
skip :authenticate
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
def run
|
13
|
-
self.token ||= terminal.ask("A confirmation email has been sent. A confirmation token was mentioned in it, please provide that token below.\n\ntoken: ")
|
14
|
-
Duse::User.confirm(self.token)
|
10
|
+
def run(token)
|
11
|
+
Duse::User.confirm(token)
|
15
12
|
success 'Account successfully confirmed.'
|
16
13
|
rescue Duse::Client::NotFound
|
17
14
|
error 'Token is either not valid or has already been used.'
|
data/lib/duse/cli/api_command.rb
CHANGED
@@ -6,9 +6,7 @@ module Duse
|
|
6
6
|
abstract
|
7
7
|
|
8
8
|
def execute
|
9
|
-
|
10
|
-
authenticate
|
11
|
-
run *arguments
|
9
|
+
super
|
12
10
|
rescue Duse::Client::NotLoggedIn
|
13
11
|
error "not logged in, run `#$0 login`"
|
14
12
|
rescue Duse::Client::Error => e
|
@@ -19,6 +17,11 @@ module Duse
|
|
19
17
|
say "\naborted!"
|
20
18
|
end
|
21
19
|
|
20
|
+
def setup
|
21
|
+
ensure_uri_is_set
|
22
|
+
authenticate
|
23
|
+
end
|
24
|
+
|
22
25
|
private
|
23
26
|
|
24
27
|
def ensure_uri_is_set
|
data/lib/duse/cli/command.rb
CHANGED
@@ -41,11 +41,16 @@ module Duse
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def execute
|
44
|
+
check_arity(method(:run), *arguments)
|
45
|
+
setup
|
44
46
|
run *arguments
|
45
47
|
rescue Interrupt
|
46
48
|
say "\naborted!"
|
47
49
|
end
|
48
50
|
|
51
|
+
def setup
|
52
|
+
end
|
53
|
+
|
49
54
|
def output=(io)
|
50
55
|
@terminal = nil
|
51
56
|
@output = io
|
@@ -197,6 +202,21 @@ module Duse
|
|
197
202
|
end
|
198
203
|
usage << " [OPTIONS]"
|
199
204
|
end
|
205
|
+
|
206
|
+
def check_arity(method, *args)
|
207
|
+
return unless method.respond_to? :parameters
|
208
|
+
method.parameters.each do |type, name|
|
209
|
+
return if type == :rest
|
210
|
+
wrong_args("few") unless args.shift or type == :opt or type == :block
|
211
|
+
end
|
212
|
+
wrong_args("many") if args.any?
|
213
|
+
end
|
214
|
+
|
215
|
+
def wrong_args(quantity)
|
216
|
+
error "too #{quantity} arguments" do
|
217
|
+
say help
|
218
|
+
end
|
219
|
+
end
|
200
220
|
end
|
201
221
|
end
|
202
222
|
end
|
data/lib/duse/encryption.rb
CHANGED
@@ -92,7 +92,7 @@ module Duse
|
|
92
92
|
end
|
93
93
|
|
94
94
|
def encrypt_symmetric_key(symmetric_key, users, private_key)
|
95
|
-
raw_shares = SecretSharing.
|
95
|
+
raw_shares = SecretSharing.split(symmetric_key, 2, users.length)
|
96
96
|
users.map.with_index do |user, index|
|
97
97
|
share = raw_shares[index]
|
98
98
|
content, signature = Encryption::Asymmetric.encrypt(private_key, user.public_key, share)
|
@@ -104,7 +104,7 @@ module Duse
|
|
104
104
|
raw_shares = shares.map do |share|
|
105
105
|
Encryption::Asymmetric.decrypt private_key, share
|
106
106
|
end
|
107
|
-
SecretSharing.
|
107
|
+
SecretSharing.reconstruct(raw_shares)
|
108
108
|
end
|
109
109
|
end
|
110
110
|
end
|
data/lib/duse/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: duse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Frederic Branczyk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.0.5
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ! '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.0.5
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: faraday
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|