rb_mumble_protocol 0.1.0 → 0.1.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 +13 -4
- 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: '018b963b35ca6d2d984d41e36fccf3fca5462abbf440e35bf97fa024522b18c4'
|
4
|
+
data.tar.gz: a866d553b02c66764552b94b1e5328ba6f72702c053358cda933e2a39d0c6256
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fd9a9a1063dcb487e8e0a7dd0b0a2c2dcf39b48aecd046661eca1f0ce1b3a96ef228878b052ae0ae29f39d8cad40d80f6542a49b4c499422473507b06c95020
|
7
|
+
data.tar.gz: e4aebd2af6cfe8a78db205e4f535389515c99b3fa505c58b15f2ac6b0593089e1bd5bef506df7d1674fe8cad7c1f4441f4f77403fa0479c08e758afec9537eb9
|
@@ -1,6 +1,11 @@
|
|
1
1
|
use std::cell::RefCell;
|
2
2
|
|
3
|
-
use magnus::{
|
3
|
+
use magnus::{
|
4
|
+
class, define_module,
|
5
|
+
method, function, prelude::*,
|
6
|
+
Error, RHash,
|
7
|
+
value::{QTRUE, QFALSE}, Value
|
8
|
+
};
|
4
9
|
|
5
10
|
use bytes::BytesMut;
|
6
11
|
|
@@ -66,13 +71,17 @@ impl CryptStateRef {
|
|
66
71
|
buffer.to_vec()
|
67
72
|
}
|
68
73
|
|
69
|
-
pub fn decrypt(&self, encrypted: Vec<u8>) -> Vec<u8> {
|
74
|
+
pub fn decrypt(&self, encrypted: Vec<u8>) -> (Value, Vec<u8>) {
|
70
75
|
let mut buffer = BytesMut::new();
|
71
76
|
buffer.extend_from_slice(&encrypted);
|
72
77
|
|
73
|
-
self.0.try_borrow_mut().unwrap().decrypt(&mut buffer)
|
78
|
+
let result = self.0.try_borrow_mut().unwrap().decrypt(&mut buffer);
|
74
79
|
|
75
|
-
|
80
|
+
// TODO: raise error
|
81
|
+
match result {
|
82
|
+
Ok(_) => (*QTRUE, buffer.to_vec()),
|
83
|
+
Err(_) => (*QFALSE, vec![]),
|
84
|
+
}
|
76
85
|
}
|
77
86
|
}
|
78
87
|
|