From 22f029064a31cb72c71fd43e8c17f75dfc3d9e03 Mon Sep 17 00:00:00 2001 From: Peter Farr Date: Mon, 11 Nov 2019 11:09:49 -0800 Subject: [PATCH] Added clonability for sha hash state. Useful for incremental hashing --- openssl-sys/src/sha.rs | 1 + openssl/src/sha.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/openssl-sys/src/sha.rs b/openssl-sys/src/sha.rs index a9e7b15c..2ad91f6f 100644 --- a/openssl-sys/src/sha.rs +++ b/openssl-sys/src/sha.rs @@ -5,6 +5,7 @@ pub type SHA_LONG = c_uint; pub const SHA_LBLOCK: c_int = 16; #[repr(C)] +#[derive(Clone)] pub struct SHA_CTX { pub h0: SHA_LONG, pub h1: SHA_LONG, diff --git a/openssl/src/sha.rs b/openssl/src/sha.rs index e3c4c2e8..dffadb90 100644 --- a/openssl/src/sha.rs +++ b/openssl/src/sha.rs @@ -110,6 +110,7 @@ pub fn sha512(data: &[u8]) -> [u8; 64] { /// /// SHA1 is known to be insecure - it should not be used unless required for /// compatibility with existing systems. +#[derive(Clone)] pub struct Sha1(ffi::SHA_CTX); impl Sha1 {