From 6717c69475ca07aad477b58bedff8f9e909fcfce Mon Sep 17 00:00:00 2001 From: Sachymetsu Date: Sat, 30 May 2026 16:25:25 +0200 Subject: [PATCH] Add zeroize impls to Send/Recv states --- src/transport.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/transport.rs b/src/transport.rs index 9571fdf..505e55a 100644 --- a/src/transport.rs +++ b/src/transport.rs @@ -177,6 +177,20 @@ impl SendState<'_, S> { } } +impl zeroize::Zeroize for SendState<'_, S> { + fn zeroize(&mut self) { + self.counter.zeroize(); + } +} + +impl Drop for SendState<'_, S> { + fn drop(&mut self) { + zeroize::Zeroize::zeroize(self); + } +} + +impl zeroize::ZeroizeOnDrop for SendState<'_, S> {} + pub struct RecvState<'a, S: NekoSec> { transport: &'a AeadTransport, counter: u64, @@ -200,6 +214,20 @@ impl RecvState<'_, S> { } } +impl zeroize::Zeroize for RecvState<'_, S> { + fn zeroize(&mut self) { + self.counter.zeroize(); + } +} + +impl Drop for RecvState<'_, S> { + fn drop(&mut self) { + zeroize::Zeroize::zeroize(self); + } +} + +impl zeroize::ZeroizeOnDrop for RecvState<'_, S> {} + #[cfg(test)] mod tests { use wharrgarbl_neko::{Neko128, Neko256}; -- 2.51.2