enveloperb 0.0.0.1.ENOTAG-arm64-darwin → 0.1.4-arm64-darwin

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -28,7 +28,7 @@ At present, we provide native gems for:
28
28
  On these platforms, you can just install the `enveloperb` gem via your preferred method, and it should "just work".
29
29
  If it doesn't, please [report that as a bug](https://github.com/cipherstash/enveloperb/issues).
30
30
 
31
- For other platforms, you will need to install the source gem, which requires that you have Rust 1.57.0 or later installed.
31
+ For other platforms, you will need to install the source gem, which requires that you have Rust 1.31.0 or later installed.
32
32
  On ARM-based platforms, you must use Rust nightly, for SIMD intrinsics support.
33
33
 
34
34
  ## Installing from Git
data/enveloperb.gemspec CHANGED
@@ -7,7 +7,7 @@ end
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "enveloperb"
9
9
 
10
- s.version = ENV.fetch("GVB_VERSION_OVERRIDE") { GVB.version rescue "0.0.0.1.NOGVB" }
10
+ s.version = GVB.version rescue "0.0.0.1.NOGVB"
11
11
  s.date = GVB.date rescue Time.now.strftime("%Y-%m-%d")
12
12
 
13
13
  s.platform = Gem::Platform::RUBY
@@ -16,33 +16,21 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.authors = ["Matt Palmer"]
18
18
  s.email = ["matt@cipherstash.com"]
19
- s.homepage = "https://cipherstash.com"
19
+ s.homepage = "https://github.com/cipherstash/enveloperb"
20
20
 
21
21
  s.files = `git ls-files -z`.split("\0").reject { |f| f =~ /^(\.|G|spec|Rakefile)/ }
22
22
 
23
- s.extensions = ["ext/enveloperb/extconf.rb"]
23
+ s.extensions = ["ext/Rakefile"]
24
24
 
25
25
  s.required_ruby_version = ">= 2.7.0"
26
26
 
27
- s.metadata["homepage_uri"] = s.homepage
28
- s.metadata["source_code_uri"] = "https://github.com/cipherstash/enveloperb"
29
- s.metadata["changelog_uri"] = "https://github.com/cipherstash/enveloperb/releases"
30
- s.metadata["bug_tracker_uri"] = "https://github.com/cipherstash/enveloperb/issues"
31
- s.metadata["documentation_uri"] = "https://rubydoc.info/gems/enveloperb"
32
- s.metadata["mailing_list_uri"] = "https://discuss.cipherstash.com"
33
-
34
- unless ENV.key?("GVB_VERSION_OVERRIDE")
35
- s.add_runtime_dependency 'rb_sys', '~> 0.1'
36
- end
27
+ s.add_runtime_dependency 'fiddle', '~> 1.1'
37
28
 
38
29
  s.add_development_dependency 'bundler'
39
30
  s.add_development_dependency 'github-release'
40
31
  s.add_development_dependency 'guard-rspec'
41
- s.add_development_dependency 'rake', '~> 13.0'
42
- s.add_development_dependency 'rake-compiler', '~> 1.2'
43
- s.add_development_dependency 'rake-compiler-dock', '~> 1.2'
32
+ s.add_development_dependency 'rake', '~> 10.4', '>= 10.4.2'
44
33
  s.add_development_dependency 'rb-inotify', '~> 0.9'
45
- s.add_development_dependency 'rb_sys', '~> 0.1'
46
34
  s.add_development_dependency 'redcarpet'
47
35
  s.add_development_dependency 'rspec'
48
36
  s.add_development_dependency 'simplecov'
@@ -1,6 +1,8 @@
1
1
  module Enveloperb
2
2
  # An Enveloperb cryptography engine using an unprotected string as the wrapping key.
3
3
  #
4
+ # @note this class is not intended for general-purpose use.
5
+ #
4
6
  class Simple
5
7
  def self.new(k)
6
8
  unless k.is_a?(String) && k.encoding == Encoding::BINARY
data/lib/enveloperb.rb CHANGED
@@ -1,14 +1,12 @@
1
- module Enveloperb
2
- end
1
+ require "fiddle"
3
2
 
4
3
  begin
