tanker-core 2.26.0.alpha.2 → 2.26.0.alpha.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a02a6574cb69334df6878a6341e7e63f80ab79344524ad528b488d81fc8ba8fb
4
- data.tar.gz: 8e644c43bbe8cd986ffd8337c3ebe504534d605435d1cb7e8bf4aca6de3b24e2
3
+ metadata.gz: 0316a297c651c74a86046512790acc93584e255951dcf0d1f6a208795354131a
4
+ data.tar.gz: f42ecea9cefcaeac70ca467a5ee4719a0d2d552bdca3ed1e0d6c63f5cc200dc4
5
5
  SHA512:
6
- metadata.gz: 04ab68bb697d6e9974f80d31a55eb31fec942cbab4cb6dcd110507c3b0e5cd1aa9e93c22fe2b9f8b939965a58f0224f3573751d1093108004e89b4800e67b43c
7
- data.tar.gz: 6b286414a4881db854d3c23ed6db0ede4b45ac09488a3a5e0f996f00530ac32cf807ea5c79eded94dbc88860114e3c5c6c324b9d2c006c5298e80f7527e116c2
6
+ metadata.gz: e3a2d1b2463dacbd39e1235639d6a39de5fef31a308a461974cc7d5f6d64d85bb373c1449f83779c15a345f46101fc6f7757c73d2c2c278005a970cc9aef4e02
7
+ data.tar.gz: b732096c77a6b5c42ba1f7b5df0e9750f3ec4d85be62f1987c35e9ff0ec7f8648c3a49ab8db5afa03bb67bab22c23491a812e43a9e67827173d1bbea08e26ce5
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ffi'
4
+ require 'tanker/core/verification'
5
+ require 'tanker/c_tanker/c_string'
6
+
7
+ module Tanker
8
+ module CTanker
9
+ class CDatastoreOptions < FFI::Struct
10
+ layout :open, :pointer,
11
+ :close, :pointer,
12
+ :nuke, :pointer,
13
+ :put_serialized_device, :pointer,
14
+ :find_serialized_device, :pointer,
15
+ :put_cache_values, :pointer,
16
+ :find_cache_values, :pointer
17
+ end
18
+
19
+ class CHttpOptions < FFI::Struct
20
+ layout :send_request, :pointer,
21
+ :cancel_request, :pointer,
22
+ :data, :pointer
23
+ end
24
+ end
25
+ end
@@ -28,9 +28,9 @@ module Tanker
28
28
  decrypted_size = CTanker.tanker_decrypted_size(inbuf, data.bytesize).get.address
29
29
  outbuf = FFI::MemoryPointer.new(:char, decrypted_size)
30
30
 
31
- clear_size = CTanker.tanker_decrypt(@ctanker, outbuf, inbuf, data.bytesize).get.address
31
+ CTanker.tanker_decrypt(@ctanker, outbuf, inbuf, data.bytesize).get
32
32
 
33
- outbuf.read_string clear_size
33
+ outbuf.read_string decrypted_size
34
34
  end
35
35
 
36
36
  def decrypt_utf8(data)
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'ffi'
4
4
  require 'tanker/c_tanker/c_string'
5
+ require 'tanker/c_tanker/c_backends'
5
6
 
6
7
  module Tanker
7
8
  # Options that can be given when opening a Tanker session
@@ -9,26 +10,31 @@ module Tanker
9
10
  layout :version, :uint8,
10
11
  :app_id, :pointer,
11
12
  :url, :pointer,
12
- :writable_path, :pointer,
13
+ :persistent_path, :pointer,
14
+ :cache_path, :pointer,
13
15
  :sdk_type, :pointer,
14
- :sdk_version, :pointer
16
+ :sdk_version, :pointer,
17
+ :http_options, CTanker::CHttpOptions,
18
+ :datastore_options, CTanker::CDatastoreOptions
15
19
 
16
20
  SDK_TYPE = 'client-ruby'
17
21
  SDK_VERSION = CTanker.new_cstring Core::VERSION
18
22
 
19
- def initialize(app_id:, url: nil, sdk_type: SDK_TYPE, writable_path: nil)
23
+ def initialize(app_id:, url: nil, sdk_type: SDK_TYPE, persistent_path: nil, cache_path: nil)
20
24
  super()
21
25
 
22
26
  # NOTE: Instance variables are required to keep the CStrings alive
23
27
  @app_id = CTanker.new_cstring app_id
24
28
  @url = CTanker.new_cstring url
25
- @writable_path = CTanker.new_cstring writable_path
29
+ @persistent_path = CTanker.new_cstring persistent_path
30
+ @cache_path = CTanker.new_cstring cache_path
26
31
  @sdk_type = CTanker.new_cstring sdk_type
27
32
 
28
- self[:version] = 2
33
+ self[:version] = 4
29
34
  self[:app_id] = @app_id
30
35
  self[:url] = @url
31
- self[:writable_path] = @writable_path
36
+ self[:persistent_path] = @persistent_path
37
+ self[:cache_path] = @cache_path
32
38
  self[:sdk_type] = @sdk_type
33
39
  self[:sdk_version] = SDK_VERSION
34
40
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Tanker
4
4
  class Core
5
- VERSION = '2.26.0.alpha.2'
5
+ VERSION = '2.26.0.alpha.3'
6
6
 
7
7
  def self.native_version
8
8
  CTanker.tanker_version_string
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.26.0.alpha.2
4
+ version: 2.26.0.alpha.3
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-12-09 00:00:00.000000000 Z
11
+ date: 2022-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -140,6 +140,7 @@ files:
140
140
  - lib/tanker/admin/c_admin/c_app_descriptor.rb
141
141
  - lib/tanker/admin/c_admin/c_app_update_options.rb
142
142
  - lib/tanker/c_tanker.rb
143
+ - lib/tanker/c_tanker/c_backends.rb
143
144
  - lib/tanker/c_tanker/c_device_info.rb
144
145
  - lib/tanker/c_tanker/c_event.rb
145
146
  - lib/tanker/c_tanker/c_future.rb