diff options
author | Michael Mann <mmann78@netscape.net> | 2014-09-18 00:10:51 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2014-09-19 13:07:11 +0000 |
commit | a58c986f62a7be6fe7b69b9c372adcc2dab5f79e (patch) | |
tree | 4f608af306aee71cd59d51d75d92c907f4d9448f /epan/dissectors/pidl | |
parent | b7940046fae473cf1d64a76ee90b23ca89b93768 (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/README | 62 | ||||
-rw-r--r-- | epan/dissectors/pidl/frsrpc.cnf | 2 | ||||
-rw-r--r-- | epan/dissectors/pidl/lsa.cnf | 5 | ||||
-rw-r--r-- | epan/dissectors/pidl/mapi/mapi.cnf | 4 | ||||
-rw-r--r-- | epan/dissectors/pidl/mapi/mapi.idl | 2 | ||||
-rw-r--r-- | epan/dissectors/pidl/mapi/request.cnf.c | 2 | ||||
-rw-r--r-- | epan/dissectors/pidl/mapi/response.cnf.c | 2 | ||||
-rw-r--r-- | epan/dissectors/pidl/samr.cnf | 3 |
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; |