enquo-core 0.2.0-x86_64-linux → 0.2.0.1.g790fccd-x86_64-linux
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/ext/enquo/src/lib.rs +10 -4
- data/lib/2.7/enquo.so +0 -0
- data/lib/3.0/enquo.so +0 -0
- data/lib/3.1/enquo.so +0 -0
- data/lib/enquo/field.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 168e4ad255ea3c7b365c893543cac37ac753cf4afbaf6bfa8f58fbe161279b10
|
4
|
+
data.tar.gz: 31bca829ee8935e300351c7e2fe02def8890df0316de12224e2f595d7f4ce41b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7c8d854a87c6c0f673edd0543f9d66ea71dda616449abeb57e13db391bcf58f191c755a36b10f33e15dbb63dd23604e33b22c07f8d26f8f7effe4eabb6780b1
|
7
|
+
data.tar.gz: e4d186df9a9c1b2387f57e1d931d2122f2eaafbf07c33c0d7e7cc0dcbb7bda914b8c9c03d3760650a853b6d2764452c59de92bb998e28936d26aaa85b628be9e
|
data/ext/enquo/src/lib.rs
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
extern crate rutie;
|
3
3
|
|
4
4
|
use enquo_core::{Field, Root, I64};
|
5
|
-
use rutie::{
|
5
|
+
use rutie::{Class, Integer, Module, Object, RString, Symbol, VerifiedObject, VM};
|
6
6
|
|
7
7
|
class!(EnquoRoot);
|
8
8
|
class!(EnquoRootKeyStatic);
|
@@ -81,18 +81,24 @@ impl VerifiedObject for EnquoRootKeyStatic {
|
|
81
81
|
methods!(
|
82
82
|
EnquoField,
|
83
83
|
rbself,
|
84
|
-
fn enquo_field_encrypt_i64(value: Integer, context: RString,
|
84
|
+
fn enquo_field_encrypt_i64(value: Integer, context: RString, mode: Symbol) -> RString {
|
85
85
|
let i = value.unwrap().to_i64();
|
86
86
|
let field = rbself.get_data(&*FIELD_WRAPPER);
|
87
|
+
let r_mode = mode.unwrap();
|
88
|
+
let s_mode = r_mode.to_str();
|
87
89
|
|
88
|
-
let res = maybe_raise(
|
89
|
-
if
|
90
|
+
let mut res = maybe_raise(
|
91
|
+
if s_mode == "unsafe" {
|
90
92
|
I64::new_with_unsafe_parts(i, &context.unwrap().to_vec_u8_unchecked(), field)
|
91
93
|
} else {
|
92
94
|
I64::new(i, &context.unwrap().to_vec_u8_unchecked(), field)
|
93
95
|
},
|
94
96
|
"Failed to create encrypted i64",
|
95
97
|
);
|
98
|
+
if s_mode == "no_query" {
|
99
|
+
res.drop_ore_ciphertext();
|
100
|
+
}
|
101
|
+
|
96
102
|
RString::new_utf8(&serde_json::to_string(&res).unwrap())
|
97
103
|
},
|
98
104
|
fn enquo_field_decrypt_i64(ciphertext: RString, context: RString) -> Integer {
|
data/lib/2.7/enquo.so
CHANGED
Binary file
|
data/lib/3.0/enquo.so
CHANGED
Binary file
|
data/lib/3.1/enquo.so
CHANGED
Binary file
|
data/lib/enquo/field.rb
CHANGED
@@ -4,7 +4,7 @@ module Enquo
|
|
4
4
|
raise RuntimeError, "Enquo::Field cannot be instantiated directly; use Enquo::Crypto#field instead"
|
5
5
|
end
|
6
6
|
|
7
|
-
def encrypt_i64(i, ctx, safety:
|
7
|
+
def encrypt_i64(i, ctx, safety: true, no_query: false)
|
8
8
|
unless i.is_a?(Integer)
|
9
9
|
raise ArgumentError, "Enquo::Field#encrypt_i64 can only encrypt integers"
|
10
10
|
end
|
@@ -17,7 +17,7 @@ module Enquo
|
|
17
17
|
raise ArgumentError, "Encryption context must be a string (got a #{ctx.class})"
|
18
18
|
end
|
19
19
|
|
20
|
-
_encrypt_i64(i, ctx, safety == :unsafe)
|
20
|
+
_encrypt_i64(i, ctx, no_query ? :no_query : safety == :unsafe ? :unsafe : :default)
|
21
21
|
end
|
22
22
|
|
23
23
|
def decrypt_i64(data, ctx)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enquo-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.0
|
4
|
+
version: 0.2.0.1.g790fccd
|
5
5
|
platform: x86_64-linux
|
6
6
|
authors:
|
7
7
|
- Matt Palmer
|
@@ -193,9 +193,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
193
|
version: 3.2.dev
|
194
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
195
|
requirements:
|
196
|
-
- - "
|
196
|
+
- - ">"
|
197
197
|
- !ruby/object:Gem::Version
|
198
|
-
version:
|
198
|
+
version: 1.3.1
|
199
199
|
requirements: []
|
200
200
|
rubygems_version: 3.3.22
|
201
201
|
signing_key:
|