diff --git a/rosenpass/Cargo.toml b/rosenpass/Cargo.toml index e7a7fa4..62f2149 100644 --- a/rosenpass/Cargo.toml +++ b/rosenpass/Cargo.toml @@ -86,6 +86,7 @@ rustix = { workspace = true } [features] #default = ["experiment_libcrux_all"] +experiment_cookie_dos_mitigation = [] experiment_memfd_secret = ["rosenpass-wireguard-broker/experiment_memfd_secret"] experiment_libcrux_all = ["rosenpass-ciphers/experiment_libcrux_all"] experiment_libcrux_blake2 = ["rosenpass-ciphers/experiment_libcrux_blake2"] diff --git a/rosenpass/src/protocol/protocol.rs b/rosenpass/src/protocol/protocol.rs index 6352bf3..c23a9c8 100644 --- a/rosenpass/src/protocol/protocol.rs +++ b/rosenpass/src/protocol/protocol.rs @@ -2138,6 +2138,18 @@ impl CryptoServer { /// /// - test::cookie_reply_mechanism_responder_under_load /// - test::cookie_reply_mechanism_initiator_bails_on_message_under_load + #[cfg(not(feature = "experiment_cookie_dos_mitigation"))] + #[inline] + pub fn handle_msg_under_load( + &mut self, + rx_buf: &[u8], + tx_buf: &mut [u8], + host_identification: &H, + ) -> Result { + self.handle_msg(rx_buf, tx_buf) + } + + #[cfg(feature = "experiment_cookie_dos_mitigation")] pub fn handle_msg_under_load( &mut self, rx_buf: &[u8], @@ -4313,16 +4325,19 @@ mod test { #[test] #[serial] + #[cfg(feature = "experiment_cookie_dos_mitigation")] fn cookie_reply_mechanism_responder_under_load_v02() { cookie_reply_mechanism_initiator_bails_on_message_under_load(ProtocolVersion::V02) } #[test] #[serial] + #[cfg(feature = "experiment_cookie_dos_mitigation")] fn cookie_reply_mechanism_responder_under_load_v03() { cookie_reply_mechanism_initiator_bails_on_message_under_load(ProtocolVersion::V03) } + #[cfg(feature = "experiment_cookie_dos_mitigation")] fn cookie_reply_mechanism_responder_under_load(protocol_version: ProtocolVersion) { setup_logging(); rosenpass_secret_memory::secret_policy_try_use_memfd_secrets(); @@ -4420,16 +4435,19 @@ mod test { #[test] #[serial] + #[cfg(feature = "experiment_cookie_dos_mitigation")] fn cookie_reply_mechanism_initiator_bails_on_message_under_load_v02() { cookie_reply_mechanism_initiator_bails_on_message_under_load(ProtocolVersion::V02) } #[test] #[serial] + #[cfg(feature = "experiment_cookie_dos_mitigation")] fn cookie_reply_mechanism_initiator_bails_on_message_under_load_v03() { cookie_reply_mechanism_initiator_bails_on_message_under_load(ProtocolVersion::V03) } + #[cfg(feature = "experiment_cookie_dos_mitigation")] fn cookie_reply_mechanism_initiator_bails_on_message_under_load( protocol_version: ProtocolVersion, ) {