Wireshark-dev: [Wireshark-dev] [PATCH 05/16] NFS: Dissect NFS4 GSS OID

From: Pali Rohár <pali@xxxxxxxxxx>
Date: Fri, 13 Sep 2024 23:08:40 +0200
---
 epan/dissectors/packet-nfs.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/epan/dissectors/packet-nfs.c b/epan/dissectors/packet-nfs.c
index 519005e7e9f9..5f82ca61e70c 100644
--- a/epan/dissectors/packet-nfs.c
+++ b/epan/dissectors/packet-nfs.c
@@ -8427,12 +8427,20 @@ dissect_nfs4_state_protect_ops(tvbuff_t *tvb, int offset,
 }
 
 
+static int
+dissect_oid(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree* tree, void* data _U_)
+{
+	int length = tvb_reported_length(tvb);
+	proto_tree_add_item(tree, hf_nfs4_sec_oid, tvb, 0, length, ENC_BIG_ENDIAN);
+	return offset + 4 + length + (4 - length%4) % 4;
+}
+
 static int
 dissect_nfs4_sec_oid(tvbuff_t *tvb, int offset, packet_info *pinfo,
 				proto_tree *tree, void *data _U_)
 {
 	return dissect_rpc_opaque_data(tvb, offset, tree, pinfo,
-				hf_nfs4_sec_oid, false, 0, false, NULL, NULL);
+				hf_nfs4_sec_oid, false, 0, false, NULL, dissect_oid);
 }
 
 static int
@@ -13534,7 +13542,7 @@ proto_register_nfs(void)
 			TFS(&tfs_yes_no), 0x0, NULL, HFILL }},
 
 		{ &hf_nfs4_sec_oid, {
-			"oid", "nfs.secinfo.flavor_info.rpcsec_gss_info.oid", FT_BYTES, BASE_NONE,
+			"oid", "nfs.secinfo.flavor_info.rpcsec_gss_info.oid", FT_OID, BASE_NONE,
 			NULL, 0, NULL, HFILL }},
 
 		{ &hf_nfs4_qop, {
-- 
2.20.1