diff --git a/rust/src/smb/dcerpc_records.rs b/rust/src/smb/dcerpc_records.rs index 4cfd40c567..98b072986a 100644 --- a/rust/src/smb/dcerpc_records.rs +++ b/rust/src/smb/dcerpc_records.rs @@ -15,11 +15,11 @@ * 02110-1301, USA. */ +use crate::common::nom7::bits; use crate::smb::error::SmbError; -use nom7::bits::{bits, streaming::take as take_bits}; +use nom7::bits::streaming::take as take_bits; use nom7::bytes::streaming::take; use nom7::combinator::{cond, rest}; -use nom7::error::Error; use nom7::multi::count; use nom7::number::Endianness; use nom7::number::streaming::{be_u16, le_u8, le_u16, le_u32, u16, u32}; @@ -204,7 +204,7 @@ pub struct DceRpcRecord<'a> { } fn parse_dcerpc_flags1(i:&[u8]) -> IResult<&[u8],(u8,u8,u8)> { - bits::<_, _, Error<(&[u8], usize)>, _, _>(tuple(( + bits(tuple(( take_bits(6u8), take_bits(1u8), // last (1) take_bits(1u8), @@ -212,7 +212,7 @@ fn parse_dcerpc_flags1(i:&[u8]) -> IResult<&[u8],(u8,u8,u8)> { } fn parse_dcerpc_flags2(i:&[u8]) -> IResult<&[u8],(u32,u32,u32)> { - bits::<_, _, Error<(&[u8], usize)>, _, _>(tuple(( + bits(tuple(( take_bits(3u32), take_bits(1u32), // endianess take_bits(28u32), diff --git a/rust/src/smb/ntlmssp_records.rs b/rust/src/smb/ntlmssp_records.rs index 71500812c6..35ca319699 100644 --- a/rust/src/smb/ntlmssp_records.rs +++ b/rust/src/smb/ntlmssp_records.rs @@ -15,12 +15,11 @@ * 02110-1301, USA. */ -use crate::common::nom7::take_until_and_consume; +use crate::common::nom7::{bits, take_until_and_consume}; use std::fmt; -use nom7::bits::{bits, streaming::take as take_bits}; +use nom7::bits::streaming::take as take_bits; use nom7::bytes::streaming::take; use nom7::combinator::{cond, rest}; -use nom7::error::Error; use nom7::number::streaming::{le_u8, le_u16, le_u32}; use nom7::sequence::tuple; use nom7::IResult; @@ -65,7 +64,7 @@ pub struct NTLMSSPAuthRecord<'a> { } fn parse_ntlm_auth_nego_flags(i:&[u8]) -> IResult<&[u8],(u8,u8,u32)> { - bits::<_, _, Error<(&[u8], usize)>, _, _>(tuple(( + bits(tuple(( take_bits(6u8), take_bits(1u8), take_bits(25u32), diff --git a/rust/src/smb/smb2_records.rs b/rust/src/smb/smb2_records.rs index 5e5f1da448..050111537b 100644 --- a/rust/src/smb/smb2_records.rs +++ b/rust/src/smb/smb2_records.rs @@ -15,12 +15,13 @@ * 02110-1301, USA. */ +use crate::common::nom7::bits; use crate::smb::smb::*; use crate::smb::nbss_records::NBSS_MSGTYPE_SESSION_MESSAGE; -use nom7::bits::{bits, streaming::take as take_bits}; +use nom7::bits::streaming::take as take_bits; use nom7::bytes::streaming::{tag, take}; use nom7::combinator::{cond, map_parser, rest}; -use nom7::error::{make_error, Error, ErrorKind}; +use nom7::error::{make_error, ErrorKind}; use nom7::multi::count; use nom7::number::streaming::{le_u8, le_u16, le_u32, le_u64}; use nom7::sequence::tuple; @@ -71,7 +72,7 @@ impl<'a> Smb2Record<'a> { } fn parse_smb2_request_flags(i:&[u8]) -> IResult<&[u8],(u8,u8,u8,u32,u8,u8,u8,u8)> { - bits::<_, _, Error<(&[u8], usize)>, _, _>(tuple(( + bits(tuple(( take_bits(2u8), // reserved / unused take_bits(1u8), // replay op take_bits(1u8), // dfs op