selfsdk 0.0.198 → 0.0.201
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/messages/base.rb +4 -0
- data/lib/messages/connection_request.rb +2 -0
- data/lib/messages/fact_issue.rb +3 -0
- data/lib/messages/fact_request.rb +3 -1
- data/lib/messages/fact_response.rb +0 -13
- data/lib/messaging.rb +25 -1
- data/lib/services/requester.rb +6 -5
- data/lib/sources.rb +6 -1
- metadata +30 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cb8631899d2a3a9bcd9d3dc58171fcdd6714de37995efe2984eaa1aa823e091
|
4
|
+
data.tar.gz: f0aa18f9e3eb660e1e644b261e271e36381a67a815fea054bc1a61a5826b63d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f05d3278b9c176e19af9ee0a08e162091e67a4ea452b700f894bab0fb33c81c29748733ce0fc7052516c75eadcfd45c77dcf653ee455f7258ced4d60ed8a415
|
7
|
+
data.tar.gz: 30e56bd392849869232b1997a09d1c98fa8d2a0b825ac30f166b32c97813437d2aefc1613a1c9701ff356814dee21d8cff9668cdae7ba6baeadbbb5db41708e0
|
data/lib/messages/base.rb
CHANGED
data/lib/messages/fact_issue.rb
CHANGED
@@ -57,6 +57,8 @@ module SelfSDK
|
|
57
57
|
m.sender = "#{@jwt.id}:#{@messaging.device_id}"
|
58
58
|
m.recipient = recipient
|
59
59
|
m.ciphertext = ciphertext
|
60
|
+
m.message_type = MSG_TYPE
|
61
|
+
m.priority = SelfSDK::Messages::PRIORITY_VISIBLE
|
60
62
|
m
|
61
63
|
end
|
62
64
|
|
@@ -84,6 +86,7 @@ module SelfSDK
|
|
84
86
|
sub: @to,
|
85
87
|
iss: @from,
|
86
88
|
iat: SelfSDK::Time.now.strftime('%FT%TZ'),
|
89
|
+
exp: (SelfSDK::Time.now + @exp_timeout).strftime('%FT%TZ'),
|
87
90
|
source: source,
|
88
91
|
verified: true,
|
89
92
|
facts: [ facts ] }
|
@@ -87,7 +87,7 @@ module SelfSDK
|
|
87
87
|
b = {
|
88
88
|
typ: MSG_TYPE,
|
89
89
|
iss: @jwt.id,
|
90
|
-
aud: @to,
|
90
|
+
aud: @intermediary ? @intermediary : @to,
|
91
91
|
sub: @to,
|
92
92
|
iat: SelfSDK::Time.now.strftime('%FT%TZ'),
|
93
93
|
exp: (SelfSDK::Time.now + @exp_timeout).strftime('%FT%TZ'),
|
@@ -119,6 +119,8 @@ module SelfSDK
|
|
119
119
|
m.sender = "#{@jwt.id}:#{@messaging.device_id}"
|
120
120
|
m.recipient = recipient
|
121
121
|
m.ciphertext = ciphertext
|
122
|
+
m.message_type = MSG_TYPE
|
123
|
+
m.priority = SelfSDK::Messages::PRIORITY_VISIBLE
|
122
124
|
m
|
123
125
|
end
|
124
126
|
end
|
@@ -92,19 +92,6 @@ module SelfSDK
|
|
92
92
|
def auth_response?
|
93
93
|
@auth == true
|
94
94
|
end
|
95
|
-
|
96
|
-
protected
|
97
|
-
|
98
|
-
def proto(to_device)
|
99
|
-
@to_device = to_device
|
100
|
-
Msgproto::Message.new(
|
101
|
-
type: Msgproto::MsgType::MSG,
|
102
|
-
id: SecureRandom.uuid,
|
103
|
-
sender: "#{@jwt.id}:#{@messaging.device_id}",
|
104
|
-
recipient: "#{@to}:#{@to_device}",
|
105
|
-
ciphertext: encrypt_message(@jwt.prepare(body), [{id: @to, device_id: @to_device}])
|
106
|
-
)
|
107
|
-
end
|
108
95
|
end
|
109
96
|
end
|
110
97
|
end
|
data/lib/messaging.rb
CHANGED
@@ -17,6 +17,23 @@ module SelfSDK
|
|
17
17
|
DEFAULT_STORAGE_DIR="./.self_storage"
|
18
18
|
ON_DEMAND_CLOSE_CODE=3999
|
19
19
|
|
20
|
+
PRIORITIES = {
|
21
|
+
"chat.invite": SelfSDK::Messages::PRIORITY_VISIBLE,
|
22
|
+
"chat.join": SelfSDK::Messages::PRIORITY_INVISIBLE,
|
23
|
+
"chat.message": SelfSDK::Messages::PRIORITY_VISIBLE,
|
24
|
+
"chat.message.delete": SelfSDK::Messages::PRIORITY_INVISIBLE,
|
25
|
+
"chat.message.delivered": SelfSDK::Messages::PRIORITY_INVISIBLE,
|
26
|
+
"chat.message.edit": SelfSDK::Messages::PRIORITY_INVISIBLE,
|
27
|
+
"chat.message.read": SelfSDK::Messages::PRIORITY_INVISIBLE,
|
28
|
+
"chat.remove": SelfSDK::Messages::PRIORITY_INVISIBLE,
|
29
|
+
"document.sign.req": SelfSDK::Messages::PRIORITY_VISIBLE,
|
30
|
+
"identities.authenticate.req": SelfSDK::Messages::PRIORITY_VISIBLE,
|
31
|
+
"identities.connections.req": SelfSDK::Messages::PRIORITY_VISIBLE,
|
32
|
+
"identities.facts.query.req": SelfSDK::Messages::PRIORITY_VISIBLE,
|
33
|
+
"identities.facts.issue": SelfSDK::Messages::PRIORITY_VISIBLE,
|
34
|
+
"identities.notify": SelfSDK::Messages::PRIORITY_VISIBLE
|
35
|
+
}
|
36
|
+
|
20
37
|
attr_accessor :client, :jwt, :device_id, :ack_timeout, :timeout, :type_observer, :uuid_observer, :encryption_client, :source
|
21
38
|
|
22
39
|
# RestClient initializer
|
@@ -87,7 +104,8 @@ module SelfSDK
|
|
87
104
|
m.id = SecureRandom.uuid
|
88
105
|
m.sender = "#{@jwt.id}:#{@device_id}"
|
89
106
|
m.recipient = "#{recipient}:#{recipient_device}"
|
90
|
-
|
107
|
+
m.message_type = "identities.facts.query.resp"
|
108
|
+
m.priority = select_priority(m.message_type)
|
91
109
|
m.ciphertext = @jwt.prepare(request)
|
92
110
|
|
93
111
|
send_message m
|
@@ -133,6 +151,8 @@ module SelfSDK
|
|
133
151
|
m.sender = current_device
|
134
152
|
m.recipient = "#{r[:id]}:#{r[:device_id]}"
|
135
153
|
m.ciphertext = ciphertext
|
154
|
+
m.message_type = r[:typ]
|
155
|
+
m.priority = select_priority(r[:typ])
|
136
156
|
|
137
157
|
SelfSDK.logger.info " -> to #{m.recipient}"
|
138
158
|
send_message m
|
@@ -514,5 +534,9 @@ module SelfSDK
|
|
514
534
|
end
|
515
535
|
|
516
536
|
end
|
537
|
+
|
538
|
+
def select_priority(mtype)
|
539
|
+
PRIORITIES[mtype] || SelfSDK::Messages::PRIORITY_VISIBLE
|
540
|
+
end
|
517
541
|
end
|
518
542
|
end
|
data/lib/services/requester.rb
CHANGED
@@ -166,17 +166,18 @@ module SelfSDK
|
|
166
166
|
def validate_fact!(f)
|
167
167
|
errInvalidFactToSource = 'provided source does not support given fact'
|
168
168
|
errInvalidSource = 'provided fact does not specify a valid source'
|
169
|
+
fact_name = f[:fact].to_s
|
169
170
|
|
170
|
-
raise 'provided fact does not specify a name' if
|
171
|
+
raise 'provided fact does not specify a name' if fact_name.empty?
|
171
172
|
return unless f.has_key? :sources
|
172
173
|
return if f.has_key? :issuers # skip the validation if is a custom fact
|
173
174
|
|
174
|
-
raise "invalid fact '#{
|
175
|
+
raise "invalid fact '#{fact_name}'" unless @messaging.source.core_fact?(fact_name)
|
175
176
|
|
176
|
-
spec = @messaging.sources
|
177
|
+
spec = @messaging.source.sources
|
177
178
|
f[:sources].each do |s|
|
178
|
-
raise errInvalidSource unless spec.key?(s)
|
179
|
-
raise errInvalidFactToSource unless spec[s].include?
|
179
|
+
raise errInvalidSource unless spec.key?(s.to_s)
|
180
|
+
raise errInvalidFactToSource unless spec[s.to_s].include? fact_name.to_s
|
180
181
|
end
|
181
182
|
end
|
182
183
|
end
|
data/lib/sources.rb
CHANGED
@@ -6,8 +6,9 @@ require "json"
|
|
6
6
|
require_relative "source_definition.rb"
|
7
7
|
|
8
8
|
module SelfSDK
|
9
|
-
attr_reader :sources, :facts
|
10
9
|
class Sources
|
10
|
+
attr_reader :sources, :facts
|
11
|
+
|
11
12
|
def initialize(sources_file)
|
12
13
|
@sources = SOURCE_DATA["sources"]
|
13
14
|
@facts = []
|
@@ -40,6 +41,10 @@ module SelfSDK
|
|
40
41
|
get(operators, input, "operator")
|
41
42
|
end
|
42
43
|
|
44
|
+
def core_fact?(fact)
|
45
|
+
@facts.include? fact.to_s
|
46
|
+
end
|
47
|
+
|
43
48
|
def message_type(s)
|
44
49
|
types = { fact_request: SelfSDK::Messages::FactRequest::MSG_TYPE,
|
45
50
|
fact_response: SelfSDK::Messages::FactResponse::MSG_TYPE,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selfsdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.201
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aldgate Ventures
|
@@ -184,14 +184,20 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
187
|
+
version: '2.3'
|
188
|
+
- - ">="
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 2.3.13
|
188
191
|
type: :development
|
189
192
|
prerelease: false
|
190
193
|
version_requirements: !ruby/object:Gem::Requirement
|
191
194
|
requirements:
|
192
195
|
- - "~>"
|
193
196
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
197
|
+
version: '2.3'
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 2.3.13
|
195
201
|
- !ruby/object:Gem::Dependency
|
196
202
|
name: minitest
|
197
203
|
requirement: !ruby/object:Gem::Requirement
|
@@ -318,6 +324,26 @@ dependencies:
|
|
318
324
|
- - ">="
|
319
325
|
- !ruby/object:Gem::Version
|
320
326
|
version: '0'
|
327
|
+
- !ruby/object:Gem::Dependency
|
328
|
+
name: rexml
|
329
|
+
requirement: !ruby/object:Gem::Requirement
|
330
|
+
requirements:
|
331
|
+
- - "~>"
|
332
|
+
- !ruby/object:Gem::Version
|
333
|
+
version: '3.2'
|
334
|
+
- - ">="
|
335
|
+
- !ruby/object:Gem::Version
|
336
|
+
version: 3.2.5
|
337
|
+
type: :development
|
338
|
+
prerelease: false
|
339
|
+
version_requirements: !ruby/object:Gem::Requirement
|
340
|
+
requirements:
|
341
|
+
- - "~>"
|
342
|
+
- !ruby/object:Gem::Version
|
343
|
+
version: '3.2'
|
344
|
+
- - ">="
|
345
|
+
- !ruby/object:Gem::Version
|
346
|
+
version: 3.2.5
|
321
347
|
description:
|
322
348
|
email:
|
323
349
|
executables: []
|
@@ -384,7 +410,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
384
410
|
- !ruby/object:Gem::Version
|
385
411
|
version: '0'
|
386
412
|
requirements: []
|
387
|
-
rubygems_version: 3.
|
413
|
+
rubygems_version: 3.1.6
|
388
414
|
signing_key:
|
389
415
|
specification_version: 4
|
390
416
|
summary: joinself sdk
|