NFS4 mode does not contain NFS2 name (file type) bits.
---
 epan/dissectors/packet-nfs.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/epan/dissectors/packet-nfs.c b/epan/dissectors/packet-nfs.c
index 60f11ff842b7..e34b5b3f053b 100644
--- a/epan/dissectors/packet-nfs.c
+++ b/epan/dissectors/packet-nfs.c
@@ -7173,7 +7173,26 @@ dissect_nfs4_fattr_fs_charset_cap(tvbuff_t *tvb, int 
offset, proto_tree *tree)
 static int
 dissect_nfs4_mode(tvbuff_t *tvb, int offset, proto_tree *tree)
 {
-       return dissect_nfs2_mode(tvb, offset, tree);
+       static int * const modes[] = {
+               &hf_nfs2_mode_set_user_id,
+               &hf_nfs2_mode_set_group_id,
+               &hf_nfs2_mode_save_swap_text,
+               &hf_nfs2_mode_read_owner,
+               &hf_nfs2_mode_write_owner,
+               &hf_nfs2_mode_exec_owner,
+               &hf_nfs2_mode_read_group,
+               &hf_nfs2_mode_write_group,
+               &hf_nfs2_mode_exec_group,
+               &hf_nfs2_mode_read_other,
+               &hf_nfs2_mode_write_other,
+               &hf_nfs2_mode_exec_other,
+               NULL
+       };
+
+       proto_tree_add_bitmask(tree, tvb, offset, hf_nfs2_mode, ett_nfs2_mode, 
modes, ENC_BIG_ENDIAN);
+
+       offset += 4;
+       return offset;
 }
 
 #define FH4_PERSISTENT         0x00000000
-- 
2.20.1

_______________________________________________
Wireshark-dev mailing list -- wireshark-dev@wireshark.org
To unsubscribe send an email to wireshark-dev-le...@wireshark.org

Reply via email to