smb: cleaner server component parsing

pull/3281/head
Victor Julien 8 years ago
parent ecbf10da70
commit d9e43d3e63

@ -588,17 +588,14 @@ named!(pub parse_smb1_close_request_record<SmbRequestCloseRecord>,
#[derive(Debug,PartialEq)] #[derive(Debug,PartialEq)]
pub struct SmbVersion<> { pub struct SmbVersion<> {
pub version: u8, pub version: u8,
// pub data: &'a[u8],
} }
named!(pub parse_smb_version<SmbVersion>, named!(pub parse_smb_version<SmbVersion>,
do_parse!( do_parse!(
version: le_u8 version: le_u8
>> tag!("SMB") >> tag!("SMB")
// >> data: rest
>> (SmbVersion { >> (SmbVersion {
version:version, version:version,
// data:data,
})) }))
); );
@ -625,7 +622,7 @@ pub struct SmbRecord<'a> {
named!(pub parse_smb_record<SmbRecord>, named!(pub parse_smb_record<SmbRecord>,
do_parse!( do_parse!(
server_component:take!(4) // ff SMB server_component: tag!(b"\xffSMB")
>> command:le_u8 >> command:le_u8
>> nt_status:le_u32 >> nt_status:le_u32
>> flags:le_u8 >> flags:le_u8

@ -43,7 +43,7 @@ pub struct Smb2Record<'a> {
named!(pub parse_smb2_request_record<Smb2Record>, named!(pub parse_smb2_request_record<Smb2Record>,
do_parse!( do_parse!(
server_component:take!(4) // fe SMB server_component: tag!(b"\xfeSMB")
>> hlen: le_u16 >> hlen: le_u16
>> credit_charge: le_u16 >> credit_charge: le_u16
>> channel_seq: le_u16 >> channel_seq: le_u16
@ -368,7 +368,7 @@ named!(pub parse_smb2_response_write<Smb2WriteResponseRecord>,
named!(pub parse_smb2_response_record<Smb2Record>, named!(pub parse_smb2_response_record<Smb2Record>,
do_parse!( do_parse!(
server_component:take!(4) // fe SMB server_component: tag!(b"\xfeSMB")
>> hlen: le_u16 >> hlen: le_u16
>> credit_charge: le_u16 >> credit_charge: le_u16
>> nt_status: le_u32 >> nt_status: le_u32

Loading…
Cancel
Save