enquo-core 0.2.0-aarch64-linux → 0.3.0-aarch64-linux
Sign up to get free protection for your applications and to get access to all the features.
- 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 +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbfd5f231408af0cfa36b7b2eaabe134356d9d2d4e429eedab0f67401bed6c0a
|
4
|
+
data.tar.gz: cc280385cc90257998b4b93a24e74f91c19f3e4cacae95aafe266609d582e565
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f062a7c0e60f5df87c7e8c0f417064fa28d9a726b8292840a902161d5eeb555e6dac221d155fe46f4823b34d636350e8bb608b2a3cd379190b0937bb5536f427
|
7
|
+
data.tar.gz: a2ab46fb08130389c7d26c54d220a977f6964585eddfa6db3221b4b7d6a114cce873426423761adf31cf8db61a081093a611a14b6d98ea7ccbf0dcaee724f4eb
|
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)
|