rust: fix rustfmt warnings for smb detect

Signed-off-by: jason taylor <jtfas90@gmail.com>
pull/10204/head
jason taylor 2 years ago committed by Victor Julien
parent a4901a1f70
commit bfc0790d87

@ -15,22 +15,20 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use std::ptr;
use crate::core::*; use crate::core::*;
use crate::smb::smb::*;
use crate::dcerpc::detect::{DCEIfaceData, DCEOpnumData, DETECT_DCE_OPNUM_RANGE_UNINITIALIZED};
use crate::dcerpc::dcerpc::DCERPC_TYPE_REQUEST; use crate::dcerpc::dcerpc::DCERPC_TYPE_REQUEST;
use crate::dcerpc::detect::{DCEIfaceData, DCEOpnumData, DETECT_DCE_OPNUM_RANGE_UNINITIALIZED};
use crate::detect::uint::detect_match_uint; use crate::detect::uint::detect_match_uint;
use crate::smb::smb::SMBTransaction;
use crate::smb::smb::*;
use std::ffi::CStr; use std::ffi::CStr;
use std::os::raw::{c_char, c_void}; use std::os::raw::{c_char, c_void};
use crate::smb::smb::SMBTransaction; use std::ptr;
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_smb_tx_get_share(tx: &mut SMBTransaction, pub unsafe extern "C" fn rs_smb_tx_get_share(
buffer: *mut *const u8, tx: &mut SMBTransaction, buffer: *mut *const u8, buffer_len: *mut u32,
buffer_len: *mut u32) ) -> u8 {
-> u8
{
if let Some(SMBTransactionTypeData::TREECONNECT(ref x)) = tx.type_data { if let Some(SMBTransactionTypeData::TREECONNECT(ref x)) = tx.type_data {
SCLogDebug!("is_pipe {}", x.is_pipe); SCLogDebug!("is_pipe {}", x.is_pipe);
if !x.is_pipe { if !x.is_pipe {
@ -46,11 +44,9 @@ pub unsafe extern "C" fn rs_smb_tx_get_share(tx: &mut SMBTransaction,
} }
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_smb_tx_get_named_pipe(tx: &mut SMBTransaction, pub unsafe extern "C" fn rs_smb_tx_get_named_pipe(
buffer: *mut *const u8, tx: &mut SMBTransaction, buffer: *mut *const u8, buffer_len: *mut u32,
buffer_len: *mut u32) ) -> u8 {
-> u8
{
if let Some(SMBTransactionTypeData::TREECONNECT(ref x)) = tx.type_data { if let Some(SMBTransactionTypeData::TREECONNECT(ref x)) = tx.type_data {
SCLogDebug!("is_pipe {}", x.is_pipe); SCLogDebug!("is_pipe {}", x.is_pipe);
if x.is_pipe { if x.is_pipe {
@ -66,12 +62,9 @@ pub unsafe extern "C" fn rs_smb_tx_get_named_pipe(tx: &mut SMBTransaction,
} }
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_smb_tx_get_stub_data(tx: &mut SMBTransaction, pub unsafe extern "C" fn rs_smb_tx_get_stub_data(
direction: u8, tx: &mut SMBTransaction, direction: u8, buffer: *mut *const u8, buffer_len: *mut u32,
buffer: *mut *const u8, ) -> u8 {
buffer_len: *mut u32)
-> u8
{
if let Some(SMBTransactionTypeData::DCERPC(ref x)) = tx.type_data { if let Some(SMBTransactionTypeData::DCERPC(ref x)) = tx.type_data {
let vref = if direction == Direction::ToServer as u8 { let vref = if direction == Direction::ToServer as u8 {
&x.stub_data_ts &x.stub_data_ts
@ -91,10 +84,9 @@ pub unsafe extern "C" fn rs_smb_tx_get_stub_data(tx: &mut SMBTransaction,
} }
#[no_mangle] #[no_mangle]
pub extern "C" fn rs_smb_tx_match_dce_opnum(tx: &mut SMBTransaction, pub extern "C" fn rs_smb_tx_match_dce_opnum(
dce_data: &mut DCEOpnumData) tx: &mut SMBTransaction, dce_data: &mut DCEOpnumData,
-> u8 ) -> u8 {
{
SCLogDebug!("rs_smb_tx_get_dce_opnum: start"); SCLogDebug!("rs_smb_tx_get_dce_opnum: start");
if let Some(SMBTransactionTypeData::DCERPC(ref x)) = tx.type_data { if let Some(SMBTransactionTypeData::DCERPC(ref x)) = tx.type_data {
if x.req_cmd == DCERPC_TYPE_REQUEST { if x.req_cmd == DCERPC_TYPE_REQUEST {
@ -118,17 +110,13 @@ pub extern "C" fn rs_smb_tx_match_dce_opnum(tx: &mut SMBTransaction,
* dce_opnum and dce_stub_data) * dce_opnum and dce_stub_data)
* - only match on approved ifaces (so ack_result == 0) */ * - only match on approved ifaces (so ack_result == 0) */
#[no_mangle] #[no_mangle]
pub extern "C" fn rs_smb_tx_get_dce_iface(state: &mut SMBState, pub extern "C" fn rs_smb_tx_get_dce_iface(
tx: &mut SMBTransaction, state: &mut SMBState, tx: &mut SMBTransaction, dce_data: &mut DCEIfaceData,
dce_data: &mut DCEIfaceData) ) -> u8 {
-> u8
{
let if_uuid = dce_data.if_uuid.as_slice(); let if_uuid = dce_data.if_uuid.as_slice();
let is_dcerpc_request = match tx.type_data { let is_dcerpc_request = match tx.type_data {
Some(SMBTransactionTypeData::DCERPC(ref x)) => { Some(SMBTransactionTypeData::DCERPC(ref x)) => x.req_cmd == DCERPC_TYPE_REQUEST,
x.req_cmd == DCERPC_TYPE_REQUEST _ => false,
},
_ => { false },
}; };
if !is_dcerpc_request { if !is_dcerpc_request {
return 0; return 0;
@ -137,13 +125,18 @@ pub extern "C" fn rs_smb_tx_get_dce_iface(state: &mut SMBState,
Some(ref x) => x, Some(ref x) => x,
_ => { _ => {
return 0; return 0;
}, }
}; };
SCLogDebug!("looking for UUID {:?}", if_uuid); SCLogDebug!("looking for UUID {:?}", if_uuid);
for i in ifaces { for i in ifaces {
SCLogDebug!("stored UUID {:?} acked {} ack_result {}", i, i.acked, i.ack_result); SCLogDebug!(
"stored UUID {:?} acked {} ack_result {}",
i,
i.acked,
i.ack_result
);
if i.acked && i.ack_result == 0 && i.uuid == if_uuid { if i.acked && i.ack_result == 0 && i.uuid == if_uuid {
if let Some(x) = &dce_data.du16 { if let Some(x) = &dce_data.du16 {
@ -159,11 +152,9 @@ pub extern "C" fn rs_smb_tx_get_dce_iface(state: &mut SMBState,
} }
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_smb_tx_get_ntlmssp_user(tx: &mut SMBTransaction, pub unsafe extern "C" fn rs_smb_tx_get_ntlmssp_user(
buffer: *mut *const u8, tx: &mut SMBTransaction, buffer: *mut *const u8, buffer_len: *mut u32,
buffer_len: *mut u32) ) -> u8 {
-> u8
{
if let Some(SMBTransactionTypeData::SESSIONSETUP(ref x)) = tx.type_data { if let Some(SMBTransactionTypeData::SESSIONSETUP(ref x)) = tx.type_data {
if let Some(ref ntlmssp) = x.ntlmssp { if let Some(ref ntlmssp) = x.ntlmssp {
*buffer = ntlmssp.user.as_ptr(); *buffer = ntlmssp.user.as_ptr();
@ -178,11 +169,9 @@ pub unsafe extern "C" fn rs_smb_tx_get_ntlmssp_user(tx: &mut SMBTransaction,
} }
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_smb_tx_get_ntlmssp_domain(tx: &mut SMBTransaction, pub unsafe extern "C" fn rs_smb_tx_get_ntlmssp_domain(
buffer: *mut *const u8, tx: &mut SMBTransaction, buffer: *mut *const u8, buffer_len: *mut u32,
buffer_len: *mut u32) ) -> u8 {
-> u8
{
if let Some(SMBTransactionTypeData::SESSIONSETUP(ref x)) = tx.type_data { if let Some(SMBTransactionTypeData::SESSIONSETUP(ref x)) = tx.type_data {
if let Some(ref ntlmssp) = x.ntlmssp { if let Some(ref ntlmssp) = x.ntlmssp {
*buffer = ntlmssp.domain.as_ptr(); *buffer = ntlmssp.domain.as_ptr();
@ -200,7 +189,6 @@ pub unsafe extern "C" fn rs_smb_tx_get_ntlmssp_domain(tx: &mut SMBTransaction,
pub unsafe extern "C" fn rs_smb_version_match( pub unsafe extern "C" fn rs_smb_version_match(
tx: &mut SMBTransaction, version_data: &mut u8, tx: &mut SMBTransaction, version_data: &mut u8,
) -> u8 { ) -> u8 {
let version = tx.vercmd.get_version(); let version = tx.vercmd.get_version();
if version == *version_data { if version == *version_data {
return 1; return 1;
@ -209,7 +197,6 @@ pub unsafe extern "C" fn rs_smb_version_match(
return 0; return 0;
} }
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_smb_version_parse(carg: *const c_char) -> *mut c_void { pub unsafe extern "C" fn rs_smb_version_parse(carg: *const c_char) -> *mut c_void {
if carg.is_null() { if carg.is_null() {
@ -260,5 +247,4 @@ mod tests {
assert_eq!(1u8, parse_version_data(" 1").unwrap()); assert_eq!(1u8, parse_version_data(" 1").unwrap());
assert_eq!(2u8, parse_version_data(" 2 ").unwrap()); assert_eq!(2u8, parse_version_data(" 2 ").unwrap());
} }
} }

Loading…
Cancel
Save