rust/smb: simplify bits parser annotations

pull/6814/head
Pierre Chifflier 3 years ago
parent 4d6aa6d532
commit 1b25bcbb13

@ -15,11 +15,11 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::common::nom7::bits;
use crate::smb::error::SmbError; 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::bytes::streaming::take;
use nom7::combinator::{cond, rest}; use nom7::combinator::{cond, rest};
use nom7::error::Error;
use nom7::multi::count; use nom7::multi::count;
use nom7::number::Endianness; use nom7::number::Endianness;
use nom7::number::streaming::{be_u16, le_u8, le_u16, le_u32, u16, u32}; 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)> { fn parse_dcerpc_flags1(i:&[u8]) -> IResult<&[u8],(u8,u8,u8)> {
bits::<_, _, Error<(&[u8], usize)>, _, _>(tuple(( bits(tuple((
take_bits(6u8), take_bits(6u8),
take_bits(1u8), // last (1) take_bits(1u8), // last (1)
take_bits(1u8), 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)> { fn parse_dcerpc_flags2(i:&[u8]) -> IResult<&[u8],(u32,u32,u32)> {
bits::<_, _, Error<(&[u8], usize)>, _, _>(tuple(( bits(tuple((
take_bits(3u32), take_bits(3u32),
take_bits(1u32), // endianess take_bits(1u32), // endianess
take_bits(28u32), take_bits(28u32),

@ -15,12 +15,11 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::common::nom7::take_until_and_consume; use crate::common::nom7::{bits, take_until_and_consume};
use std::fmt; 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::bytes::streaming::take;
use nom7::combinator::{cond, rest}; use nom7::combinator::{cond, rest};
use nom7::error::Error;
use nom7::number::streaming::{le_u8, le_u16, le_u32}; use nom7::number::streaming::{le_u8, le_u16, le_u32};
use nom7::sequence::tuple; use nom7::sequence::tuple;
use nom7::IResult; use nom7::IResult;
@ -65,7 +64,7 @@ pub struct NTLMSSPAuthRecord<'a> {
} }
fn parse_ntlm_auth_nego_flags(i:&[u8]) -> IResult<&[u8],(u8,u8,u32)> { 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(6u8),
take_bits(1u8), take_bits(1u8),
take_bits(25u32), take_bits(25u32),

@ -15,12 +15,13 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::common::nom7::bits;
use crate::smb::smb::*; use crate::smb::smb::*;
use crate::smb::nbss_records::NBSS_MSGTYPE_SESSION_MESSAGE; 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::bytes::streaming::{tag, take};
use nom7::combinator::{cond, map_parser, rest}; 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::multi::count;
use nom7::number::streaming::{le_u8, le_u16, le_u32, le_u64}; use nom7::number::streaming::{le_u8, le_u16, le_u32, le_u64};
use nom7::sequence::tuple; 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)> { 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(2u8), // reserved / unused
take_bits(1u8), // replay op take_bits(1u8), // replay op
take_bits(1u8), // dfs op take_bits(1u8), // dfs op

Loading…
Cancel
Save