Change summary
xmpp-parsers/Cargo.toml | 10 +++++-----
xmpp-parsers/src/caps.rs | 14 +++++++++-----
xmpp-parsers/src/ecaps2.rs | 14 +++++++++-----
3 files changed, 23 insertions(+), 15 deletions(-)
Detailed changes
@@ -17,11 +17,11 @@ edition = "2018"
minidom = "0.12.0"
jid = { version = "0.9", features = ["minidom"] }
base64 = "0.12"
-digest = "0.8"
-sha-1 = "0.8"
-sha2 = "0.8"
-sha3 = "0.8"
-blake2 = "0.8"
+digest = "0.9"
+sha-1 = "0.9"
+sha2 = "0.9"
+sha3 = "0.9"
+blake2 = "0.9"
chrono = "0.4.5"
[features]
@@ -12,7 +12,7 @@ use crate::presence::PresencePayload;
use crate::util::error::Error;
use crate::Element;
use blake2::VarBlake2b;
-use digest::{Digest, Input, VariableOutput};
+use digest::{Digest, Update, VariableOutput};
use sha1::Sha1;
use sha2::{Sha256, Sha512};
use sha3::{Sha3_256, Sha3_512};
@@ -190,13 +190,17 @@ pub fn hash_caps(data: &[u8], algo: Algo) -> Result<Hash, String> {
}
Algo::Blake2b_256 => {
let mut hasher = VarBlake2b::new(32).unwrap();
- hasher.input(data);
- hasher.vec_result()
+ hasher.update(data);
+ let mut vec = Vec::with_capacity(32);
+ hasher.finalize_variable(|slice| vec.extend_from_slice(slice));
+ vec
}
Algo::Blake2b_512 => {
let mut hasher = VarBlake2b::new(64).unwrap();
- hasher.input(data);
- hasher.vec_result()
+ hasher.update(data);
+ let mut vec = Vec::with_capacity(64);
+ hasher.finalize_variable(|slice| vec.extend_from_slice(slice));
+ vec
}
Algo::Unknown(algo) => return Err(format!("Unknown algorithm: {}.", algo)),
},
@@ -11,7 +11,7 @@ use crate::ns;
use crate::presence::PresencePayload;
use crate::util::error::Error;
use blake2::VarBlake2b;
-use digest::{Digest, Input, VariableOutput};
+use digest::{Digest, Update, VariableOutput};
use sha2::{Sha256, Sha512};
use sha3::{Sha3_256, Sha3_512};
@@ -147,13 +147,17 @@ pub fn hash_ecaps2(data: &[u8], algo: Algo) -> Result<Hash, Error> {
}
Algo::Blake2b_256 => {
let mut hasher = VarBlake2b::new(32).unwrap();
- hasher.input(data);
- hasher.vec_result()
+ hasher.update(data);
+ let mut vec = Vec::with_capacity(32);
+ hasher.finalize_variable(|slice| vec.extend_from_slice(slice));
+ vec
}
Algo::Blake2b_512 => {
let mut hasher = VarBlake2b::new(64).unwrap();
- hasher.input(data);
- hasher.vec_result()
+ hasher.update(data);
+ let mut vec = Vec::with_capacity(64);
+ hasher.finalize_variable(|slice| vec.extend_from_slice(slice));
+ vec
}
Algo::Sha_1 => return Err(Error::ParseError("Disabled algorithm sha-1: unsafe.")),
Algo::Unknown(_algo) => return Err(Error::ParseError("Unknown algorithm in ecaps2.")),