]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
nfs4: create tx for CREATE procedure 3432/head
authorVictor Julien <victor@inliniac.net>
Mon, 23 Jul 2018 09:47:39 +0000 (11:47 +0200)
committerVictor Julien <victor@inliniac.net>
Mon, 23 Jul 2018 17:58:24 +0000 (19:58 +0200)
rust/src/nfs/nfs4.rs

index 14b1f8a3bd482c9fd788ba9b0c39675c57369347..5036c9aadc07dafd4c73b240c6c8c064e0399217 100644 (file)
@@ -198,6 +198,14 @@ impl NFSState {
                 &Nfs4RequestContent::Close(ref rd) => {
                     SCLogDebug!("CLOSEv4: {:?}", rd);
                 }
+                &Nfs4RequestContent::Create(ref rd) => {
+                    SCLogDebug!("CREATEv4: {:?}", rd);
+                    if let Some(fh) = last_putfh {
+                        xidmap.file_handle = fh.to_vec();
+                    }
+                    xidmap.file_name = rd.filename.to_vec();
+                    main_opcode = NFSPROC4_CREATE;
+                }
                 &Nfs4RequestContent::Remove(ref rd) => {
                     SCLogDebug!("REMOVEv4: {:?}", rd);
                     xidmap.file_name = rd.to_vec();
@@ -308,6 +316,11 @@ impl NFSState {
                     main_opcode_status = s;
                     main_opcode_status_set = true;
                 },
+                &Nfs4ResponseContent::Create(s) => {
+                    SCLogDebug!("CREATE4: status {}", s);
+                    main_opcode_status = s;
+                    main_opcode_status_set = true;
+                },
                 &Nfs4ResponseContent::Read(s, ref rd) => {
                     if let &Some(ref rd) = rd {
                         SCLogDebug!("READ4: xidmap {:?} status {} data {}", xidmap, s, rd.data.len());