From ac3a20b6e06bf02a850be40385d6d624bcec439d Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Fri, 20 Aug 2021 11:11:23 -0600 Subject: [PATCH] rust(lint): remove useless conversions and clones These add complexity and may not be optimized out by the compiler. --- rust/src/applayertemplate/template.rs | 2 +- rust/src/modbus/detect.rs | 62 +++++++++++++-------------- rust/src/mqtt/mqtt.rs | 4 +- rust/src/snmp/snmp.rs | 6 +-- 4 files changed, 35 insertions(+), 39 deletions(-) diff --git a/rust/src/applayertemplate/template.rs b/rust/src/applayertemplate/template.rs index 25482cc4d4..8524061b23 100644 --- a/rust/src/applayertemplate/template.rs +++ b/rust/src/applayertemplate/template.rs @@ -372,7 +372,7 @@ pub unsafe extern "C" fn rs_template_parse_response( AppLayerResult::ok() } else { let buf = build_slice!(input, input_len as usize); - state.parse_response(buf).into() + state.parse_response(buf) } } diff --git a/rust/src/modbus/detect.rs b/rust/src/modbus/detect.rs index 44d8731612..50ff91bad4 100644 --- a/rust/src/modbus/detect.rs +++ b/rust/src/modbus/detect.rs @@ -522,7 +522,7 @@ mod test { assert_eq!( parse_access("access read discretes"), Ok(DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::DISCRETES)), + access_type: Some((AccessType::READ | AccessType::DISCRETES)), ..Default::default() }) ); @@ -537,7 +537,7 @@ mod test { assert_eq!( parse_access("access write coils, address <500"), Ok(DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::COILS)), + access_type: Some((AccessType::WRITE | AccessType::COILS)), address: Some(std::u16::MIN..500), ..Default::default() }) @@ -545,7 +545,7 @@ mod test { assert_eq!( parse_access("access write coils, address >500"), Ok(DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::COILS)), + access_type: Some((AccessType::WRITE | AccessType::COILS)), address: Some(500..std::u16::MAX), ..Default::default() }) @@ -553,7 +553,7 @@ mod test { assert_eq!( parse_access("access write holding, address 100, value <1000"), Ok(DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(100..100), value: Some(std::u16::MIN..1000), ..Default::default() @@ -562,7 +562,7 @@ mod test { assert_eq!( parse_access("access write holding, address 100, value 500<>1000"), Ok(DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(100..100), value: Some(500..1000), ..Default::default() @@ -661,7 +661,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(15..15), value: Some(std::u16::MIN..4660), ..Default::default() @@ -674,7 +674,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(15..15), value: Some(4661..4661), ..Default::default() @@ -687,7 +687,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(16..16), value: Some(20000..22136), ..Default::default() @@ -700,7 +700,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(16..16), value: Some(22136..30000), ..Default::default() @@ -713,7 +713,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(15..15), value: Some(4660..std::u16::MAX), ..Default::default() @@ -726,7 +726,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(16..16), value: Some(std::u16::MIN..22137), ..Default::default() @@ -739,7 +739,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(16..16), value: Some(std::u16::MIN..22137), ..Default::default() @@ -752,7 +752,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(17..17), value: Some(39612..39612), ..Default::default() @@ -765,7 +765,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(17..17), value: Some(30000..39613), ..Default::default() @@ -778,7 +778,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(15..15), value: Some(4659..5000), ..Default::default() @@ -791,7 +791,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::WRITE | AccessType::HOLDING)), + access_type: Some((AccessType::WRITE | AccessType::HOLDING)), address: Some(17..17), value: Some(39611..std::u16::MAX), ..Default::default() @@ -939,9 +939,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - category: Some(Flags::from( - CodeCategory::PUBLIC_ASSIGNED | CodeCategory::PUBLIC_UNASSIGNED - )), + category: Some((CodeCategory::PUBLIC_ASSIGNED | CodeCategory::PUBLIC_UNASSIGNED)), unit_id: Some(11..11), ..Default::default() } @@ -977,9 +975,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[0], &DetectModbusRust { - category: Some(Flags::from( - CodeCategory::PUBLIC_ASSIGNED | CodeCategory::PUBLIC_UNASSIGNED - )), + category: Some((CodeCategory::PUBLIC_ASSIGNED | CodeCategory::PUBLIC_UNASSIGNED)), unit_id: Some(10..10), ..Default::default() } @@ -1212,7 +1208,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), ..Default::default() } ), @@ -1223,7 +1219,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(std::u16::MIN..9), ..Default::default() } @@ -1235,7 +1231,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(5..9), ..Default::default() } @@ -1247,7 +1243,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(104..std::u16::MAX), ..Default::default() } @@ -1259,7 +1255,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(104..110), ..Default::default() } @@ -1271,7 +1267,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(9..9), ..Default::default() } @@ -1283,7 +1279,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(std::u16::MIN..10), ..Default::default() } @@ -1295,7 +1291,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(5..10), ..Default::default() } @@ -1307,7 +1303,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(103..std::u16::MAX), ..Default::default() } @@ -1319,7 +1315,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(103..110), ..Default::default() } @@ -1331,7 +1327,7 @@ mod test { rs_modbus_inspect( &modbus.transactions[5], &DetectModbusRust { - access_type: Some(Flags::from(AccessType::READ | AccessType::INPUT)), + access_type: Some((AccessType::READ | AccessType::INPUT)), address: Some(104..104), ..Default::default() } diff --git a/rust/src/mqtt/mqtt.rs b/rust/src/mqtt/mqtt.rs index 0f3d62babd..7403245f2a 100644 --- a/rust/src/mqtt/mqtt.rs +++ b/rust/src/mqtt/mqtt.rs @@ -606,7 +606,7 @@ pub unsafe extern "C" fn rs_mqtt_parse_request( ) -> AppLayerResult { let state = cast_pointer!(state, MQTTState); let buf = build_slice!(input, input_len as usize); - return state.parse_request(buf).into(); + return state.parse_request(buf); } #[no_mangle] @@ -621,7 +621,7 @@ pub unsafe extern "C" fn rs_mqtt_parse_response( ) -> AppLayerResult { let state = cast_pointer!(state, MQTTState); let buf = build_slice!(input, input_len as usize); - return state.parse_response(buf).into(); + return state.parse_response(buf); } #[no_mangle] diff --git a/rust/src/snmp/snmp.rs b/rust/src/snmp/snmp.rs index f4d2e814db..aee0b373e0 100644 --- a/rust/src/snmp/snmp.rs +++ b/rust/src/snmp/snmp.rs @@ -131,7 +131,7 @@ impl<'a> SNMPState<'a> { SnmpPdu::Bulk(_) => { }, SnmpPdu::TrapV1(ref t) => { - pdu_info.trap_type = Some((t.generic_trap,t.enterprise.clone(),t.agent_addr.clone())); + pdu_info.trap_type = Some((t.generic_trap,t.enterprise.clone(),t.agent_addr)); } } @@ -149,7 +149,7 @@ impl<'a> SNMPState<'a> { self.set_event_tx(&mut tx, SNMPEvent::VersionMismatch); } self.add_pdu_info(&msg.pdu, &mut tx); - tx.community = Some(msg.community.clone()); + tx.community = Some(msg.community); self.transactions.push(tx); 0 } @@ -170,7 +170,7 @@ impl<'a> SNMPState<'a> { } match msg.security_params { SecurityParameters::USM(usm) => { - tx.usm = Some(usm.msg_user_name.clone()); + tx.usm = Some(usm.msg_user_name); }, _ => { self.set_event_tx(&mut tx, SNMPEvent::UnknownSecurityModel);