forked from osmocom/wireshark
updte the CLOSE dissector
svn path=/trunk/; revision=25359
This commit is contained in:
parent
cdc9669337
commit
60d4c486f9
1 changed files with 25 additions and 2 deletions
|
@ -226,6 +226,7 @@ static int hf_smb2_channel_info_offset = -1;
|
|||
static int hf_smb2_channel_info_length = -1;
|
||||
static int hf_smb2_ioctl_flags = -1;
|
||||
static int hf_smb2_ioctl_is_fsctl = -1;
|
||||
static int hf_smb2_close_pq_attrib = -1;
|
||||
|
||||
static gint ett_smb2 = -1;
|
||||
static gint ett_smb2_olb = -1;
|
||||
|
@ -274,6 +275,7 @@ static gint ett_smb2_ses_flags = -1;
|
|||
static gint ett_smb2_share_flags = -1;
|
||||
static gint ett_smb2_share_caps = -1;
|
||||
static gint ett_smb2_ioctl_flags = -1;
|
||||
static gint ett_smb2_close_flags = -1;
|
||||
|
||||
static int smb2_tap = -1;
|
||||
|
||||
|
@ -2819,11 +2821,18 @@ dissect_smb2_getinfo_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
static int
|
||||
dissect_smb2_close_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, smb2_info_t *si)
|
||||
{
|
||||
proto_tree *flags_tree = NULL;
|
||||
proto_item *flags_item = NULL;
|
||||
|
||||
/* buffer code */
|
||||
offset = dissect_smb2_buffercode(tree, tvb, offset, NULL);
|
||||
|
||||
/* close flags */
|
||||
proto_tree_add_item(tree, hf_smb2_close_flags, tvb, offset, 2, TRUE);
|
||||
if (tree) {
|
||||
flags_item = proto_tree_add_item(tree, hf_smb2_close_flags, tvb, offset, 2, TRUE);
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_smb2_close_flags);
|
||||
}
|
||||
proto_tree_add_item(flags_tree, hf_smb2_close_pq_attrib, tvb, offset, 2, TRUE);
|
||||
offset += 2;
|
||||
|
||||
/* padding */
|
||||
|
@ -2838,6 +2847,9 @@ dissect_smb2_close_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
static int
|
||||
dissect_smb2_close_response(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, smb2_info_t *si _U_)
|
||||
{
|
||||
proto_tree *flags_tree = NULL;
|
||||
proto_item *flags_item = NULL;
|
||||
|
||||
switch (si->status) {
|
||||
case 0x00000000: break;
|
||||
default: return dissect_smb2_error_response(tvb, pinfo, tree, offset, si);
|
||||
|
@ -2847,9 +2859,15 @@ dissect_smb2_close_response(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
|
|||
offset = dissect_smb2_buffercode(tree, tvb, offset, NULL);
|
||||
|
||||
/* close flags */
|
||||
proto_tree_add_item(tree, hf_smb2_close_flags, tvb, offset, 2, TRUE);
|
||||
if (tree) {
|
||||
flags_item = proto_tree_add_item(tree, hf_smb2_close_flags, tvb, offset, 2, TRUE);
|
||||
flags_tree = proto_item_add_subtree(flags_item, ett_smb2_close_flags);
|
||||
}
|
||||
offset += 2;
|
||||
|
||||
/* reserved */
|
||||
offset += 4;
|
||||
|
||||
/* create time */
|
||||
offset = dissect_nt_64bit_time(tvb, tree, offset, hf_smb2_create_timestamp);
|
||||
|
||||
|
@ -5578,6 +5596,10 @@ proto_register_smb2(void)
|
|||
{ "Is FSCTL", "smb2.ioctl.is_fsctl", FT_BOOLEAN, 32,
|
||||
NULL, 0x00000001, "", HFILL }},
|
||||
|
||||
{ &hf_smb2_close_pq_attrib,
|
||||
{ "PostQuery Attrib", "smb2.close.pq_attrib", FT_BOOLEAN, 16,
|
||||
NULL, 0x0001, "", HFILL }},
|
||||
|
||||
};
|
||||
|
||||
static gint *ett[] = {
|
||||
|
@ -5628,6 +5650,7 @@ proto_register_smb2(void)
|
|||
&ett_smb2_share_flags,
|
||||
&ett_smb2_share_caps,
|
||||
&ett_smb2_ioctl_flags,
|
||||
&ett_smb2_close_flags,
|
||||
};
|
||||
|
||||
proto_smb2 = proto_register_protocol("SMB2 (Server Message Block Protocol version 2)",
|
||||
|
|
Loading…
Reference in a new issue