From 85c2a7ae55feed5a83d5880e2e97ea3f226596bb Mon Sep 17 00:00:00 2001 From: Deaths-Door Date: Sun, 1 Sep 2024 18:36:16 +0200 Subject: [PATCH 1/2] Derive Clone for MiniCocoon --- src/mini.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/mini.rs b/src/mini.rs index 23cdd4c..59135d6 100644 --- a/src/mini.rs +++ b/src/mini.rs @@ -21,6 +21,7 @@ use super::{ pub const MINI_PREFIX_SIZE: usize = MiniFormatPrefix::SERIALIZE_SIZE; /// This is a mini cocoon for a convenient and cool encryption. +#[derive(Clone)] pub struct MiniCocoon { key: Zeroizing<[u8; KEY_SIZE]>, rng: StdRng, @@ -449,6 +450,21 @@ mod test { MiniCocoon::from_key(&[1; 32], &[0; 32]); } + #[test] + fn mini_cocoon_clone() { + let mut cocoon = MiniCocoon::from_password(b"password", &[0; 32]); + let cloned_cocoon = cocoon.clone(); + const DATA : &'static [u8]= b"my-sercet-data"; + + // To check whether MiniCocoon gets cloned properly + let wrapped = cocoon.wrap(DATA).unwrap(); + drop(cocoon); + + let unwrapped = cloned_cocoon.unwrap(&wrapped).unwrap(); + assert_eq!(&unwrapped,DATA); + } + + #[test] fn mini_cocoon_encrypt() { let mut cocoon = MiniCocoon::from_password(b"password", &[0; 32]); From 5e1c2dda03b99b3d1ad7a1654f0af997b447b791 Mon Sep 17 00:00:00 2001 From: Deaths-Door Date: Sun, 1 Sep 2024 18:40:08 +0200 Subject: [PATCH 2/2] fix formatting --- src/mini.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mini.rs b/src/mini.rs index 59135d6..d049a18 100644 --- a/src/mini.rs +++ b/src/mini.rs @@ -454,17 +454,16 @@ mod test { fn mini_cocoon_clone() { let mut cocoon = MiniCocoon::from_password(b"password", &[0; 32]); let cloned_cocoon = cocoon.clone(); - const DATA : &'static [u8]= b"my-sercet-data"; + const DATA: &'static [u8] = b"my-sercet-data"; // To check whether MiniCocoon gets cloned properly let wrapped = cocoon.wrap(DATA).unwrap(); drop(cocoon); let unwrapped = cloned_cocoon.unwrap(&wrapped).unwrap(); - assert_eq!(&unwrapped,DATA); + assert_eq!(&unwrapped, DATA); } - #[test] fn mini_cocoon_encrypt() { let mut cocoon = MiniCocoon::from_password(b"password", &[0; 32]);