From 4f1cc19f252e05985b0881b8e08be4c2f7be4729 Mon Sep 17 00:00:00 2001 From: Alice Akaki Date: Wed, 16 Apr 2025 17:15:54 -0400 Subject: [PATCH] mime/smtp: Change md5_result type from GenericArray to String --- rust/src/mime/smtp.rs | 8 ++++---- rust/src/mime/smtp_log.rs | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/rust/src/mime/smtp.rs b/rust/src/mime/smtp.rs index d53ff92dd0..5e7e478e9b 100644 --- a/rust/src/mime/smtp.rs +++ b/rust/src/mime/smtp.rs @@ -19,7 +19,6 @@ use super::mime; use crate::core::StreamingBufferConfig; use crate::filecontainer::FileContainer; use crate::utils::base64; -use digest::generic_array::{typenum::U16, GenericArray}; use digest::Digest; use digest::Update; use md5::Md5; @@ -92,7 +91,7 @@ pub struct MimeStateSMTP<'a> { sbcfg: *const StreamingBufferConfig, md5: md5::Md5, pub(crate) md5_state: MimeSmtpMd5State, - pub(crate) md5_result: GenericArray, + pub(crate) md5_result: String, } pub fn mime_smtp_state_init( @@ -116,7 +115,7 @@ pub fn mime_smtp_state_init( sbcfg, md5: Md5::new(), md5_state: MimeSmtpMd5State::MimeSmtpMd5Disabled, - md5_result: [0; 16].into(), + md5_result: String::new(), }; return Some(r); } @@ -638,7 +637,8 @@ pub unsafe extern "C" fn SCSmtpMimeParseLine( fn mime_smtp_complete(ctx: &mut MimeStateSMTP) { if ctx.md5_state == MimeSmtpMd5State::MimeSmtpMd5Started { ctx.md5_state = MimeSmtpMd5State::MimeSmtpMd5Completed; - ctx.md5_result = ctx.md5.finalize_reset(); + let hash = ctx.md5.finalize_reset(); + ctx.md5_result = format!("{:x}", hash); } // look for url in the last unfinished line mime_smtp_find_url_strings(ctx, b"\n"); diff --git a/rust/src/mime/smtp_log.rs b/rust/src/mime/smtp_log.rs index 7862a0661f..e7c5739b13 100644 --- a/rust/src/mime/smtp_log.rs +++ b/rust/src/mime/smtp_log.rs @@ -43,8 +43,7 @@ pub unsafe extern "C" fn SCMimeSmtpLogSubjectMd5( fn log_body_md5(js: &mut JsonBuilder, ctx: &MimeStateSMTP) -> Result<(), JsonError> { if ctx.md5_state == MimeSmtpMd5State::MimeSmtpMd5Completed { - let hash = format!("{:x}", ctx.md5_result); - js.set_string("body_md5", &hash)?; + js.set_string("body_md5", &ctx.md5_result)?; } return Ok(()); }