forked from osmocom/wireshark
Changed toplevel REF pointer dissection to create a subtree. Not creating a subtree was a design mistake which caused ugliness in the unicode string str dissector and in other places.
Dissectors will temporarily have less pretty output for topleve ref pointers until their output is retuned. svn path=/trunk/; revision=5573
This commit is contained in:
parent
1303868b7d
commit
259903dc66
|
@ -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.47 2002/05/11 22:29:43 guy Exp $
|
||||
* $Id: packet-dcerpc-lsa.c,v 1.48 2002/05/27 09:50:57 sahlberg Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -481,7 +481,7 @@ lsa_dissect_lsaclose_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE_close, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
@ -492,7 +492,7 @@ lsa_dissect_lsaclose_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_rc, NULL);
|
||||
|
||||
|
@ -521,7 +521,7 @@ lsa_dissect_lsaopenpolicy_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_OBJECT_ATTRIBUTES, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"OBJECT_ATTRIBUTES", -1, 0);
|
||||
|
||||
offset = lsa_dissect_ACCESS_MASK(tvb, offset,
|
||||
pinfo, tree, drep);
|
||||
|
@ -535,7 +535,7 @@ lsa_dissect_lsaopenpolicy_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE_open, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_rc, NULL);
|
||||
|
||||
|
@ -552,7 +552,7 @@ lsa_dissect_lsaopenpolicy2_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_OBJECT_ATTRIBUTES, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"OBJECT_ATTRIBUTES", -1, 0);
|
||||
|
||||
offset = lsa_dissect_ACCESS_MASK(tvb, offset,
|
||||
pinfo, tree, drep);
|
||||
|
@ -566,7 +566,7 @@ lsa_dissect_lsaopenpolicy2_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE_open, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_rc, NULL);
|
||||
|
||||
|
@ -595,7 +595,7 @@ lsa_dissect_lsaqueryinformationpolicy_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_policy_information_class, NULL);
|
||||
|
@ -1058,7 +1058,7 @@ lsa_dissect_lsadelete_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1257,7 +1257,7 @@ lsa_dissect_lsalookupsids_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_PSID_ARRAY, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PSID_ARRAY", -1, 0);
|
||||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_TRANSLATED_NAMES, NDR_POINTER_REF,
|
||||
|
@ -2132,7 +2132,7 @@ lsa_dissect_lsaenumerateaccounts_reply(tvbuff_t *tvb, int offset,
|
|||
/* [out, ref] PSID_ARRAY **accounts */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_PSID_ARRAY, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PSID_ARRAY", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_rc, NULL);
|
||||
|
@ -3110,7 +3110,7 @@ lsa_dissect_lsafunction_2e_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_policy_information_class, NULL);
|
||||
|
@ -3138,7 +3138,7 @@ lsa_dissect_lsafunction_2f_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_policy_information_class, NULL);
|
||||
|
@ -3166,7 +3166,7 @@ lsa_dissect_lsaquerydomaininformationpolicy_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_policy_information_class, NULL);
|
||||
|
@ -3194,7 +3194,7 @@ lsa_dissect_lsasetdomaininformationpolicy_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: hnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_policy_information_class, NULL);
|
||||
|
@ -3431,7 +3431,7 @@ lsa_dissect_lsaclosetrusteddomainex_rqst(tvbuff_t *tvb, int offset,
|
|||
/* [in, out] LSA_HANDLE *tdHnd */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: tdHnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -3445,7 +3445,7 @@ lsa_dissect_lsaclosetrusteddomainex_reply(tvbuff_t *tvb, int offset,
|
|||
/* [in, out] LSA_HANDLE *tdHnd */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_HANDLE, NDR_POINTER_REF,
|
||||
"LSA_HANDLE pointer: tdHnd", -1, 0);
|
||||
"LSA_HANDLE", -1, 0);
|
||||
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_lsa_rc, NULL);
|
||||
|
@ -3521,7 +3521,7 @@ lsa_dissect_lsalookupsids2_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_PSID_ARRAY, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PSID_ARRAY", -1, 0);
|
||||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
lsa_dissect_LSA_TRANSLATED_NAMES_EX, NDR_POINTER_REF,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Routines for MS Exchange MAPI
|
||||
* Copyright 2002, Ronnie Sahlberg
|
||||
*
|
||||
* $Id: packet-dcerpc-mapi.c,v 1.7 2002/05/25 11:26:30 sahlberg Exp $
|
||||
* $Id: packet-dcerpc-mapi.c,v 1.8 2002/05/27 09:50:57 sahlberg Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -235,7 +235,7 @@ mapi_logon_rqst(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_STRING_string, NDR_POINTER_REF,
|
||||
"", hf_mapi_unknown_string, -1);
|
||||
"unknown string", hf_mapi_unknown_string, -1);
|
||||
|
||||
DISSECT_UNKNOWN(tvb_length_remaining(tvb, offset));
|
||||
|
||||
|
@ -256,13 +256,13 @@ mapi_logon_reply(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_STRING_string, NDR_POINTER_REF,
|
||||
"", hf_mapi_unknown_string, -1);
|
||||
"unknown string", hf_mapi_unknown_string, -1);
|
||||
|
||||
DISSECT_UNKNOWN(6); /* possibly 1 or 2 bytes padding here */
|
||||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_STRING_string, NDR_POINTER_REF,
|
||||
"", hf_mapi_unknown_string, -1);
|
||||
"unknown string", hf_mapi_unknown_string, -1);
|
||||
|
||||
DISSECT_UNKNOWN( tvb_length_remaining(tvb, offset)-4 );
|
||||
|
||||
|
@ -284,7 +284,7 @@ mapi_unknown_02_request(tvbuff_t *tvb, int offset,
|
|||
encrypted data */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_STRING_string, NDR_POINTER_REF,
|
||||
"", hf_mapi_unknown_data, -1);
|
||||
"unknown data", hf_mapi_unknown_data, -1);
|
||||
} else {
|
||||
offset = mapi_decrypt_pdu(tvb, offset, pinfo, tree, drep);
|
||||
}
|
||||
|
@ -310,7 +310,7 @@ mapi_unknown_02_reply(tvbuff_t *tvb, int offset,
|
|||
encrypted data */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_STRING_string, NDR_POINTER_REF,
|
||||
"", hf_mapi_unknown_data, -1);
|
||||
"unknown data", hf_mapi_unknown_data, -1);
|
||||
} else {
|
||||
offset = mapi_decrypt_pdu(tvb, offset, pinfo, tree, drep);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Routines for DCERPC NDR dissection
|
||||
* Copyright 2001, Todd Sabin <tas@webspan.net>
|
||||
*
|
||||
* $Id: packet-dcerpc-ndr.c,v 1.5 2002/01/29 09:13:28 guy Exp $
|
||||
* $Id: packet-dcerpc-ndr.c,v 1.6 2002/05/27 09:50:57 sahlberg Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -159,13 +159,12 @@ dissect_ndr_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
return offset + 16;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
dissect_ndr_ctx_hnd (tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
||||
proto_tree *tree, char *drep,
|
||||
int hfindex, e_ctx_hnd *pdata)
|
||||
{
|
||||
e_ctx_hnd ctx_hnd;
|
||||
static e_ctx_hnd ctx_hnd;
|
||||
dcerpc_info *di;
|
||||
|
||||
di=pinfo->private_data;
|
||||
|
|
|
@ -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.45 2002/05/11 22:28:05 guy Exp $
|
||||
* $Id: packet-dcerpc-samr.c,v 1.46 2002/05/27 09:50:57 sahlberg Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -774,13 +774,13 @@ samr_dissect_query_dispinfo_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_total_size, 0);
|
||||
"Total Size", hf_samr_total_size, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_ret_size, 0);
|
||||
"Returned Size", hf_samr_ret_size, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_DISPLAY_INFO, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"DISPLAY_INFO:", -1, 0);
|
||||
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
||||
|
@ -812,7 +812,7 @@ samr_dissect_get_display_enumeration_index_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_index, 0);
|
||||
"Index", hf_samr_index, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -868,7 +868,7 @@ samr_dissect_get_usrdom_pwinfo_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_PASSWORD_INFO, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PASSWORD_INFO:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -1054,7 +1054,7 @@ samr_dissect_get_groups_for_user_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_USER_GROUP_ARRAY_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"USER_GROUP_ARRAY:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -1075,7 +1075,7 @@ samr_dissect_open_domain_rqst(tvbuff_t *tvb, int offset,
|
|||
hf_samr_access, NULL);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_SID, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"SID:", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
@ -1093,6 +1093,7 @@ samr_dissect_open_domain_reply(tvbuff_t *tvb, int offset,
|
|||
return offset;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int
|
||||
samr_dissect_context_handle_SID(tvbuff_t *tvb, int offset,
|
||||
packet_info *pinfo, proto_tree *tree,
|
||||
|
@ -1106,6 +1107,7 @@ samr_dissect_context_handle_SID(tvbuff_t *tvb, int offset,
|
|||
"SID", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
samr_dissect_add_member_to_group_rqst(tvbuff_t *tvb, int offset,
|
||||
|
@ -1153,7 +1155,7 @@ samr_dissect_unknown_3c_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_short, NDR_POINTER_REF,
|
||||
"", hf_samr_unknown_short, 0);
|
||||
"unknown short", hf_samr_unknown_short, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -1282,7 +1284,7 @@ samr_dissect_query_information_alias_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_ALIAS_INFO_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"ALIAS_INFO:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -1302,7 +1304,7 @@ samr_dissect_set_information_alias_rqst(tvbuff_t *tvb, int offset,
|
|||
hf_samr_level, NULL);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_ALIAS_INFO, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"ALIAS_INFO:", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
@ -1313,7 +1315,7 @@ samr_dissect_set_information_alias_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_ALIAS_INFO_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"ALIAS_INFO", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -1680,7 +1682,7 @@ samr_dissect_query_information_group_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_GROUP_INFO_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"GROUP_INFO", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -1699,7 +1701,7 @@ samr_dissect_set_information_group_rqst(tvbuff_t *tvb, int offset,
|
|||
hf_samr_level, NULL);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_GROUP_INFO, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"GROUP_INFO", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
@ -2035,7 +2037,7 @@ samr_dissect_lookup_domain_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_UNICODE_STRING, NDR_POINTER_REF,
|
||||
"", hf_samr_domain, 0);
|
||||
"Domain:", hf_samr_domain, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2047,7 +2049,7 @@ samr_dissect_lookup_domain_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_SID_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"SID:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -2251,7 +2253,7 @@ samr_dissect_get_alias_membership_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_PSID_ARRAY, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PSID_ARRAY:", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2263,7 +2265,7 @@ samr_dissect_get_alias_membership_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_INDEX_ARRAY, NDR_POINTER_REF,
|
||||
"", hf_samr_alias, 0);
|
||||
"INDEX_ARRAY:", hf_samr_alias, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -2379,7 +2381,7 @@ samr_dissect_enum_domains_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_resume_hnd, 0);
|
||||
"Resume Handle:", hf_samr_resume_hnd, 0);
|
||||
|
||||
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_pref_maxsize, NULL);
|
||||
|
@ -2394,13 +2396,13 @@ samr_dissect_enum_domains_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_resume_hnd, 0);
|
||||
"Resume Handle:", hf_samr_resume_hnd, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_IDX_AND_NAME_ARRAY_ptr, NDR_POINTER_REF,
|
||||
"", hf_samr_domain, 0);
|
||||
"IDX_AND_NAME_ARRAY:", hf_samr_domain, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_entries, 0);
|
||||
"Entries:", hf_samr_entries, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -2418,7 +2420,7 @@ samr_dissect_enum_dom_groups_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_resume_hnd, 0);
|
||||
"Resume Handle:", hf_samr_resume_hnd, 0);
|
||||
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_mask, NULL);
|
||||
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
|
||||
|
@ -2434,13 +2436,13 @@ samr_dissect_enum_dom_groups_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_resume_hnd, 0);
|
||||
"Resume Handle:", hf_samr_resume_hnd, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_IDX_AND_NAME_ARRAY_ptr, NDR_POINTER_REF,
|
||||
"", hf_samr_group_name, 0);
|
||||
"IDX_AND_NAME_ARRAY:", hf_samr_group_name, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_entries, 0);
|
||||
"Entries:", hf_samr_entries, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -2458,7 +2460,7 @@ samr_dissect_enum_dom_aliases_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_resume_hnd, 0);
|
||||
"Resume Handle:", hf_samr_resume_hnd, 0);
|
||||
|
||||
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_mask, NULL);
|
||||
|
@ -2476,15 +2478,15 @@ samr_dissect_enum_dom_aliases_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_resume_hnd, 0);
|
||||
"Resume Handle:", hf_samr_resume_hnd, 0);
|
||||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_IDX_AND_NAME_ARRAY_ptr, NDR_POINTER_REF,
|
||||
"", hf_samr_alias_name, 0);
|
||||
"IDX_AND_NAME_ARRAY:", hf_samr_alias_name, 0);
|
||||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_pointer_long, NDR_POINTER_REF,
|
||||
"", hf_samr_entries, 0);
|
||||
"Entries:", hf_samr_entries, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -2510,7 +2512,7 @@ samr_dissect_get_members_in_alias_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_PSID_ARRAY, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PSID_ARRAY:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -3182,7 +3184,7 @@ samr_dissect_set_information_user2_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_USER_INFO, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"USER_INFO:", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -3219,7 +3221,7 @@ samr_dissect_unknown_2f_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_USER_INFO_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"USER_INFO:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -3356,7 +3358,7 @@ samr_dissect_query_groupmem_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_MEMBER_ARRAY_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"MEMBER_ARRAY:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -3468,7 +3470,7 @@ samr_dissect_lookup_names_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_LOOKUP_NAMES, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"LOOKUP_NAMES:", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -3480,10 +3482,10 @@ samr_dissect_lookup_names_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_INDEX_ARRAY, NDR_POINTER_REF,
|
||||
"", hf_samr_rid, 0);
|
||||
"Rids:", hf_samr_rid, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_INDEX_ARRAY, NDR_POINTER_REF,
|
||||
"", hf_samr_type, 0);
|
||||
"Types:", hf_samr_type, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -3538,7 +3540,7 @@ samr_dissect_lookup_rids_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_LOOKUP_RIDS, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"LOOKUP_RIDS:", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -3599,10 +3601,10 @@ samr_dissect_lookup_rids_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_UNICODE_STRING_ARRAY, NDR_POINTER_REF,
|
||||
"", hf_samr_rid, 0);
|
||||
"RIDs:", hf_samr_rid, 0);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_INDEX_ARRAY, NDR_POINTER_REF,
|
||||
"", hf_samr_type, 0);
|
||||
"Types:", hf_samr_type, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
@ -3737,7 +3739,7 @@ samr_dissect_add_alias_member_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_SID, NDR_POINTER_REF,
|
||||
"SID", -1, 0);
|
||||
"SID:", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
@ -3762,7 +3764,7 @@ samr_dissect_remove_alias_member_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_SID, NDR_POINTER_REF,
|
||||
"SID", -1, 0);
|
||||
"SID:", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
@ -3854,7 +3856,7 @@ samr_dissect_remove_member_from_foreign_domain_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_SID, NDR_POINTER_REF,
|
||||
"SID", -1, 0);
|
||||
"SID:", -1, 0);
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
@ -3882,7 +3884,7 @@ samr_dissect_remove_multiple_members_from_alias_rqst(tvbuff_t *tvb,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_PSID_ARRAY, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PSID_ARRAY:", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -3988,7 +3990,7 @@ samr_dissect_add_multiple_members_to_alias_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
dissect_ndr_nt_PSID_ARRAY, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"PSID_ARRAY:", -1, 0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -4093,7 +4095,7 @@ samr_dissect_query_information_user_reply(tvbuff_t *tvb, int offset,
|
|||
{
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
samr_dissect_USER_INFO_ptr, NDR_POINTER_REF,
|
||||
"", -1, 0);
|
||||
"USER_INFO:", -1, 0);
|
||||
|
||||
offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep,
|
||||
hf_samr_rc, NULL);
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Copyright 2002, Richard Sharpe <rsharpe@ns.aus.com>
|
||||
* decode srvsvc calls where Samba knows them ...
|
||||
*
|
||||
* $Id: packet-dcerpc-srvsvc.c,v 1.10 2002/05/27 04:11:06 sharpe Exp $
|
||||
* $Id: packet-dcerpc-srvsvc.c,v 1.11 2002/05/27 09:50:57 sahlberg Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -343,12 +343,6 @@ srvsvc_dissect_net_share_get_info_rqst(tvbuff_t *tvb, int offset,
|
|||
packet_info *pinfo, proto_tree *tree,
|
||||
char *drep)
|
||||
{
|
||||
proto_item *item = NULL;
|
||||
proto_tree *stree = NULL;
|
||||
dcerpc_info *di;
|
||||
|
||||
di=pinfo->private_data;
|
||||
|
||||
/* [IN] UNICODE_STRING_2 *srv */
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
srvsvc_dissect_pointer_UNICODE_STRING,
|
||||
|
@ -357,13 +351,12 @@ srvsvc_dissect_net_share_get_info_rqst(tvbuff_t *tvb, int offset,
|
|||
|
||||
/*
|
||||
* Construct a label for the string ...
|
||||
* [IN, REF] UNICODE_STRING_2 *share
|
||||
*/
|
||||
item = proto_tree_add_text(tree, tvb, offset, -1, "Share");
|
||||
stree = proto_item_add_subtree(item, ett_srvsvc_share_info);
|
||||
di->hf_index = hf_srvsvc_share;
|
||||
di->levels = 0;
|
||||
|
||||
offset = dissect_ndr_nt_UNICODE_STRING_str(tvb, offset, pinfo, stree, drep);
|
||||
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep,
|
||||
srvsvc_dissect_pointer_UNICODE_STRING,
|
||||
NDR_POINTER_REF, "Share",
|
||||
hf_srvsvc_share, 0);
|
||||
|
||||
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep,
|
||||
hf_srvsvc_info_level, NULL);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Routines for DCERPC packet disassembly
|
||||
* Copyright 2001, Todd Sabin <tas@webspan.net>
|
||||
*
|
||||
* $Id: packet-dcerpc.c,v 1.51 2002/05/25 08:37:44 sahlberg Exp $
|
||||
* $Id: packet-dcerpc.c,v 1.52 2002/05/27 09:50:58 sahlberg Exp $
|
||||
*
|
||||
* Ethereal - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@ethereal.com>
|
||||
|
@ -820,7 +820,15 @@ dissect_ndr_pointer(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
/*TOP LEVEL REFERENCE POINTER*/
|
||||
if( pointers_are_top_level
|
||||
&&(type==NDR_POINTER_REF) ){
|
||||
add_pointer_to_list(pinfo, tree, fnct, 0xffffffff, hf_index, levels);
|
||||
proto_item *item;
|
||||
proto_tree *tr;
|
||||
|
||||
/* we must find out a nice way to do the length here */
|
||||
item=proto_tree_add_text(tree, tvb, offset, 0,
|
||||
"%s", text);
|
||||
tr=proto_item_add_subtree(item,ett_dcerpc_pointer_data);
|
||||
|
||||
add_pointer_to_list(pinfo, tr, fnct, 0xffffffff, hf_index, levels);
|
||||
goto after_ref_id;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue