tanker-core 2.23.0 → 2.24.0.beta.1
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/tanker/admin/c_admin/c_app_update_options.rb +12 -4
- data/lib/tanker/c_tanker/c_verification.rb +15 -3
- data/lib/tanker/c_tanker/c_verification_method.rb +7 -1
- data/lib/tanker/core/verification.rb +24 -0
- data/lib/tanker/core/verification_method.rb +26 -0
- data/lib/tanker/core/version.rb +1 -1
- data/vendor/tanker/darwin-aarch64/libctanker.dylib +0 -0
- data/vendor/tanker/darwin-x86_64/libctanker.dylib +0 -0
- data/vendor/tanker/linux-x86_64/libctanker.so +0 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ee3258f86f9cbc29b2335ce81e0729df5e800eee69f3bf7594a9267b76f86c7
|
4
|
+
data.tar.gz: 57447098a3f2b7c78e1dcfe7062c473ea232e3516fabae19c0ceb2cdbfa4adc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3984bf2d0a25a740ed3511767e8a82bcd760877a11809fc89178def8331e12fb4a4ee97be28b7a74933e7d3d8b7a205814dc79af9b24cd8b45c3003e26207c4
|
7
|
+
data.tar.gz: 5b5a232378da52f0ff40b083bb40339ef617c99f34b5acb7747f15c65cf2d64a72a5814f125d8a1497eebd8867040084151a6ad8399f9b76d31860a7a14d2b3f
|
@@ -6,9 +6,10 @@ require 'tanker/c_tanker/c_string'
|
|
6
6
|
module Tanker
|
7
7
|
class Admin
|
8
8
|
class AppUpdateOptions < FFI::Struct
|
9
|
-
def initialize(oidc_client_id: nil, oidc_client_provider: nil,
|
9
|
+
def initialize(oidc_client_id: nil, oidc_client_provider: nil,
|
10
|
+
session_certificates: nil, preverified_verification: nil)
|
10
11
|
super()
|
11
|
-
self[:version] =
|
12
|
+
self[:version] = 2
|
12
13
|
unless oidc_client_id.nil?
|
13
14
|
@oidc_client_id = CTanker.new_cstring oidc_client_id
|
14
15
|
self[:oidc_client_id] = @oidc_client_id
|
@@ -17,18 +18,25 @@ module Tanker
|
|
17
18
|
@oidc_client_provider = CTanker.new_cstring oidc_client_provider
|
18
19
|
self[:oidc_client_provider] = @oidc_client_provider
|
19
20
|
end
|
20
|
-
unless session_certificates.nil?
|
21
|
+
unless session_certificates.nil?
|
21
22
|
boolptr = FFI::MemoryPointer.new(:bool, 1)
|
22
23
|
boolptr.put(:bool, 0, session_certificates)
|
23
24
|
@session_certificates = boolptr
|
24
25
|
self[:session_certificates] = @session_certificates
|
25
26
|
end
|
27
|
+
unless preverified_verification.nil? # rubocop:disable Style/GuardClause no different than the other parameters
|
28
|
+
boolptr = FFI::MemoryPointer.new(:bool, 1)
|
29
|
+
boolptr.put(:bool, 0, preverified_verification)
|
30
|
+
@preverified_verification = boolptr
|
31
|
+
self[:preverified_verification] = @preverified_verification
|
32
|
+
end
|
26
33
|
end
|
27
34
|
|
28
35
|
layout :version, :uint8,
|
29
36
|
:oidc_client_id, :pointer,
|
30
37
|
:oidc_client_provider, :pointer,
|
31
|
-
:session_certificates, :pointer
|
38
|
+
:session_certificates, :pointer,
|
39
|
+
:preverified_verification, :pointer
|
32
40
|
end
|
33
41
|
end
|
34
42
|
end
|
@@ -49,15 +49,19 @@ module Tanker
|
|
49
49
|
:email_verification, CEmailVerification,
|
50
50
|
:passphrase, :pointer,
|
51
51
|
:oidc_id_token, :pointer,
|
52
|
-
:phone_number_verification, CPhoneNumberVerification
|
52
|
+
:phone_number_verification, CPhoneNumberVerification,
|
53
|
+
:preverified_email, :pointer,
|
54
|
+
:preverified_phone_number, :pointer
|
53
55
|
|
54
56
|
TYPE_EMAIL = 1
|
55
57
|
TYPE_PASSPHRASE = 2
|
56
58
|
TYPE_VERIFICATION_KEY = 3
|
57
59
|
TYPE_OIDC_ID_TOKEN = 4
|
58
60
|
TYPE_PHONE_NUMBER = 5
|
61
|
+
TYPE_PREVERIFIED_EMAIL = 6
|
62
|
+
TYPE_PREVERIFIED_PHONE_NUMBER = 7
|
59
63
|
|
60
|
-
def initialize(verification)
|
64
|
+
def initialize(verification) # rubocop:disable Metrics/CyclomaticComplexity Not relevant for a case/when
|
61
65
|
super()
|
62
66
|
|
63
67
|
unless verification.is_a? Tanker::Verification
|
@@ -85,11 +89,19 @@ module Tanker
|
|
85
89
|
self[:type] = TYPE_PHONE_NUMBER
|
86
90
|
self[:phone_number_verification] =
|
87
91
|
CPhoneNumberVerification.new verification.phone_number, verification.verification_code
|
92
|
+
when Tanker::PreverifiedEmailVerification
|
93
|
+
@preverified_email = CTanker.new_cstring verification.preverified_email
|
94
|
+
self[:type] = TYPE_PREVERIFIED_EMAIL
|
95
|
+
self[:preverified_email] = @preverified_email
|
96
|
+
when Tanker::PreverifiedPhoneNumberVerification
|
97
|
+
@preverified_phone_number = CTanker.new_cstring verification.preverified_phone_number
|
98
|
+
self[:type] = TYPE_PREVERIFIED_PHONE_NUMBER
|
99
|
+
self[:preverified_phone_number] = @preverified_phone_number
|
88
100
|
else
|
89
101
|
raise ArgumentError, 'Unknown Tanker::Verification type!'
|
90
102
|
end
|
91
103
|
|
92
|
-
self[:version] =
|
104
|
+
self[:version] = 5
|
93
105
|
end
|
94
106
|
end
|
95
107
|
end
|
@@ -16,8 +16,10 @@ module Tanker
|
|
16
16
|
TYPE_VERIFICATION_KEY = 3
|
17
17
|
TYPE_OIDC_ID_TOKEN = 4
|
18
18
|
TYPE_PHONE_NUMBER = 5
|
19
|
+
TYPE_PREVERIFIED_EMAIL = 6
|
20
|
+
TYPE_PREVERIFIED_PHONE_NUMBER = 7
|
19
21
|
|
20
|
-
def to_verification_method
|
22
|
+
def to_verification_method # rubocop:disable Metrics/CyclomaticComplexity Not relevant for a case/when
|
21
23
|
case self[:type]
|
22
24
|
when TYPE_EMAIL
|
23
25
|
EmailVerificationMethod.new(self[:value].read_string.force_encoding(Encoding::UTF_8))
|
@@ -29,6 +31,10 @@ module Tanker
|
|
29
31
|
OIDCIDTokenVerificationMethod.new
|
30
32
|
when TYPE_PHONE_NUMBER
|
31
33
|
PhoneNumberVerificationMethod.new(self[:value].read_string.force_encoding(Encoding::UTF_8))
|
34
|
+
when TYPE_PREVERIFIED_EMAIL
|
35
|
+
PreverifiedEmailVerificationMethod.new(self[:value].read_string.force_encoding(Encoding::UTF_8))
|
36
|
+
when TYPE_PREVERIFIED_PHONE_NUMBER
|
37
|
+
PreverifiedPhoneNumberVerificationMethod.new(self[:value].read_string.force_encoding(Encoding::UTF_8))
|
32
38
|
else
|
33
39
|
raise "Unknown VerificationMethod type #{self[:type]}!"
|
34
40
|
end
|
@@ -69,4 +69,28 @@ module Tanker
|
|
69
69
|
@verification_code = verif_code
|
70
70
|
end
|
71
71
|
end
|
72
|
+
|
73
|
+
class PreverifiedEmailVerification < Verification
|
74
|
+
attr_reader :preverified_email
|
75
|
+
|
76
|
+
def initialize(preverified_email)
|
77
|
+
super()
|
78
|
+
|
79
|
+
ASSERT_UTF8.call(preverified_email)
|
80
|
+
|
81
|
+
@preverified_email = preverified_email
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
class PreverifiedPhoneNumberVerification < Verification
|
86
|
+
attr_reader :preverified_phone_number
|
87
|
+
|
88
|
+
def initialize(preverified_phone_number)
|
89
|
+
super()
|
90
|
+
|
91
|
+
ASSERT_UTF8.call(preverified_phone_number)
|
92
|
+
|
93
|
+
@preverified_phone_number = preverified_phone_number
|
94
|
+
end
|
95
|
+
end
|
72
96
|
end
|
@@ -38,4 +38,30 @@ module Tanker
|
|
38
38
|
super && phone_number == other.phone_number
|
39
39
|
end
|
40
40
|
end
|
41
|
+
|
42
|
+
class PreverifiedEmailVerificationMethod < VerificationMethod
|
43
|
+
attr_reader :preverified_email
|
44
|
+
|
45
|
+
def initialize(preverified_email)
|
46
|
+
super()
|
47
|
+
@preverified_email = preverified_email
|
48
|
+
end
|
49
|
+
|
50
|
+
def ==(other)
|
51
|
+
super && preverified_email == other.preverified_email
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
class PreverifiedPhoneNumberVerificationMethod < VerificationMethod
|
56
|
+
attr_reader :preverified_phone_number
|
57
|
+
|
58
|
+
def initialize(preverified_phone_number)
|
59
|
+
super()
|
60
|
+
@preverified_phone_number = preverified_phone_number
|
61
|
+
end
|
62
|
+
|
63
|
+
def ==(other)
|
64
|
+
super && preverified_phone_number == other.preverified_phone_number
|
65
|
+
end
|
66
|
+
end
|
41
67
|
end
|
data/lib/tanker/core/version.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tanker-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.24.0.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tanker team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -187,9 +187,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
187
187
|
version: 2.6.0
|
188
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
189
|
requirements:
|
190
|
-
- - "
|
190
|
+
- - ">"
|
191
191
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
192
|
+
version: 1.3.1
|
193
193
|
requirements: []
|
194
194
|
rubygems_version: 3.0.3.1
|
195
195
|
signing_key:
|