Remove unneeded generic-array dependency

This commit is contained in:
Steven Fackler 2019-12-23 16:12:28 -08:00
parent 7413ffb793
commit 75a67fd06b
2 changed files with 5 additions and 8 deletions

View File

@ -13,7 +13,6 @@ base64 = "0.11"
byteorder = "1.0"
bytes = "0.5"
fallible-iterator = "0.2"
generic-array = "0.13"
hmac = "0.7"
md5 = "0.7"
memchr = "2.0"

View File

@ -1,7 +1,5 @@
//! SASL-based authentication support.
use generic_array::typenum::U32;
use generic_array::GenericArray;
use hmac::{Hmac, Mac};
use rand::{self, Rng};
use sha2::{Digest, Sha256};
@ -33,13 +31,13 @@ fn normalize(pass: &[u8]) -> Vec<u8> {
}
}
fn hi(str: &[u8], salt: &[u8], i: u32) -> GenericArray<u8, U32> {
fn hi(str: &[u8], salt: &[u8], i: u32) -> [u8; 32] {
let mut hmac = Hmac::<Sha256>::new_varkey(str).expect("HMAC is able to accept all key sizes");
hmac.input(salt);
hmac.input(&[0, 0, 0, 1]);
let mut prev = hmac.result().code();
let mut hi = GenericArray::<u8, U32>::clone_from_slice(&prev);
let mut hi = prev;
for _ in 1..i {
let mut hmac = Hmac::<Sha256>::new_varkey(str).expect("already checked above");
@ -51,7 +49,7 @@ fn hi(str: &[u8], salt: &[u8], i: u32) -> GenericArray<u8, U32> {
}
}
hi
hi.into()
}
enum ChannelBindingInner {
@ -103,7 +101,7 @@ enum State {
channel_binding: ChannelBinding,
},
Finish {
salted_password: GenericArray<u8, U32>,
salted_password: [u8; 32],
auth_message: String,
},
Done,
@ -220,7 +218,7 @@ impl ScramSha256 {
hmac.input(auth_message.as_bytes());
let client_signature = hmac.result();
let mut client_proof = GenericArray::<u8, U32>::clone_from_slice(&client_key);
let mut client_proof = client_key;
for (proof, signature) in client_proof.iter_mut().zip(client_signature.code()) {
*proof ^= signature;
}