aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dcerpc-samr.c
diff options
context:
space:
mode:
authortpot <tpot@f5534014-38df-0310-8fa8-9805f1628bb7>2002-08-13 07:59:33 +0000
committertpot <tpot@f5534014-38df-0310-8fa8-9805f1628bb7>2002-08-13 07:59:33 +0000
commit3f967efe47ef5c78923d523914dea752d9ff238d (patch)
treeecf058be69b13bc9c92211b81065fcfdc8118725 /packet-dcerpc-samr.c
parent04477bac01b99d3fb6095848b1493e6ad19ea85e (diff)
The unknown uint32 in create user2 reply is an access granted mask.
Assign some names to policy handles generated by open/create domain/user/group. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5987 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-dcerpc-samr.c')
-rw-r--r--packet-dcerpc-samr.c68
1 files changed, 55 insertions, 13 deletions
diff --git a/packet-dcerpc-samr.c b/packet-dcerpc-samr.c
index 8cb2d8a0e0..9b425b1d3b 100644
--- a/packet-dcerpc-samr.c
+++ b/packet-dcerpc-samr.c
@@ -3,7 +3,7 @@
* Copyright 2001, Tim Potter <tpot@samba.org>
* 2002 Added all command dissectors Ronnie Sahlberg
*
- * $Id: packet-dcerpc-samr.c,v 1.53 2002/08/07 01:04:51 tpot Exp $
+ * $Id: packet-dcerpc-samr.c,v 1.54 2002/08/13 07:59:33 tpot Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -76,6 +76,7 @@ static int hf_samr_server = -1;
static int hf_samr_domain = -1;
static int hf_samr_controller = -1;
static int hf_samr_access = -1;
+static int hf_samr_access_granted = -1;
static int hf_samr_mask = -1;
static int hf_samr_crypt_password = -1;
static int hf_samr_crypt_hash = -1;
@@ -356,11 +357,15 @@ samr_dissect_open_user_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "OpenUser handle");
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
- hf_samr_rc, NULL);
+ hf_samr_rc, NULL);
return offset;
}
@@ -939,8 +944,12 @@ samr_dissect_connect2_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "Connect2 handle");
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
hf_samr_rc, NULL);
@@ -970,8 +979,12 @@ samr_dissect_connect_anon_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "ConnectAnon handle");
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
hf_samr_rc, NULL);
@@ -1099,8 +1112,12 @@ samr_dissect_open_domain_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "OpenDomain handle");
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
hf_samr_rc, NULL);
@@ -1200,8 +1217,12 @@ samr_dissect_create_alias_in_domain_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "CreateAlias handle");
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_samr_rid, NULL);
@@ -1489,11 +1510,16 @@ samr_dissect_create_user2_in_domain_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "CreateUser2 handle");
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
- hf_samr_unknown_long, NULL);
+ hf_samr_access_granted, NULL);
+
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_samr_rid, NULL);
@@ -1758,7 +1784,7 @@ samr_dissect_get_domain_password_information_reply(tvbuff_t *tvb, int offset,
* "samr_dissect_get_usrdom_pwinfo_reply()"?
*/
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, NULL, FALSE, FALSE);
return offset;
}
@@ -3947,8 +3973,12 @@ samr_dissect_open_group_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "OpenGroup handle");
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
hf_samr_rc, NULL);
@@ -3986,8 +4016,12 @@ samr_dissect_open_alias_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "OpenAlias handle");
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
hf_samr_rc, NULL);
@@ -4044,8 +4078,12 @@ samr_dissect_create_group_in_domain_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
char *drep)
{
+ e_ctx_hnd policy_hnd;
+
offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
- hf_samr_hnd, NULL, TRUE, FALSE);
+ hf_samr_hnd, &policy_hnd, TRUE, FALSE);
+
+ dcerpc_smb_store_pol_name(&policy_hnd, "CreateGroup handle");
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
hf_samr_rid, NULL);
@@ -4543,6 +4581,10 @@ proto_register_dcerpc_samr(void)
{ "Access Mask", "samr.access", FT_UINT32, BASE_HEX,
NULL, 0x0, "Access", HFILL }},
+ { &hf_samr_access_granted,
+ { "Access Granted", "samr.access_granted", FT_UINT32, BASE_HEX,
+ NULL, 0x0, "Access Granted", HFILL }},
+
{ &hf_samr_mask,
{ "Mask", "samr.mask", FT_UINT32, BASE_HEX,
NULL, 0x0, "Mask", HFILL }},