]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
smb: use uuid crate
authorShivani Bhardwaj <shivanib134@gmail.com>
Wed, 5 Aug 2020 11:54:09 +0000 (17:24 +0530)
committerVictor Julien <victor@inliniac.net>
Wed, 5 Aug 2020 15:29:56 +0000 (17:29 +0200)
rust/src/smb/dcerpc.rs
rust/src/smb/log.rs

index 45ad95a25faa37aa8c509e0d4b2a6c2795c59552..c90a10b64c250eb91f904b9fe1d94bbafff88b84 100644 (file)
@@ -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);
                                 }
index faba7a3ca9efd6902d2131f542ed1bdd19ae353d..162dbe32026de9cfe03a2105fd80c822ef27f0e5 100644 (file)
 
 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)?;