diff --git a/core/src/filter/ptree.rs b/core/src/filter/ptree.rs index d21bda7a..b0626881 100644 --- a/core/src/filter/ptree.rs +++ b/core/src/filter/ptree.rs @@ -1200,7 +1200,7 @@ impl PTree { impl fmt::Display for PTree { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "Tree {:?}\n,{}", &self.filter_layer, self.pprint())?; + write!(f, "Tree {:?}\n,{}", self.filter_layer, self.pprint())?; Ok(()) } } diff --git a/core/src/multicore/channel_dispatcher.rs b/core/src/multicore/channel_dispatcher.rs index ac28065c..b63ddf7c 100644 --- a/core/src/multicore/channel_dispatcher.rs +++ b/core/src/multicore/channel_dispatcher.rs @@ -143,7 +143,7 @@ impl ChannelDispatcher { match &mut *channels { Channels::PerCore(map) => { - for (_, (sender_result, _)) in map.iter_mut() { + for (sender_result, _) in map.values_mut() { *sender_result = None; } } diff --git a/core/src/protocols/stream/tls/parser.rs b/core/src/protocols/stream/tls/parser.rs index 6cf28251..2be1949f 100644 --- a/core/src/protocols/stream/tls/parser.rs +++ b/core/src/protocols/stream/tls/parser.rs @@ -368,7 +368,17 @@ impl Tls { } // update state machine - match tls_state_transition(self.state, msg, direction) { + // + // Note: `tls_state_transition` from the `tls-parser` crate + // doesn't handle the TLS 1.3 middlebox-compatibility ChangeCipherSpec + // transition (RFC 8446). + let transition = + if self.state == TlsState::ServerHello && matches!(msg, TlsMessage::ChangeCipherSpec) { + Ok(TlsState::ClientChangeCipherSpec) + } else { + tls_state_transition(self.state, msg, direction) + }; + match transition { Ok(s) => self.state = s, Err(_) => { self.state = TlsState::Invalid; diff --git a/core/src/runtime/online.rs b/core/src/runtime/online.rs index 82672352..c57ef853 100644 --- a/core/src/runtime/online.rs +++ b/core/src/runtime/online.rs @@ -74,7 +74,7 @@ where log::info!("Initializing RX Cores..."); let mut rx_cores: BTreeMap> = BTreeMap::new(); let mut core_map: BTreeMap> = BTreeMap::new(); - for (_port_id, port) in ports.iter() { + for port in ports.values() { for (rxqueue, core_id) in port.queue_map.iter() { core_map.entry(*core_id).or_default().push(*rxqueue); } @@ -107,7 +107,7 @@ where self.start_ports(); log::info!("Launching RX cores..."); - for (core_id, _rx_core) in self.rx_cores.iter() { + for core_id in self.rx_cores.keys() { let role = unsafe { dpdk::rte_eal_lcore_role(core_id.raw()) }; if role != dpdk::rte_lcore_role_t_ROLE_RTE { log::error!("Attempted to launch non-DPDK core");