aboutsummaryrefslogtreecommitdiffstats
path: root/packet-smb.c
diff options
context:
space:
mode:
authorRichard Sharpe <sharpe@ns.aus.com>2004-03-30 07:39:05 +0000
committerRichard Sharpe <sharpe@ns.aus.com>2004-03-30 07:39:05 +0000
commitfc71b11d56adcbf8039adea9cdad6fdf942fe6ec (patch)
treea03409868052c6d6d519b2ca1778d81b0950cbfb /packet-smb.c
parent9348381d23866d59fcfc99b5ed1b17b022491ad3 (diff)
Add the mask for an NT ACL ACE to the summary list for each ACE. This
means we don't have to expand the ACE to see what the permission mask is. There are a couple of other places where this could be used, but I have not done anything about them. svn path=/trunk/; revision=10515
Diffstat (limited to 'packet-smb.c')
-rw-r--r--packet-smb.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/packet-smb.c b/packet-smb.c
index d8ae524503..169946f29c 100644
--- a/packet-smb.c
+++ b/packet-smb.c
@@ -3,7 +3,7 @@
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
* 2001 Rewrite by Ronnie Sahlberg and Guy Harris
*
- * $Id: packet-smb.c,v 1.388 2004/03/20 06:06:39 guy Exp $
+ * $Id: packet-smb.c,v 1.389 2004/03/30 07:39:05 sharpe Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -7502,7 +7502,7 @@ static void map_standard_access(guint32 *access_mask,
int
dissect_nt_access_mask(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex,
- struct access_mask_info *ami)
+ struct access_mask_info *ami, guint32 *perms)
{
proto_item *item;
proto_tree *subtree, *generic_tree, *standard_tree, *specific_tree;
@@ -7528,6 +7528,10 @@ dissect_nt_access_mask(tvbuff_t *tvb, gint offset, packet_info *pinfo,
offset += 4;
}
+ if (perms) {
+ *perms = access;
+ }
+
item = proto_tree_add_uint(tree, hfindex, tvb, offset - 4, 4, access);
subtree = proto_item_add_subtree(item, ett_nt_access_mask);
@@ -7721,6 +7725,7 @@ dissect_nt_v2_ace(tvbuff_t *tvb, int offset, packet_info *pinfo,
char *sid_str = NULL;
guint8 type;
guint8 flags;
+ guint32 perms = 0;
if(parent_tree){
item = proto_tree_add_text(parent_tree, tvb, offset, -1,
@@ -7743,15 +7748,17 @@ dissect_nt_v2_ace(tvbuff_t *tvb, int offset, packet_info *pinfo,
/* access mask */
offset = dissect_nt_access_mask(
- tvb, offset, pinfo, tree, drep, hf_smb_access_mask, ami);
+ tvb, offset, pinfo, tree, drep,
+ hf_smb_access_mask, ami, &perms);
/* SID */
offset = dissect_nt_sid(tvb, offset, tree, "ACE", &sid_str, -1);
if (item)
proto_item_append_text(
- item, "%s, flags 0x%02x, %s", sid_str, flags,
- val_to_str(type, ace_type_vals, "Unknown ACE type (0x%02x)"));
+ item, "%s, flags 0x%02x, %s, mask 0x%08x", sid_str, flags,
+ val_to_str(type, ace_type_vals, "Unknown ACE type (0x%02x)"),
+ perms);
g_free(sid_str);