5
- RUBY_VERSION =~ /(\d+\.\d+)/
6
- require_relative "./#{$1}/enveloperb"
7
- rescue LoadError
4
+ Fiddle::Function.new(Fiddle.dlopen("#{__dir__}/#{RbConfig::CONFIG["ruby_version"]}/libenveloperb.#{RbConfig::CONFIG["SOEXT"]}")["Init_libenveloperb"], [], Fiddle::TYPE_VOIDP).call
5
+ rescue Fiddle::DLError
8
6
  begin
9
- require_relative "./enveloperb.#{RbConfig::CONFIG["DLEXT"]}"
10
- rescue LoadError
11
- raise LoadError, "Failed to load enveloperb.#{RbConfig::CONFIG["DLEXT"]}; either it hasn't been built, or was built incorrectly for your system"
7
+ Fiddle::Function.new(Fiddle.dlopen("#{__dir__}/libenveloperb.#{RbConfig::CONFIG["SOEXT"]}")["Init_libenveloperb"], [], Fiddle::TYPE_VOIDP).call
8
+ rescue Fiddle::DLError
9
+ raise LoadError, "Failed to initialize libenveloperb.#{RbConfig::CONFIG["SOEXT"]}; either it hasn't been built, or was built incorrectly for your system"
12
10
  end
13
11
  end
14
12
 
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enveloperb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.1.ENOTAG
4
+ version: 0.1.4
5
5
  platform: arm64-darwin
6
6
  authors:
7
7
  - Matt Palmer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-09 00:00:00.000000000 Z
11
+ date: 2022-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fiddle
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.1'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,42 +72,20 @@ dependencies:
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '13.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '13.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake-compiler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
75
+ version: '10.4'
76
+ - - ">="
74
77
  - !ruby/object:Gem::Version
75
- version: '1.2'
78
+ version: 10.4.2
76
79
  type: :development
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
80
83
  - - "~>"
81
84
  - !ruby/object:Gem::Version
82
- version: '1.2'
83
- - !ruby/object:Gem::Dependency
84
- name: rake-compiler-dock
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '1.2'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
85
+ version: '10.4'
86
+ - - ">="
95
87
  - !ruby/object:Gem::Version
96
- version: '1.2'
88
+ version: 10.4.2
97
89
  - !ruby/object:Gem::Dependency
98
90
  name: rb-inotify
99
91
  requirement: !ruby/object:Gem::Requirement
@@ -108,20 +100,6 @@ dependencies:
108
100
  - - "~>"
109
101
  - !ruby/object:Gem::Version
110
102
  version: '0.9'
111
- - !ruby/object:Gem::Dependency
112
- name: rb_sys
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.1'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '0.1'
125
103
  - !ruby/object:Gem::Dependency
126
104
  name: redcarpet
127
105
  requirement: !ruby/object:Gem::Requirement
@@ -178,60 +156,43 @@ dependencies:
178
156
  - - ">="
179
157
  - !ruby/object:Gem::Version
180
158
  version: '0'
181
- description:
159
+ description:
182
160
  email:
183
161
  - matt@cipherstash.com
184
162
  executables: []
185
163
  extensions: []
186
164
  extra_rdoc_files: []
187
165
  files:
188
- - CODEOWNERS
189
166
  - CODE_OF_CONDUCT.md
190
167
  - CONTRIBUTING.md
191
- - LICENSE
168
+ - LICENCE
192
169
  - README.md
193
170
  - enveloperb.gemspec
194
- - ext/enveloperb/.gitignore
195
- - ext/enveloperb/Cargo.lock
196
- - ext/enveloperb/Cargo.toml
197
- - ext/enveloperb/extconf.rb
198
- - ext/enveloperb/src/lib.rs
199
- - lib/2.7/enveloperb.bundle
200
- - lib/3.0/enveloperb.bundle
201
- - lib/3.1/enveloperb.bundle
171
+ - lib/2.7.0/libenveloperb.dylib
202
172
  - lib/enveloperb.rb
203
173
  - lib/enveloperb/awskms.rb
204
174
  - lib/enveloperb/encrypted_record.rb
205
175
  - lib/enveloperb/simple.rb
