diff options
author | wmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-09-08 16:19:35 +0000 |
---|---|---|
committer | wmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-09-08 16:19:35 +0000 |
commit | 445b40575811621fdd6b900c780e265ff4e38daa (patch) | |
tree | 709f89800e029b0ecfe902df9f35da39f9229953 /epan/dissectors/packet-smb.c | |
parent | 2dc9d6f38fa2f2f3ebf9785fa4c13186a414b6ff (diff) |
From Stefan Metzmacher: Fix flags in packet-smb
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6320
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@38940 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-smb.c')
-rw-r--r-- | epan/dissectors/packet-smb.c | 85 |
1 files changed, 60 insertions, 25 deletions
diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index 5abea1fc7f..aa3e435200 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -143,7 +143,10 @@ static int hf_smb_flags_response = -1; static int hf_smb_flags2_long_names_allowed = -1; static int hf_smb_flags2_ea = -1; static int hf_smb_flags2_sec_sig = -1; +static int hf_smb_flags2_compressed = -1; +static int hf_smb_flags2_sec_sig_required = -1; static int hf_smb_flags2_long_names_used = -1; +static int hf_smb_flags2_reparse_path = -1; static int hf_smb_flags2_esn = -1; static int hf_smb_flags2_dfs = -1; static int hf_smb_flags2_roe = -1; @@ -192,10 +195,10 @@ static int hf_smb_server_cap_dfs = -1; static int hf_smb_server_cap_infolevel_passthru = -1; static int hf_smb_server_cap_large_readx = -1; static int hf_smb_server_cap_large_writex = -1; +static int hf_smb_server_cap_lwio = -1; static int hf_smb_server_cap_unix = -1; -static int hf_smb_server_cap_reserved = -1; -static int hf_smb_server_cap_bulk_transfer = -1; static int hf_smb_server_cap_compressed_data = -1; +static int hf_smb_server_cap_dynamic_reauth = -1; static int hf_smb_server_cap_extended_security = -1; static int hf_smb_system_time = -1; static int hf_smb_unknown = -1; @@ -1893,10 +1896,10 @@ dissect_extended_file_attributes(tvbuff_t *tvb, packet_info *pinfo, proto_tree * #define SERVER_CAP_INFOLEVEL_PASSTHRU 0x00002000 #define SERVER_CAP_LARGE_READX 0x00004000 #define SERVER_CAP_LARGE_WRITEX 0x00008000 +#define SERVER_CAP_LWIO 0x00010000 #define SERVER_CAP_UNIX 0x00800000 -#define SERVER_CAP_RESERVED 0x02000000 -#define SERVER_CAP_BULK_TRANSFER 0x20000000 -#define SERVER_CAP_COMPRESSED_DATA 0x40000000 +#define SERVER_CAP_COMPRESSED_DATA 0x02000000 +#define SERVER_CAP_DYNAMIC_REAUTH 0x20000000 #define SERVER_CAP_EXTENDED_SECURITY 0x80000000 static const true_false_string tfs_server_cap_raw_mode = { "Read Raw and Write Raw are supported", @@ -1954,22 +1957,22 @@ static const true_false_string tfs_server_cap_large_writex = { "Large Write andX is supported", "Large Write andX is not supported" }; +static const true_false_string tfs_server_cap_lwio = { + "LWIO ioctl/fsctl is supported", + "LWIO ioctl/fsctl is not supported" +}; static const true_false_string tfs_server_cap_unix = { "UNIX extensions are supported", "UNIX extensions are not supported" }; -static const true_false_string tfs_server_cap_reserved = { - "Reserved", - "Reserved" -}; -static const true_false_string tfs_server_cap_bulk_transfer = { - "Bulk Read and Bulk Write are supported", - "Bulk Read and Bulk Write are not supported" -}; static const true_false_string tfs_server_cap_compressed_data = { "Compressed data transfer is supported", "Compressed data transfer is not supported" }; +static const true_false_string tfs_server_cap_dynamic_reauth = { + "Dynamic Reauth is supported", + "Dynamic Reauth is not supported" +}; static const true_false_string tfs_server_cap_extended_security = { "Extended security exchanges are supported", "Extended security exchanges are not supported" @@ -2015,14 +2018,14 @@ dissect_negprot_capabilities(tvbuff_t *tvb, proto_tree *parent_tree, int offset) tvb, offset, 4, mask); proto_tree_add_boolean(tree, hf_smb_server_cap_large_writex, tvb, offset, 4, mask); - proto_tree_add_boolean(tree, hf_smb_server_cap_unix, - tvb, offset, 4, mask); - proto_tree_add_boolean(tree, hf_smb_server_cap_reserved, + proto_tree_add_boolean(tree, hf_smb_server_cap_lwio, tvb, offset, 4, mask); - proto_tree_add_boolean(tree, hf_smb_server_cap_bulk_transfer, + proto_tree_add_boolean(tree, hf_smb_server_cap_unix, tvb, offset, 4, mask); proto_tree_add_boolean(tree, hf_smb_server_cap_compressed_data, tvb, offset, 4, mask); + proto_tree_add_boolean(tree, hf_smb_server_cap_dynamic_reauth, + tvb, offset, 4, mask); proto_tree_add_boolean(tree, hf_smb_server_cap_extended_security, tvb, offset, 4, mask); } @@ -17209,10 +17212,22 @@ static const true_false_string tfs_smb_flags2_sec_sig = { "Security signatures are supported", "Security signatures are not supported" }; +static const true_false_string tfs_smb_flags2_compressed = { + "Compression is requested", + "Compression is not requested" +}; +static const true_false_string tfs_smb_flags2_sec_sig_required = { + "Security signatures are required", + "Security signatures are not required" +}; static const true_false_string tfs_smb_flags2_long_names_used = { "Path names in request are long file names", "Path names in request are not long file names" }; +static const true_false_string tfs_smb_flags2_reparse_path = { + "The request uses a @GMT reparse path", + "The request does not use a @GMT reparse path" +}; static const true_false_string tfs_smb_flags2_esn = { "Extended security negotiation is supported", "Extended security negotiation is not supported" @@ -17257,8 +17272,14 @@ dissect_smb_flags2(tvbuff_t *tvb, proto_tree *parent_tree, int offset) tvb, offset, 2, mask); proto_tree_add_boolean(tree, hf_smb_flags2_esn, tvb, offset, 2, mask); + proto_tree_add_boolean(tree, hf_smb_flags2_reparse_path, + tvb, offset, 2, mask); proto_tree_add_boolean(tree, hf_smb_flags2_long_names_used, tvb, offset, 2, mask); + proto_tree_add_boolean(tree, hf_smb_flags2_sec_sig_required, + tvb, offset, 2, mask); + proto_tree_add_boolean(tree, hf_smb_flags2_compressed, + tvb, offset, 2, mask); proto_tree_add_boolean(tree, hf_smb_flags2_sec_sig, tvb, offset, 2, mask); proto_tree_add_boolean(tree, hf_smb_flags2_ea, @@ -17965,10 +17986,22 @@ proto_register_smb(void) { "Security Signatures", "smb.flags2.sec_sig", FT_BOOLEAN, 16, TFS(&tfs_smb_flags2_sec_sig), 0x0004, "Are security signatures supported?", HFILL }}, + { &hf_smb_flags2_compressed, + { "Compressed", "smb.flags2.compressed", FT_BOOLEAN, 16, + TFS(&tfs_smb_flags2_compressed), 0x0008, "Is compression requested?", HFILL }}, + + { &hf_smb_flags2_sec_sig_required, + { "Security Signatures Required", "smb.flags2.sec_sig_required", FT_BOOLEAN, 16, + TFS(&tfs_smb_flags2_sec_sig_required), 0x0010, "Are security signatures required?", HFILL }}, + { &hf_smb_flags2_long_names_used, { "Long Names Used", "smb.flags2.long_names_used", FT_BOOLEAN, 16, TFS(&tfs_smb_flags2_long_names_used), 0x0040, "Are pathnames in this request long file names?", HFILL }}, + { &hf_smb_flags2_reparse_path, + { "Reparse Path", "smb.flags2.reparse_path", FT_BOOLEAN, 16, + TFS(&tfs_smb_flags2_reparse_path), 0x0400, "The request uses a @GMT reparse path", HFILL }}, + { &hf_smb_flags2_esn, { "Extended Security Negotiation", "smb.flags2.esn", FT_BOOLEAN, 16, TFS(&tfs_smb_flags2_esn), 0x0800, "Is extended security negotiation supported?", HFILL }}, @@ -18153,22 +18186,24 @@ proto_register_smb(void) { "Large WriteX", "smb.server_cap.large_writex", FT_BOOLEAN, 32, TFS(&tfs_server_cap_large_writex), SERVER_CAP_LARGE_WRITEX, "Is Large Write andX supported?", HFILL }}, + { &hf_smb_server_cap_lwio, + { "LWIO", "smb.server_cap.lwio", FT_BOOLEAN, 32, + TFS(&tfs_server_cap_lwio), SERVER_CAP_LWIO, + "Is IOCTL/FSCTL supported", HFILL }}, + { &hf_smb_server_cap_unix, { "UNIX", "smb.server_cap.unix", FT_BOOLEAN, 32, TFS(&tfs_server_cap_unix), SERVER_CAP_UNIX , "Are UNIX extensions supported?", HFILL }}, - { &hf_smb_server_cap_reserved, - { "Reserved", "smb.server_cap.reserved", FT_BOOLEAN, 32, - TFS(&tfs_server_cap_reserved), SERVER_CAP_RESERVED, NULL, HFILL }}, - - { &hf_smb_server_cap_bulk_transfer, - { "Bulk Transfer", "smb.server_cap.bulk_transfer", FT_BOOLEAN, 32, - TFS(&tfs_server_cap_bulk_transfer), SERVER_CAP_BULK_TRANSFER, "Are Bulk Read and Bulk Write supported?", HFILL }}, - { &hf_smb_server_cap_compressed_data, { "Compressed Data", "smb.server_cap.compressed_data", FT_BOOLEAN, 32, TFS(&tfs_server_cap_compressed_data), SERVER_CAP_COMPRESSED_DATA, "Is compressed data transfer supported?", HFILL }}, + { &hf_smb_server_cap_dynamic_reauth, + { "Dynamic Reauth", "smb.server_cap.dynamic_reauth", FT_BOOLEAN, 32, + TFS(&tfs_server_cap_dynamic_reauth), SERVER_CAP_DYNAMIC_REAUTH, + "Is dynamic reauth supported?", HFILL }}, + { &hf_smb_server_cap_extended_security, { "Extended Security", "smb.server_cap.extended_security", FT_BOOLEAN, 32, TFS(&tfs_server_cap_extended_security), SERVER_CAP_EXTENDED_SECURITY, "Are Extended security exchanges supported?", HFILL }}, |