From 2529eb35e18464cf88f2a03474969d67a559e585 Mon Sep 17 00:00:00 2001 From: Shivani Bhardwaj Date: Wed, 5 Aug 2020 17:24:09 +0530 Subject: [PATCH] smb: use uuid crate --- rust/src/smb/dcerpc.rs | 16 ++++------------ rust/src/smb/log.rs | 5 +++-- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/rust/src/smb/dcerpc.rs b/rust/src/smb/dcerpc.rs index 45ad95a25f..c90a10b64c 100644 --- a/rust/src/smb/dcerpc.rs +++ b/rust/src/smb/dcerpc.rs @@ -18,7 +18,7 @@ // written by Victor Julien use crate::log::*; - +use uuid; use crate::smb::smb::*; use crate::smb::smb2::*; use crate::smb::dcerpc_records::*; @@ -85,16 +85,6 @@ impl DCERPCIface { } } -pub fn dcerpc_uuid_to_string(i: &DCERPCIface) -> String { - let output = format!("{:02x}{:02x}{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}", - i.uuid[0], i.uuid[1], i.uuid[2], i.uuid[3], - i.uuid[4], i.uuid[5], i.uuid[6], i.uuid[7], - i.uuid[8], i.uuid[9], i.uuid[10], i.uuid[11], - i.uuid[12], i.uuid[13], i.uuid[14], i.uuid[15]); - return output; -} - - #[derive(Debug)] pub struct SMBTransactionDCERPC { pub opnum: u16, @@ -298,9 +288,11 @@ pub fn smb_write_dcerpc_record<'b>(state: &mut SMBState, } else { i.iface.to_vec() }; + let uuid_str = uuid::Uuid::from_slice(&x.clone()); + let uuid_str = uuid_str.map(|uuid_str| uuid_str.to_hyphenated().to_string()).unwrap(); let d = DCERPCIface::new(x,i.ver,i.ver_min); SCLogDebug!("UUID {} version {}/{} bytes {:?}", - dcerpc_uuid_to_string(&d), + uuid_str, i.ver, i.ver_min,i.iface); ifaces.push(d); } diff --git a/rust/src/smb/log.rs b/rust/src/smb/log.rs index faba7a3ca9..162dbe3202 100644 --- a/rust/src/smb/log.rs +++ b/rust/src/smb/log.rs @@ -17,11 +17,11 @@ use std::str; use std::string::String; +use uuid; use crate::jsonbuilder::{JsonBuilder, JsonError}; use crate::smb::smb::*; use crate::smb::smb1::*; use crate::smb::smb2::*; -use crate::smb::dcerpc::*; use crate::dcerpc::dcerpc::*; use crate::smb::funcs::*; @@ -336,7 +336,8 @@ fn smb_common_header(jsb: &mut JsonBuilder, state: &SMBState, tx: &SMBTransactio jsb.open_array("interfaces")?; for i in ifaces { jsb.start_object()?; - let ifstr = dcerpc_uuid_to_string(&i); + let ifstr = uuid::Uuid::from_slice(&i.uuid); + let ifstr = ifstr.map(|ifstr| ifstr.to_hyphenated().to_string()).unwrap(); jsb.set_string("uuid", &ifstr)?; let vstr = format!("{}.{}", i.ver, i.ver_min); jsb.set_string("version", &vstr)?;