From 32d3d0955d15e2ac45755079cd7e2bb5cf815573 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Thu, 27 Nov 2025 15:39:36 +0100 Subject: [PATCH] fix(contact): ignore empty honeypot values even if String exists --- src/route/contact/errors.rs | 16 ++++++++++++---- src/route/contact/mod.rs | 4 +++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/route/contact/errors.rs b/src/route/contact/errors.rs index 7d80b79..dbe3be0 100644 --- a/src/route/contact/errors.rs +++ b/src/route/contact/errors.rs @@ -93,10 +93,14 @@ impl From for ContactError { return Self::ValidationNameError("backend.contact.errors.validation.name".to_owned()); } if validator::ValidationErrors::has_error(&Err(value.clone()), "email") { - return Self::ValidationEmailError("backend.contact.errors.validation.email".to_owned()); + return Self::ValidationEmailError( + "backend.contact.errors.validation.email".to_owned(), + ); } if validator::ValidationErrors::has_error(&Err(value), "message") { - return Self::ValidationMessageError("backend.contact.errors.validation.message".to_owned()); + return Self::ValidationMessageError( + "backend.contact.errors.validation.message".to_owned(), + ); } Self::ValidationError("backend.contact.errors.validation.other".to_owned()) } @@ -113,9 +117,13 @@ impl From for ContactResponse { success: false, message: match value { ContactError::CouldNotParseRequestEmailAddress(_) - | ContactError::ValidationEmailError(_) => "backend.contact.errors.validation.email", + | ContactError::ValidationEmailError(_) => { + "backend.contact.errors.validation.email" + } ContactError::ValidationNameError(_) => "backend.contact.errors.validation.name", - ContactError::ValidationMessageError(_) => "backend.contact.errors.validation.message", + ContactError::ValidationMessageError(_) => { + "backend.contact.errors.validation.message" + } ContactError::CouldNotParseSettingsEmail(_) | ContactError::FailedToBuildMessage(_) | ContactError::CouldNotSendEmail(_) diff --git a/src/route/contact/mod.rs b/src/route/contact/mod.rs index c5f67bd..ecc8f76 100644 --- a/src/route/contact/mod.rs +++ b/src/route/contact/mod.rs @@ -161,7 +161,9 @@ impl ContactApi { remote_addr: Option>, ) -> ContactApiResponse { let body = body.0; - if body.honeypot.is_some() { + if let Some(ref honeypot) = body.honeypot + && !honeypot.trim().is_empty() + { tracing::event!( target: "backend::contact", tracing::Level::INFO,