Added LSAStorePrivateData and LSARetrievePrivateData
svn path=/trunk/; revision=5344
This commit is contained in:
parent
9eee5a67be
commit
9dba75997a
|
@ -3,7 +3,7 @@
|
|||
* Copyright 2001, Tim Potter <tpot@samba.org>
|
||||
* 2002 Added LSA command dissectors Ronnie Sahlberg
|
||||
*
|
||||
* $Id: packet-dcerpc-lsa.c,v 1.40 2002/05/02 06:13:07 sahlberg Exp $
|
||||
* $Id: packet-dcerpc-lsa.c,v 1.41 2002/05/02 06:21:52 sahlberg Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -83,6 +83,7 @@ static int hf_lsa_mod_mtime = -1;
|
|||
static int hf_lsa_cur_mtime = -1;
|
||||
static int hf_lsa_old_mtime = -1;
|
||||
static int hf_lsa_name = -1;
|
||||
static int hf_lsa_key = -1;
|
||||
static int hf_lsa_flat_name = -1;
|
||||
static int hf_lsa_forest = -1;
|
||||
static int hf_lsa_info_type = -1;
|
||||
|
@ -260,6 +261,18 @@ lsa_dissect_LSA_SECRET(tvbuff_t *tvb, int offset,
|
|||
return offset;
|
||||
}
|
||||
|
||||
static int
|
||||
lsa_dissect_LSA_SECRET_pointer(tvbuff_t *tvb, int offset,
|
||||
packet_info *pinfo, proto_tree *tree,
|
||||
char *drep)
|
||||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_SECRET, NDR_POINTER_UNIQUE,
|
||||
"LSA_SECRET pointer: data", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
static int
|
||||
lsa_dissect_LSA_SECURITY_DESCRIPTOR_data(tvbuff_t *tvb, int offset,
|
||||
packet_info *pinfo, proto_tree *tree,
|
||||
|
@ -3298,6 +3311,74 @@ lsa_dissect_lsalookupprivilegedisplayname_reply(tvbuff_t *tvb, int offset,
|
|||
return offset;
|
||||
}
|
||||
|
||||
static int
|
||||
lsa_dissect_lsastoreprivatedata_rqst(tvbuff_t *tvb, int offset,
|
||||
packet_info *pinfo, proto_tree *tree, char *drep)
|
||||
{
|
||||
/* [in] LSA_HANDLE hnd */
|
||||
offset = lsa_dissect_LSA_HANDLE(tvb, offset,
|
||||
pinfo, tree, drep);
|
||||
|
||||
/* [in, ref] LSA_UNICODE_STRING *key */
|
||||
offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_key, 0);
|
||||
|
||||
/* [in, unique] LSA_SECRET **data */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_SECRET_pointer, NDR_POINTER_UNIQUE,
|
||||
"LSA_SECRET* pointer: data", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
lsa_dissect_lsastoreprivatedata_reply(tvbuff_t *tvb, int offset,
|
||||
packet_info *pinfo, proto_tree *tree, char *drep)
|
||||
{
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_rc, NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
static int
|
||||
lsa_dissect_lsaretrieveprivatedata_rqst(tvbuff_t *tvb, int offset,
|
||||
packet_info *pinfo, proto_tree *tree, char *drep)
|
||||
{
|
||||
/* [in] LSA_HANDLE hnd */
|
||||
offset = lsa_dissect_LSA_HANDLE(tvb, offset,
|
||||
pinfo, tree, drep);
|
||||
|
||||
/* [in, ref] LSA_UNICODE_STRING *key */
|
||||
offset = dissect_ndr_nt_UNICODE_STRING(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_key, 0);
|
||||
|
||||
/* [in, out, ref] LSA_SECRET **data */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_SECRET_pointer, NDR_POINTER_REF,
|
||||
"LSA_SECRET* pointer: data", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
lsa_dissect_lsaretrieveprivatedata_reply(tvbuff_t *tvb, int offset,
|
||||
packet_info *pinfo, proto_tree *tree, char *drep)
|
||||
{
|
||||
/* [in, out, ref] LSA_SECRET **data */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_SECRET_pointer, NDR_POINTER_REF,
|
||||
"LSA_SECRET* pointer: data", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_rc, NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static dcerpc_sub_dissector dcerpc_lsa_dissectors[] = {
|
||||
|
@ -3428,17 +3509,11 @@ static dcerpc_sub_dissector dcerpc_lsa_dissectors[] = {
|
|||
lsa_dissect_lsadeletetrusteddomain_rqst,
|
||||
lsa_dissect_lsadeletetrusteddomain_reply },
|
||||
{ LSA_LSASTOREPRIVATEDATA, "LSASTOREPRIVATEDATA",
|
||||
NULL, NULL },
|
||||
#ifdef REMOVED
|
||||
lsa_dissect_lsastoreprivatedata_rqst,
|
||||
lsa_dissect_lsastoreprivatedata_reply },
|
||||
#endif
|
||||
{ LSA_LSARETRIEVEPRIVATEDATA, "LSARETRIEVEPRIVATEDATA",
|
||||
NULL, NULL },
|
||||
#ifdef REMOVED
|
||||
lsa_dissect_lsaretrieveprivatedata_rqst,
|
||||
lsa_dissect_lsaretrieveprivatedata_reply },
|
||||
#endif
|
||||
{ LSA_LSAOPENPOLICY2, "LSAOPENPOLICY2",
|
||||
lsa_dissect_lsaopenpolicy2_rqst,
|
||||
lsa_dissect_lsaopenpolicy2_reply },
|
||||
|
@ -3691,6 +3766,10 @@ proto_register_dcerpc_lsa(void)
|
|||
{ "Name", "lsa.name", FT_STRING, BASE_NONE,
|
||||
NULL, 0x0, "", HFILL }},
|
||||
|
||||
{ &hf_lsa_key,
|
||||
{ "Key", "lsa.key", FT_BYTES, BASE_NONE,
|
||||
NULL, 0x0, "", HFILL }},
|
||||
|
||||
{ &hf_lsa_flat_name,
|
||||
{ "Flat Name", "lsa.flat_name", FT_STRING, BASE_NONE,
|
||||
NULL, 0x0, "", HFILL }},
|
||||
|
|
Loading…
Reference in New Issue