rb_mumble_protocol 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rb_mumble_protocol/src/lib.rs +18 -0
- data/lib/rb_mumble_protocol/version.rb +1 -1
- 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: 53a24a4721b3a21ec02c022b203db3f44935b89e45df558711a39cf76c390d27
|
4
|
+
data.tar.gz: 47fac63e468a754daafe67bd1c26516e5d3f99335c5527d8881922b2a90d99f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f182dc904194306a67f4d815b4373637b646b115fb5b61f2e51e2df47e8bfd6d44885e827ebbb86687b6cc81df18fc2dcb60301edd0359f49a8a30fad1c4a0cf
|
7
|
+
data.tar.gz: 0bcba759478da33bd4b289212c7025c6d5826f19a68eb20581c069c8ed19ace99878ce92ca5e762691d148ae1e1c71b40c25b348206399c21d4f6e85caa97140
|
@@ -110,6 +110,23 @@ impl CryptStateRef {
|
|
110
110
|
Self(RefCell::new(new_state))
|
111
111
|
}
|
112
112
|
|
113
|
+
pub fn set_decrypt_nonce(&self, nonce: Vec<u8>) -> Result<(), Error> {
|
114
|
+
match self.0.try_borrow_mut() {
|
115
|
+
Ok(mut ref_) => {
|
116
|
+
match &nonce.clone().try_into() {
|
117
|
+
Ok(array) => Ok(ref_.set_decrypt_nonce(array)),
|
118
|
+
Err(_e) => {
|
119
|
+
let msg = format!("Expected a Decrypt nonce of length {}", 16);
|
120
|
+
let err = Error::new(get_ruby().get_inner(&BASE_ERROR), msg);
|
121
|
+
|
122
|
+
Err(err)
|
123
|
+
}
|
124
|
+
}
|
125
|
+
},
|
126
|
+
Err(_e) => { Err(Error::new(get_ruby().get_inner(&BASE_ERROR), "borrow error")) }
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
113
130
|
pub fn key(&self) -> Result<Vec<u8>, Error> {
|
114
131
|
match self.0.try_borrow() {
|
115
132
|
Ok(ref_) => { Ok(ref_.get_key().to_vec()) },
|
@@ -191,6 +208,7 @@ fn init() -> Result<(), Error> {
|
|
191
208
|
class1.define_method("encrypt_nonce", method!(CryptStateRef::encrypt_nonce, 0))?;
|
192
209
|
class1.define_method("decrypt_nonce", method!(CryptStateRef::decrypt_nonce, 0))?;
|
193
210
|
class1.define_method("stats", method!(CryptStateRef::stats, 0))?;
|
211
|
+
class1.define_method("set_decrypt_nonce", method!(CryptStateRef::set_decrypt_nonce, 1))?;
|
194
212
|
|
195
213
|
class1.define_method("encrypt", method!(CryptStateRef::encrypt, 1))?;
|
196
214
|
class1.define_method("decrypt", method!(CryptStateRef::decrypt, 1))?;
|