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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25961892b7417177f6ee2fedc8a9485c818c6778fd046b24ed99939ccc9d3019
4
- data.tar.gz: 900a26185e08b33bb68136789d8b48262a924f42b7a74a51f04a916f388fb455
3
+ metadata.gz: 168e4ad255ea3c7b365c893543cac37ac753cf4afbaf6bfa8f58fbe161279b10
4
+ data.tar.gz: 31bca829ee8935e300351c7e2fe02def8890df0316de12224e2f595d7f4ce41b
5
5
  SHA512:
6
- metadata.gz: 77cf514f375bcfaf8eb105e374565d490fa2e144eeb6119b18c7e6fd7735a10a292b1c3743cfcabe5a1a555460d5622a4d2673dd5ae5ce9832f787ec0481867b
7
- data.tar.gz: aa394aa731752bb8f07cb6d2b27c51526f5087ea1086c0acc93ec2ebfae63ea329ecbf46433bb5445092ac048d1199a2f0335f11c7ce355f228fb92c27c4a25e
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::{Boolean, Class, Integer, Module, Object, RString, VerifiedObject, VM};
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, unsafe_parts: Boolean) -> 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 unsafe_parts.unwrap().to_bool() {
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: nil)
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: '0'
198
+ version: 1.3.1
199
199
  requirements: []
200
200
  rubygems_version: 3.3.22
201
201
  signing_key: