aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcom-dispatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-dcom-dispatch.c')
-rw-r--r--epan/dissectors/packet-dcom-dispatch.c136
1 files changed, 68 insertions, 68 deletions
diff --git a/epan/dissectors/packet-dcom-dispatch.c b/epan/dissectors/packet-dcom-dispatch.c
index 848fe26682..d12d700a74 100644
--- a/epan/dissectors/packet-dcom-dispatch.c
+++ b/epan/dissectors/packet-dcom-dispatch.c
@@ -104,19 +104,19 @@ static const value_string dcom_lcid_vals[] = {
int
dissect_IDispatch_GetTypeInfoCount_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32TInfo;
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_tinfo, &u32TInfo);
/* HRESULT of call */
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -127,16 +127,16 @@ dissect_IDispatch_GetTypeInfoCount_resp(tvbuff_t *tvb, int offset,
int
dissect_IDispatch_GetTypeInfo_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32TInfo;
guint32 u32Lcid;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_tinfo, &u32TInfo);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_lcid, &u32Lcid);
return offset;
@@ -145,22 +145,22 @@ dissect_IDispatch_GetTypeInfo_rqst(tvbuff_t *tvb, int offset,
int
dissect_IDispatch_GetTypeInfo_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32HResult;
guint32 u32Pointer;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_MInterfacePointer(tvb, offset, pinfo, tree, drep, hf_dispatch_itinfo, NULL /* XXX */);
+ offset = dissect_dcom_MInterfacePointer(tvb, offset, pinfo, tree, di, drep, hf_dispatch_itinfo, NULL /* XXX */);
}
/* HRESULT of call */
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -172,7 +172,7 @@ dissect_IDispatch_GetTypeInfo_resp(tvbuff_t *tvb, int offset,
int
dissect_IDispatch_GetIDsOfNames_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
e_uuid_t riid;
guint32 u32Lcid;
@@ -184,22 +184,22 @@ dissect_IDispatch_GetIDsOfNames_rqst(tvbuff_t *tvb, int offset,
guint32 u32VariableOffset;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_UUID(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_UUID(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_riid, &riid);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize * 4;
u32Tmp = u32ArraySize;
while(u32Tmp--) {
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, tree, drep,
+ u32VariableOffset = dissect_dcom_LPWSTR(tvb, u32VariableOffset, pinfo, tree, di, drep,
hf_dispatch_name, szName, sizeof(szName));
col_append_fstr(pinfo->cinfo, COL_INFO, " \"%s\"", szName);
}
@@ -207,10 +207,10 @@ dissect_IDispatch_GetIDsOfNames_rqst(tvbuff_t *tvb, int offset,
offset = u32VariableOffset;
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_names, &u32Names);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_lcid, &u32Lcid);
return offset;
@@ -220,7 +220,7 @@ dissect_IDispatch_GetIDsOfNames_rqst(tvbuff_t *tvb, int offset,
int
dissect_IDispatch_GetIDsOfNames_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32DispId;
guint32 u32ArraySize;
@@ -228,20 +228,20 @@ dissect_IDispatch_GetIDsOfNames_resp(tvbuff_t *tvb, int offset,
guint32 u32HResult;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32Tmp = u32ArraySize;
while (u32Tmp--) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_id, &u32DispId);
col_append_fstr(pinfo->cinfo, COL_INFO, " ID=0x%x", u32DispId);
}
/* HRESULT of call */
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s",
@@ -254,7 +254,7 @@ dissect_IDispatch_GetIDsOfNames_resp(tvbuff_t *tvb, int offset,
int
dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32DispIdMember;
e_uuid_t riid;
@@ -277,19 +277,19 @@ dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
proto_tree *dispparams_tree;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_id, &u32DispIdMember);
col_append_fstr(pinfo->cinfo, COL_INFO, " ID=0x%x", u32DispIdMember);
- offset = dissect_dcom_UUID(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_UUID(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_riid, &riid);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_lcid, &u32Lcid);
/* dispatch flags */
- u32TmpOffset = dissect_dcom_DWORD(tvb, offset, pinfo, NULL, drep,
+ u32TmpOffset = dissect_dcom_DWORD(tvb, offset, pinfo, NULL, di, drep,
hf_dispatch_flags, &u32Flags);
feature_item = proto_tree_add_uint (tree, hf_dispatch_flags, tvb, offset, 4, u32Flags);
feature_tree = proto_item_add_subtree (feature_item, ett_dispatch_flags);
@@ -325,27 +325,27 @@ dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
/* DISPPARAMS */
/* VARIANT rgvarg[u32Args] */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, dispparams_tree, di, drep,
&u32Pointer);
/* DISPID rgdispidNamedArgs[u32NamedArgs] */
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, dispparams_tree, di, drep,
&u32Pointer2);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, di, drep,
hf_dispatch_args, &u32Args);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, di, drep,
hf_dispatch_named_args, &u32NamedArgs);
if (u32Pointer) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, dispparams_tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize * 4;
while(u32ArraySize--) {
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, dispparams_tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, dispparams_tree, drep, hf_dispatch_arg);
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, dispparams_tree, di, drep, hf_dispatch_arg);
}
}
offset = u32VariableOffset;
@@ -353,10 +353,10 @@ dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
/* DISPID rgdispidNamedArgs[u32NamedArgs] */
if (u32Pointer2) {
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, dispparams_tree, di, drep,
&u32ArraySize);
while(u32ArraySize--) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, di, drep,
hf_dispatch_id, &u32DispIdMember);
}
}
@@ -367,26 +367,26 @@ dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
/* end of DISPPARAMS */
/* u32VarRef */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_varref, &u32VarRef);
/* rgVarRefIdx: UINT[u32VarRef] */
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
while(u32ArraySize--) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_varrefidx, &u32VarRefIdx);
}
/* rgVarRef: VARIANT[u32VarRef] */
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VariableOffset = offset + u32ArraySize * 4;
while(u32ArraySize--) {
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, tree, drep, hf_dispatch_varrefarg);
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, tree, di, drep, hf_dispatch_varrefarg);
}
}
@@ -398,7 +398,7 @@ dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
int
dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32Pointer2;
@@ -420,12 +420,12 @@ dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset,
proto_tree *excepinfo_tree;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_dispatch_varresult);
+ offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, di, drep, hf_dispatch_varresult);
}
/* ExcepInfo */
@@ -433,35 +433,35 @@ dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset,
excepinfo_tree = proto_item_add_subtree (excepinfo_item, ett_dispatch_excepinfo);
u32SubStart = offset;
- offset = dissect_dcom_WORD(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_code, &u16Code);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_reserved16, &u16Reserved);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, di, drep,
&u32Pointer);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, di, drep,
&u32Pointer2);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, di, drep,
&u32Pointer3);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_help_context, &u32HelpContext);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_reserved32, &u32Reserved);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_deferred_fill_in, &u32DeferredFillIn);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_scode, &u32SCode);
if (u32Pointer) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_source, szName, sizeof(szName));
}
if (u32Pointer2) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_description, szName, sizeof(szName));
}
if (u32Pointer3) {
- offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, drep,
+ offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, di, drep,
hf_dispatch_help_file, szName, sizeof(szName));
}
@@ -470,25 +470,25 @@ dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset,
proto_item_set_len(excepinfo_item, offset - u32SubStart);
/* end of ExcepInfo */
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_dispatch_arg_err, &u32ArgErr);
/* rgVarRef: VARIANT[u32VarRef] */
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32VarRef = u32ArraySize;
u32VariableOffset = offset + u32ArraySize * 4;
while(u32ArraySize--) {
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
if (u32Pointer) {
- u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, tree, drep, hf_dispatch_varrefarg);
+ u32VariableOffset = dissect_dcom_VARIANT(tvb, u32VariableOffset, pinfo, tree, di, drep, hf_dispatch_varrefarg);
}
}
offset = u32VariableOffset;
/* HRESULT of call */
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
col_append_fstr(pinfo->cinfo, COL_INFO, " SCode=%s VarRef=%u -> %s",