From b5d1e6a93ff85e41b2ab0ba4d5732ec1308fa13d Mon Sep 17 00:00:00 2001 From: benedettadavico Date: Fri, 23 Jan 2026 17:24:48 +0100 Subject: [PATCH] ack fix --- common/nymsphinx/framing/src/processing.rs | 35 ++++++++-------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/common/nymsphinx/framing/src/processing.rs b/common/nymsphinx/framing/src/processing.rs index e482ad1927..afaba392dd 100644 --- a/common/nymsphinx/framing/src/processing.rs +++ b/common/nymsphinx/framing/src/processing.rs @@ -14,7 +14,7 @@ use nym_sphinx_types::{ }; use std::fmt::Display; use thiserror::Error; -use tracing::{debug, trace}; +use tracing::{debug, info, trace}; #[derive(Debug)] pub enum MixProcessingResultData { @@ -364,28 +364,17 @@ fn split_into_ack_and_message( | PacketSize::ExtendedPacket32 | PacketSize::OutfoxRegularPacket => { trace!("received a normal packet!"); - cfg_if::cfg_if! { - if #[cfg(feature = "no-mix-acks")] { - let _ = packet_type; - let _ = key_rotation; - - // AIDEV-NOTE: When no-mix-acks is enabled, skip ack extraction entirely. - // The full payload (including ack portion) is returned as the message. - Ok((None, data)) - } else { - let (ack_data, message) = split_hop_data_into_ack_and_message(data, packet_type)?; - let (ack_first_hop, ack_packet) = - match SurbAck::try_recover_first_hop_packet(&ack_data, packet_type) { - Ok((first_hop, packet)) => (first_hop, packet), - Err(err) => { - tracing::info!("Failed to recover first hop from ack data: {err}"); - return Err(err.into()); - } - }; - let forward_ack = MixPacket::new(ack_first_hop, ack_packet, packet_type, key_rotation); - Ok((Some(forward_ack), message)) - } - } + let (ack_data, message) = split_hop_data_into_ack_and_message(data, packet_type)?; + let (ack_first_hop, ack_packet) = + match SurbAck::try_recover_first_hop_packet(&ack_data, packet_type) { + Ok((first_hop, packet)) => (first_hop, packet), + Err(err) => { + info!("Failed to recover first hop from ack data: {err}"); + return Err(err.into()); + } + }; + let forward_ack = MixPacket::new(ack_first_hop, ack_packet, packet_type, key_rotation); + Ok((Some(forward_ack), message)) } } }