206
- homepage: https://cipherstash.com
176
+ homepage: https://github.com/cipherstash/enveloperb
207
177
  licenses: []
208
- metadata:
209
- homepage_uri: https://cipherstash.com
210
- source_code_uri: https://github.com/cipherstash/enveloperb
211
- changelog_uri: https://github.com/cipherstash/enveloperb/releases
212
- bug_tracker_uri: https://github.com/cipherstash/enveloperb/issues
213
- documentation_uri: https://rubydoc.info/gems/enveloperb
214
- mailing_list_uri: https://discuss.cipherstash.com
215
- post_install_message:
178
+ metadata: {}
179
+ post_install_message:
216
180
  rdoc_options: []
217
181
  require_paths:
218
182
  - lib
219
183
  required_ruby_version: !ruby/object:Gem::Requirement
220
184
  requirements:
221
- - - ">="
185
+ - - "~>"
222
186
  - !ruby/object:Gem::Version
223
- version: '2.7'
224
- - - "<"
225
- - !ruby/object:Gem::Version
226
- version: 3.2.dev
187
+ version: 2.7.0
227
188
  required_rubygems_version: !ruby/object:Gem::Requirement
228
189
  requirements:
229
- - - ">"
190
+ - - ">="
230
191
  - !ruby/object:Gem::Version
231
- version: 1.3.1
192
+ version: '0'
232
193
  requirements: []
233
- rubygems_version: 3.3.22
234
- signing_key:
194
+ rubygems_version: 3.1.6
195
+ signing_key:
235
196
  specification_version: 4
236
197
  summary: Ruby bindings for the envelopers envelope encryption library
237
198
  test_files: []
