From 3e5f59e2cbe6305f315f83fcd1c73e31a19c0f5c Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Tue, 13 Jul 2021 10:00:48 +0200 Subject: [PATCH] smb: fix parsing of file deletion over SMB1 --- rust/src/smb/smb1_records.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rust/src/smb/smb1_records.rs b/rust/src/smb/smb1_records.rs index 5bc886532..671ac0f12 100644 --- a/rust/src/smb/smb1_records.rs +++ b/rust/src/smb/smb1_records.rs @@ -594,7 +594,6 @@ pub struct Trans2RecordParamSetFileInfoDisposition<> { named!(pub parse_trans2_request_data_set_file_info_disposition, do_parse!( delete: le_u8 - >> _reserved: take!(3) >> (Trans2RecordParamSetFileInfoDisposition { delete: delete & 1 == 1, }) @@ -691,16 +690,17 @@ named!(pub parse_smb_trans2_request_record, >> _timeout: le_u32 >> _reserved2: take!(2) >> param_cnt: le_u16 - >> _param_offset: le_u16 + >> param_offset: le_u16 >> data_cnt: le_u16 - >> _data_offset: le_u16 + >> data_offset: le_u16 >> _setup_cnt: le_u8 >> _reserved3: take!(1) >> subcmd: le_u16 >> _bcc: le_u16 + //TODO test and use param_offset >> _padding: take!(3) - //TODO test and use _param_offset and _data_offset >> setup_blob: take!(param_cnt) + >> _padding2: cond!(data_offset > param_offset + param_cnt, take!(data_offset - param_offset - param_cnt)) >> data_blob: take!(data_cnt) >> (SmbRequestTrans2Record { -- 2.47.3