forked from osmocom/wireshark
add dissection of the bits for the Connect[0-5] access_masks
svn path=/trunk/; revision=22260
This commit is contained in:
parent
1d9162b3a2
commit
58db64e69f
|
@ -52,8 +52,51 @@ TYPE lsa_SidArray "offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, dre
|
|||
|
||||
TYPE lsa_Strings "offset=cnf_dissect_lsa_Strings(tvb, offset, pinfo, tree, drep);" FT_NONE BASE_NONE 0 NULL 4
|
||||
|
||||
|
||||
#
|
||||
# ConnectX access masks
|
||||
#
|
||||
MANUAL samr_dissect_bitmap_ConnectAccessMask
|
||||
HF_FIELD hf_samr_connect_access_mask "Access Mask" "samr.connect.access_mask" FT_UINT32 BASE_HEX NULL 0 "" "" ""
|
||||
HF_RENAME hf_samr_samr_Connect_access_mask hf_samr_connect_access_mask
|
||||
HF_RENAME hf_samr_samr_Connect2_access_mask hf_samr_connect_access_mask
|
||||
HF_RENAME hf_samr_samr_Connect3_access_mask hf_samr_connect_access_mask
|
||||
HF_RENAME hf_samr_samr_Connect4_access_mask hf_samr_connect_access_mask
|
||||
HF_RENAME hf_samr_samr_Connect5_access_mask hf_samr_connect_access_mask
|
||||
|
||||
|
||||
CODE START
|
||||
|
||||
static void
|
||||
samr_connect_specific_rights(tvbuff_t *tvb, gint offset, proto_tree *tree, guint32 access)
|
||||
{
|
||||
proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_OPEN_DOMAIN, tvb, offset, 4, access);
|
||||
proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS, tvb, offset, 4, access);
|
||||
proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN, tvb, offset, 4, access);
|
||||
proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER, tvb, offset, 4, access);
|
||||
proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER, tvb, offset, 4, access);
|
||||
proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER, tvb, offset, 4, access);
|
||||
}
|
||||
|
||||
struct access_mask_info samr_connect_access_mask_info = {
|
||||
"SAMR Connect", /* Name of specific rights */
|
||||
samr_connect_specific_rights, /* Dissection function */
|
||||
NULL, /* Generic mapping table */
|
||||
NULL /* Standard mapping table */
|
||||
};
|
||||
|
||||
int
|
||||
samr_dissect_bitmap_ConnectAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index _U_, guint32 param _U_)
|
||||
{
|
||||
offset = dissect_nt_access_mask(
|
||||
tvb, offset, pinfo, tree, drep, hf_samr_connect_access_mask,
|
||||
&samr_connect_access_mask_info, NULL);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static int
|
||||
cnf_dissect_lsa_String(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, guint32 param, int hfindex)
|
||||
{
|
||||
|
|
|
@ -47,12 +47,21 @@
|
|||
ACB_NO_AUTH_DATA_REQD = 0x00080000 /* 1 = No authorization data required */
|
||||
} samr_AcctFlags;
|
||||
|
||||
typedef [public,bitmap32bit] bitmap {
|
||||
SAMR_ACCESS_CONNECT_TO_SERVER = 0x00000001,
|
||||
SAMR_ACCESS_SHUTDOWN_SERVER = 0x00000002,
|
||||
SAMR_ACCESS_INITIALIZE_SERVER = 0x00000004,
|
||||
SAMR_ACCESS_CREATE_DOMAIN = 0x00000008,
|
||||
SAMR_ACCESS_ENUM_DOMAINS = 0x00000010,
|
||||
SAMR_ACCESS_OPEN_DOMAIN = 0x00000020
|
||||
} samr_ConnectAccessMask;
|
||||
|
||||
/******************/
|
||||
/* Function: 0x00 */
|
||||
NTSTATUS samr_Connect (
|
||||
/* notice the lack of [string] */
|
||||
[in] uint16 *system_name,
|
||||
[in] uint32 access_mask,
|
||||
[in] samr_ConnectAccessMask access_mask,
|
||||
[out,ref] policy_handle *connect_handle
|
||||
);
|
||||
|
||||
|
@ -1124,7 +1133,7 @@
|
|||
/* Function 0x39 */
|
||||
NTSTATUS samr_Connect2(
|
||||
[in,string,charset(UTF16)] uint16 *system_name,
|
||||
[in] uint32 access_mask,
|
||||
[in] samr_ConnectAccessMask access_mask,
|
||||
[out,ref] policy_handle *connect_handle
|
||||
);
|
||||
|
||||
|
@ -1164,7 +1173,7 @@
|
|||
[in,string,charset(UTF16)] uint16 *system_name,
|
||||
/* this unknown value seems to be completely ignored by w2k3 */
|
||||
[in] uint32 unknown,
|
||||
[in] uint32 access_mask,
|
||||
[in] samr_ConnectAccessMask access_mask,
|
||||
[out,ref] policy_handle *connect_handle
|
||||
);
|
||||
|
||||
|
@ -1173,7 +1182,7 @@
|
|||
NTSTATUS samr_Connect4(
|
||||
[in,string,charset(UTF16)] uint16 *system_name,
|
||||
[in] uint32 unknown,
|
||||
[in] uint32 access_mask,
|
||||
[in] samr_ConnectAccessMask access_mask,
|
||||
[out,ref] policy_handle *connect_handle
|
||||
);
|
||||
|
||||
|
@ -1217,7 +1226,7 @@
|
|||
|
||||
[public] NTSTATUS samr_Connect5(
|
||||
[in,string,charset(UTF16)] uint16 *system_name,
|
||||
[in] uint32 access_mask,
|
||||
[in] samr_ConnectAccessMask access_mask,
|
||||
[in,out] uint32 level,
|
||||
[in,out,switch_is(level),ref] samr_ConnectInfo *info,
|
||||
[out,ref] policy_handle *connect_handle
|
||||
|
|
Loading…
Reference in New Issue