diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2008-10-01 01:42:10 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2008-10-01 01:42:10 +0000 |
commit | 7d2d4543733296e7fe8e528ae9d936c37660bba3 (patch) | |
tree | 6c8bacd75e2388f9661d25368ecf2c096df3cc12 | |
parent | f413579fdc8cac1982b9aafa5e17ffa6ac31fbfb (diff) |
add description of PolicyServerRole
svn path=/trunk/; revision=26322
-rw-r--r-- | epan/dissectors/packet-dcerpc-lsa.c | 40 | ||||
-rw-r--r-- | epan/dissectors/packet-dcerpc-lsa.h | 4 | ||||
-rw-r--r-- | epan/dissectors/pidl/lsa.idl | 8 |
3 files changed, 35 insertions, 17 deletions
diff --git a/epan/dissectors/packet-dcerpc-lsa.c b/epan/dissectors/packet-dcerpc-lsa.c index 4bdd66612e..7f9c5a05b8 100644 --- a/epan/dissectors/packet-dcerpc-lsa.c +++ b/epan/dissectors/packet-dcerpc-lsa.c @@ -405,7 +405,6 @@ static gint hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info = - static gint hf_lsarpc_lsa_TrustedDomainInfo_posix_offset = -1; static gint hf_lsarpc_lsa_DomainInfoKerberos_unknown6 = -1; static gint hf_lsarpc_lsa_LookupSids2_unknown1 = -1; -static gint hf_lsarpc_lsa_ServerRole_unknown = -1; static gint hf_lsarpc_lsa_OpenAccount_sid = -1; static gint hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle = -1; static gint hf_lsarpc_lsa_DnsDomainInfo_domain_guid = -1; @@ -729,7 +728,11 @@ static int lsarpc_dissect_element_lsa_DomainInfo_name(tvbuff_t *tvb _U_, int off static int lsarpc_dissect_element_lsa_DomainInfo_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_); static int lsarpc_dissect_element_lsa_DomainInfo_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_); static int lsarpc_dissect_element_lsa_PDAccountInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_); -static int lsarpc_dissect_element_lsa_ServerRole_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_); +const value_string lsarpc_lsa_PolicyServerRole_vals[] = { + { LSA_POLICY_ROLE_BACKUP, "LSA_POLICY_ROLE_BACKUP" }, + { LSA_POLICY_ROLE_PRIMARY, "LSA_POLICY_ROLE_PRIMARY" }, +{ 0, NULL } +}; static int lsarpc_dissect_element_lsa_ServerRole_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_); static int lsarpc_dissect_element_lsa_ReplicaSourceInfo_source(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_); static int lsarpc_dissect_element_lsa_ReplicaSourceInfo_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_); @@ -2673,23 +2676,34 @@ lsarpc_dissect_struct_lsa_PDAccountInfo(tvbuff_t *tvb _U_, int offset _U_, packe } -/* IDL: struct { */ -/* IDL: uint16 unknown; */ -/* IDL: uint16 role; */ +/* IDL: enum { */ +/* IDL: LSA_POLICY_ROLE_BACKUP=2, */ +/* IDL: LSA_POLICY_ROLE_PRIMARY=3, */ /* IDL: } */ -static int -lsarpc_dissect_element_lsa_ServerRole_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) +int +lsarpc_dissect_enum_lsa_PolicyServerRole(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_) { - offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_lsarpc_lsa_ServerRole_unknown, 0); - + guint16 parameter=0; + if(param){ + parameter=(guint16)*param; + } + offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, ¶meter); + if(param){ + *param=(guint32)parameter; + } return offset; } + +/* IDL: struct { */ +/* IDL: lsa_PolicyServerRole role; */ +/* IDL: } */ + static int lsarpc_dissect_element_lsa_ServerRole_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_) { - offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_lsarpc_lsa_ServerRole_role, 0); + offset = lsarpc_dissect_enum_lsa_PolicyServerRole(tvb, offset, pinfo, tree, drep, hf_lsarpc_lsa_ServerRole_role, 0); return offset; } @@ -2710,8 +2724,6 @@ lsarpc_dissect_struct_lsa_ServerRole(tvbuff_t *tvb _U_, int offset _U_, packet_i tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ServerRole); } - offset = lsarpc_dissect_element_lsa_ServerRole_unknown(tvb, offset, pinfo, tree, drep); - offset = lsarpc_dissect_element_lsa_ServerRole_role(tvb, offset, pinfo, tree, drep); @@ -12316,8 +12328,6 @@ void proto_register_dcerpc_lsarpc(void) { "Unknown6", "lsarpc.lsa_DomainInfoKerberos.unknown6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }}, { &hf_lsarpc_lsa_LookupSids2_unknown1, { "Unknown1", "lsarpc.lsa_LookupSids2.unknown1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, - { &hf_lsarpc_lsa_ServerRole_unknown, - { "Unknown", "lsarpc.lsa_ServerRole.unknown", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }}, { &hf_lsarpc_lsa_OpenAccount_sid, { "Sid", "lsarpc.lsa_OpenAccount.sid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }}, { &hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle, @@ -12435,7 +12445,7 @@ void proto_register_dcerpc_lsarpc(void) { &hf_lsarpc_lsa_PrivEntry_name, { "Name", "lsarpc.lsa_PrivEntry.name", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, { &hf_lsarpc_lsa_ServerRole_role, - { "Role", "lsarpc.lsa_ServerRole.role", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }}, + { "Role", "lsarpc.lsa_ServerRole.role", FT_UINT16, BASE_DEC, VALS(lsarpc_lsa_PolicyServerRole_vals), 0, "", HFILL }}, { &hf_lsarpc_lsa_TranslatedSid3_sid_type, { "Sid Type", "lsarpc.lsa_TranslatedSid3.sid_type", FT_UINT16, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, "", HFILL }}, { &hf_lsarpc_lsa_LookupNames4_num_names, diff --git a/epan/dissectors/packet-dcerpc-lsa.h b/epan/dissectors/packet-dcerpc-lsa.h index e0da7081c8..9e582b12f4 100644 --- a/epan/dissectors/packet-dcerpc-lsa.h +++ b/epan/dissectors/packet-dcerpc-lsa.h @@ -63,6 +63,10 @@ int lsarpc_dissect_enum_lsa_PolicyAuditEventType(tvbuff_t *tvb _U_, int offset _ int lsarpc_dissect_struct_lsa_AuditEventsInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_); int lsarpc_dissect_struct_lsa_DomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_); int lsarpc_dissect_struct_lsa_PDAccountInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_); +#define LSA_POLICY_ROLE_BACKUP (2) +#define LSA_POLICY_ROLE_PRIMARY (3) +extern const value_string lsarpc_lsa_PolicyServerRole_vals[]; +int lsarpc_dissect_enum_lsa_PolicyServerRole(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_); int lsarpc_dissect_struct_lsa_ServerRole(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_); int lsarpc_dissect_struct_lsa_ReplicaSourceInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_); int lsarpc_dissect_struct_lsa_DefaultQuotaInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_); diff --git a/epan/dissectors/pidl/lsa.idl b/epan/dissectors/pidl/lsa.idl index 4b43f05155..93bbbdc293 100644 --- a/epan/dissectors/pidl/lsa.idl +++ b/epan/dissectors/pidl/lsa.idl @@ -225,9 +225,13 @@ lsa_String name; } lsa_PDAccountInfo; + typedef enum { + LSA_POLICY_ROLE_BACKUP = 2, + LSA_POLICY_ROLE_PRIMARY = 3 + } lsa_PolicyServerRole; + typedef struct { - uint16 unknown; /* an midl padding bug? */ - uint16 role; + lsa_PolicyServerRole role; } lsa_ServerRole; typedef struct { |