aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/pidl
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-09-18 00:10:51 -0400
committerMichael Mann <mmann78@netscape.net>2014-09-19 13:07:11 +0000
commita58c986f62a7be6fe7b69b9c372adcc2dab5f79e (patch)
tree4f608af306aee71cd59d51d75d92c907f4d9448f /epan/dissectors/pidl
parentb7940046fae473cf1d64a76ee90b23ca89b93768 (diff)
Update generated DCE/RPC dissectors.
Now all generated dissectors can successfully compile. Change-Id: I74728926915d5a9f1694cc49c753b80f213df767 Reviewed-on: https://code.wireshark.org/review/2598 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/pidl')
-rw-r--r--epan/dissectors/pidl/README62
-rw-r--r--epan/dissectors/pidl/frsrpc.cnf2
-rw-r--r--epan/dissectors/pidl/lsa.cnf5
-rw-r--r--epan/dissectors/pidl/mapi/mapi.cnf4
-rw-r--r--epan/dissectors/pidl/mapi/mapi.idl2
-rw-r--r--epan/dissectors/pidl/mapi/request.cnf.c2
-rw-r--r--epan/dissectors/pidl/mapi/response.cnf.c2
-rw-r--r--epan/dissectors/pidl/samr.cnf3
8 files changed, 10 insertions, 72 deletions
diff --git a/epan/dissectors/pidl/README b/epan/dissectors/pidl/README
index c7d82a63a0..721bd7fe9d 100644
--- a/epan/dissectors/pidl/README
+++ b/epan/dissectors/pidl/README
@@ -96,67 +96,9 @@ release, a copy of pidl is located in tools/pidl.
Not compiling idl
=================
-As of November 23, 2013, the following idl have issues when generating
+As of September 18, 2014, the following idl have issues when generating
and compiling:
-pidl generates declarations and definitions of functions that take a
-dcerpc_info * argument, but calls to those functions that don't:
-
- frsrpc.idl
-
-pidl generates code that refers to a type just named "g", perhaps
-because the NDR type is an empty string (not set?) and it's prepending
-"g" to the NDR type:
-
- dfs.idl
-
-pidl generates code that, after declaring a guint1632 variable, has, on
-the next line, a declaration that has a blank, a letter, and a
-semicolon. It can't handle, for example:
-
- typedef enum {
- FRSTRANS_RDC_FILTER_GENERIC = 0x0000,
- FRSTRANS_RDC_FILTER_MAX = 0x0001,
- FRSTRANS_RDC_FILTER_POINT = 0x0002,
- FRSTRANS_RDC_MAX_ALGORITHM = 0x0003
- } frstrans_RdcChunckerAlgorithm;
-
- ...
-
- typedef [switch_type(frstrans_RdcChunckerAlgorithm)] union {
- [case(FRSTRANS_RDC_FILTER_GENERIC)]
- frstrans_RdcParameterGeneric filter_generic;
- [case(FRSTRANS_RDC_FILTER_MAX)]
- frstrans_RdcParameterFilterMax filter_max;
- [case(FRSTRANS_RDC_FILTER_POINT)]
- frstrans_RdcParameterFilterPoint filter_point;
- } frstrans_RdcParameterUnion;
-
- typedef struct {
- frstrans_RdcChunckerAlgorithm rdc_chunker_algorithm;
- [switch_is(rdc_chunker_algorithm)] frstrans_RdcParameterUnion u;
- } frstrans_RdcParameters;
-
-but there's no reason for it to bother to generate a C variable
-corresponding to that union in the first place - it'd be unused.
-
-Samba bug 10291:
-
- https://bugzilla.samba.org/show_bug.cgi?id=10291
-
-has been filed on this.
-
- dfs.idl
- frstrans.idl
-
-pidl generates code that passes "*0" rather than "0" as the last
-argument in calls:
-
- dfs.idl
- dnsserver.idl
- dssetup.idl
- lsa.idl
- samr.idl
pidl generates possibly-incorrect code for these - this needs checking:
@@ -166,5 +108,3 @@ pidl rejects these with errors:
srvsvc.idl
wkssvc.cnf
- mapi/mapi.idl
- nspi/nspi.idl
diff --git a/epan/dissectors/pidl/frsrpc.cnf b/epan/dissectors/pidl/frsrpc.cnf
index fc45c63032..250697897a 100644
--- a/epan/dissectors/pidl/frsrpc.cnf
+++ b/epan/dissectors/pidl/frsrpc.cnf
@@ -17,7 +17,7 @@ frsrpc_dissect_element_CommPktChangeOrderCommand_file_name(tvbuff_t *tvb _U_, in
int conformant = di->conformant_run;
if (!conformant) {
- guint32 soffset = dissect_null_term_wstring(tvb, offset, pinfo, tree, di, drep, hf_frsrpc_CommPktChangeOrderCommand_file_name, 0);
+ guint32 soffset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_frsrpc_CommPktChangeOrderCommand_file_name, 0);
/* The difference has to be 4 due to the uint16 of the length + null terminator utf16*/
DISSECTOR_ASSERT(soffset - offset < 261);
offset += 261;
diff --git a/epan/dissectors/pidl/lsa.cnf b/epan/dissectors/pidl/lsa.cnf
index e030e4d8d2..3a0d8010aa 100644
--- a/epan/dissectors/pidl/lsa.cnf
+++ b/epan/dissectors/pidl/lsa.cnf
@@ -172,7 +172,6 @@ static int
cnf_dissect_sec_desc_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep)
{
guint32 len;
- dcerpc_info *di = NULL;
e_ctx_hnd *polhnd = NULL;
dcerpc_call_value *dcv = NULL;
guint32 type=0;
@@ -314,7 +313,7 @@ lsarpc_dissect_element_lsa_LookupNames4_names(tvbuff_t *tvb _U_, int offset _U_,
static int
-lsarpc_dissect_element_lsa_String_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+lsarpc_dissect_element_lsa_String_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
return offset;
}
@@ -331,7 +330,7 @@ lsarpc_dissect_element_lsa_String_string_(tvbuff_t *tvb _U_, int offset _U_, pac
}
static int
-lsarpc_dissect_element_lsa_StringLarge_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+lsarpc_dissect_element_lsa_StringLarge_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
return offset;
}
diff --git a/epan/dissectors/pidl/mapi/mapi.cnf b/epan/dissectors/pidl/mapi/mapi.cnf
index 7a4bf3dbed..fb7c24bc3c 100644
--- a/epan/dissectors/pidl/mapi/mapi.cnf
+++ b/epan/dissectors/pidl/mapi/mapi.cnf
@@ -65,7 +65,7 @@ NOEMIT GetReceiveFolderTable_repl
NOEMIT NOTIFKEY
-TYPE hyper "offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, drep, @PARAM@, @HF@);" FT_UINT64 BASE_DEC 0 NULL 8
+TYPE hyper "offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, @PARAM@, @HF@);" FT_UINT64 BASE_DEC 0 NULL 8
CODE START
@@ -82,7 +82,7 @@ cnf_dissect_hyper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tre
/**
* Analyze mapi_request MAPI Handles
*/
-static int mapi_dissect_element_request_handles(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
+static int mapi_dissect_element_request_handles_cnf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
{
gint reported_len;
gint i;
diff --git a/epan/dissectors/pidl/mapi/mapi.idl b/epan/dissectors/pidl/mapi/mapi.idl
index 125c43f932..9de3360c5d 100644
--- a/epan/dissectors/pidl/mapi/mapi.idl
+++ b/epan/dissectors/pidl/mapi/mapi.idl
@@ -1579,7 +1579,7 @@
} mapi_response;
- [public,flag(NDR_NOALIGN)] MAPISTATUS EcDoRpc(
+ [public] MAPISTATUS EcDoRpc(
[in,out] policy_handle *handle,
[in,out] uint32 size,
[in,out] uint32 offset,
diff --git a/epan/dissectors/pidl/mapi/request.cnf.c b/epan/dissectors/pidl/mapi/request.cnf.c
index 08c724a014..e94f2e82cf 100644
--- a/epan/dissectors/pidl/mapi/request.cnf.c
+++ b/epan/dissectors/pidl/mapi/request.cnf.c
@@ -150,7 +150,7 @@ mapi_dissect_element_EcDoRpc_request_(tvbuff_t *tvb _U_, int offset _U_, packet_
offset = mapi_dissect_element_EcDoRpc_request__(decrypted_tvb, 0, pinfo, tr, di, drep);
/* analyze mapi handles */
- offset = mapi_dissect_element_request_handles(decrypted_tvb, offset, pinfo, tr, di, drep);
+ offset = mapi_dissect_element_request_handles_cnf(decrypted_tvb, offset, pinfo, tr, di, drep);
/* append ptr size (4) */
return start_offset + offset + 4;
diff --git a/epan/dissectors/pidl/mapi/response.cnf.c b/epan/dissectors/pidl/mapi/response.cnf.c
index 97e986c51b..a40743ad17 100644
--- a/epan/dissectors/pidl/mapi/response.cnf.c
+++ b/epan/dissectors/pidl/mapi/response.cnf.c
@@ -158,7 +158,7 @@ mapi_dissect_element_EcDoRpc_response_(tvbuff_t *tvb _U_, int offset _U_, packet
/* Analyze contents */
offset = mapi_dissect_element_EcDoRpc_response__(decrypted_tvb, 0, pinfo, tr, drep);
/* Analyze mapi handles */
- offset = mapi_dissect_element_request_handles(decrypted_tvb, offset, pinfo, tr, drep);
+ offset = mapi_dissect_element_request_handles_cnf(decrypted_tvb, offset, pinfo, tr, di, drep);
return start_offset + offset + 4;
}
diff --git a/epan/dissectors/pidl/samr.cnf b/epan/dissectors/pidl/samr.cnf
index 7ac2fafbe2..dc45d1809f 100644
--- a/epan/dissectors/pidl/samr.cnf
+++ b/epan/dissectors/pidl/samr.cnf
@@ -164,7 +164,7 @@ TYPE dom_sid2 "offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);"
TYPE lsa_SidArray "offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);" FT_NONE BASE_NONE 0 NULL 4
-TYPE security_secinfo "offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, di, drep);" FT_NONE BASE_NONE 0 NULL 4
+TYPE security_secinfo "offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, drep);" FT_NONE BASE_NONE 0 NULL 4
#
# ConnectX access masks
@@ -380,7 +380,6 @@ static int
cnf_dissect_sec_desc_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep)
{
guint64 len;
- dcerpc_info *di = NULL;
e_ctx_hnd *polhnd = NULL;
dcerpc_call_value *dcv = NULL;
guint32 type=0;