data/CODEOWNERS DELETED
@@ -1,2 +0,0 @@
1
- * @cipherstash/ruby
2
- *.rs @cipherstash/rust
data/LICENSE DELETED
@@ -1,124 +0,0 @@
1
- CipherStash Client Library Licence Agreement
2
-
3
- 0. Background
4
-
5
- This licence sets out the terms on which you are permitted to use client side
6
- components of software provided by CipherStash to query encrypted databases
7
- (CipherStash Client Software).The operation of the CipherStash Client Software
8
- is dependent on encryption keys generated by server software operated or
9
- licensed by CipherStash.
10
-
11
- 1. Definitions
12
-
13
- 1.1 In these terms the following terms have the following meanings:
14
- (a) Authorised Purpose in relation to the CipherStash Source Code has the
15
- meaning given to it in clause 2.4;
16
- (b) CipherStash Source Code means human readable code of the CipherStash
17
- Client Software;
18
- (c) CipherStash Executable means the machine executable code of the
19
- CipherStash Client Software as made available by CipherStash from
20
- time to time;
21
- (d) CipherStash Client Software has the meaning given to it in the
22
- Background;
23
- (e) Licensed Query means a query on a database that:
24
- (i) uses an encryption key generated by a key server operated or
25
- licensed by CipherStash for all encryption of the content of that
26
- query or of results returned in response to that query (excluding
27
- encryption in the transport layer for communications between
28
- servers); and
29
- (ii) uses a valid token provided by CipherStash in the course of
30
- acquiring the key referred to in the previous paragraph;
31
- (f) Your Applications means applications that you create that rely on any
32
- part of the CipherStash Client Software in the course of their
33
- operation.
34
- 1.2 In these terms, unless the context requires otherwise, references to:
35
- (a) encryption includes decryption;
36
- (b) keys are references to data used for encryption, not data indicating a
37
- row in a database table.
38
-
39
- 2. Grant of Licence
40
-
41
- 2.1 This licence permits you to do the following in relation to the CipherStash
42
- Client Software:
43
- (a) use the CipherStash Executables in the course of developing and testing
44
- Your Applications;
45
- (b) deploy and use copies of the CipherStash Executables for the purpose of
46
- executing Licensed Queries, including as part of one or more of Your
47
- Applications; and
48
- (c) use the CipherStash Source Code solely for an Authorised Purpose.
49
- 2.2 Subject to clause 2.4(c), you must not make any modifications to the
50
- CipherStash Client Software.
51
- 2.3 This licence specifically excludes any use of any part of the CipherStash
52
- Client Software to execute any queries other than Licensed Queries on any
53
- database.
54
- 2.4 CipherStash makes the CipherStash Source Code available for the sole purpose
55
- of allowing third parties to verify the operation, integrity and security
56
- of the CipherStash Client Software (Authorised Purpose). This licence
57
- permits you to do the following solely for an Authorised Purpose:
58
- (a) download and review the CipherStash Source Code;
59
- (b) build executable versions of the CipherStash Source Code to verify
60
- correspondence between it and its associated CipherStash Executable;
61
- (c) make configuration changes to the CipherStash Source Code solely to the
62
- extent necessary to build a working executable version under paragraph
63
- (b).
64
-
65
- 3. Warranties and Liability
66
-
67
- 3.1 To the extent permitted by law, CipherStash excludes all warranties,
68
- guarantees and conditions that would otherwise be implied into this
69
- agreement by law. Where CipherStash is not able to exclude such a warranty,
70
- guarantee or condition, CipherStash limits, to the extent permitted by law,
71
- its liability for a breach of that warranty, guarantee or condition to one
72
- or more of the following at its option:
73
- (a) in the case of goods, any one or more of the following:
74
- (i) the replacement of the goods or the supply of equivalent goods;
75
- (ii) the repair of the goods;
76
- (iii) the payment of the cost of replacing the goods or of acquiring
77
- equivalent goods;
78
- (iv) the payment of the cost of having the goods repaired; and
79
- (b) in the case of services:
80
- (i) the supplying of the services again; or
81
- (ii) the payment of the cost of having the services supplied again.
82
- 3.2 CipherStash has no liability to any person arising under or in relation to
83
- this agreement (whether in tort, contract, equity or otherwise) for any
84
- loss in the nature of consequential or economic loss. In particular,
85
- CipherStash has no liability to any person for any: lost profits; loss of
86
- savings, income or revenue; revenue not meeting targets or certain levels;
87
- uptime or availability of internet connectivity or of the ability of third
88
- parties to access a website, loss of opportunity; or loss of or corruption
89
- of data. The exclusions in this clause 3.2 apply even in respect of loss or
90
- damage that was foreseeable or about which either or both of the parties
91
- were aware was likely to arise.
92
-
93
- 4. Dispute Resolution
94
-
95
- 4.1 Prior to commencing any action in any court or any action in any other form
96
- of judicial or quasi-judicial forum you must comply with the requirements
97
- of this clause 4.
98
- 4.2 Where you believe there is a dispute between you and CipherStash in respect
99
- of a matter the subject of this agreement you must notify CipherStash in
100
- writing of the nature of that dispute and for a period of 120 days
101
- following CipherStash’s receipt of that notification, make reasonable
102
- attempts to resolve that dispute with CipherStash.
103
-
104
- 5. General and Interpretation
105
-
106
- 5.1 Except where expressly set out to the contrary, nothing in this agreement
107
- grants the Customer any rights over any intellectual property rights
108
- (including copyright, patents, and rights to the registration of such
109
- rights) held by CipherStash at any time.
110
- 5.2 No provision of this agreement may be construed against a party because
111
- that party drafted that term.
112
- 5.3 A waiver of rights under this agreement can only occur in writing signed by
113
- the party granting the waiver. Except to the extent set out in the waiver,
114
- a waiver is only effective in relation to the specific facts and rights set
115
- out in it and does not operate to waive any other rights or to waive the
116
- same rights in respect of different facts or circumstances.
117
- 5.4 Where a part of this agreement is held by a court to be illegal or
118
- otherwise unenforceable, and the unenforceability of that part does not
119
- substantially alter the character of the bargain that would have been in
120
- existence between the parties had that part been enforceable, that part is
121
- severed and the balance of this agreement will continue unaffected.
122
- 5.5 This contract is governed by the laws in force in the State of New South
123
- Wales, Australia. Each party submits to the non-exclusive jurisdiction of
124
- the courts of that State.
@@ -1,4 +0,0 @@
1
- /target
2
- # Cargo.lock is deliberately *not* ignored; despite *technically* being a
3
- # library package, it is not a Rust library that is built into other projects,
4
- # but rather a standalone binary object that should be built reproducibly.