xmpp-parsers: Bump RustCrypto crates

Emmanuel Gil Peyrot created

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

xmpp-parsers/Cargo.toml 🔗

@@ -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]

xmpp-parsers/src/caps.rs 🔗

@@ -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)),
         },

xmpp-parsers/src/ecaps2.rs 🔗

@@ -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.")),