diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-09-22 07:56:18 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-09-22 07:56:18 +0000 |
commit | cb23bfa371cec78ed00afe8ad68dcc0a176148eb (patch) | |
tree | 718ec01fcf85f358867da54d8bbdeb0274490082 | |
parent | 4fb91a42f872889a7818213b1404d3602c4f2b6a (diff) |
update where the extra strings in the record are being dissected to that the decode follows the packet structure more closely
svn path=/trunk/; revision=19283
-rw-r--r-- | epan/dissectors/packet-dcerpc-eventlog.c | 14 | ||||
-rw-r--r-- | epan/dissectors/pidl/eventlog.cnf | 12 |
2 files changed, 16 insertions, 10 deletions
diff --git a/epan/dissectors/packet-dcerpc-eventlog.c b/epan/dissectors/packet-dcerpc-eventlog.c index bbfdb60471..2231ca3b3a 100644 --- a/epan/dissectors/packet-dcerpc-eventlog.c +++ b/epan/dissectors/packet-dcerpc-eventlog.c @@ -363,12 +363,17 @@ eventlog_dissect_element_Record_num_of_strings(tvbuff_t *tvb, int offset, packet offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_eventlog_eventlog_Record_num_of_strings,&num_of_strings); return offset; } +static guint32 string_offset; static int eventlog_dissect_element_Record_stringoffset(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - guint32 string_offset; string_offset=0; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_eventlog_eventlog_Record_stringoffset,&string_offset); + return offset; +} +static int +eventlog_dissect_element_Record_strings(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ while(string_offset && num_of_strings){ char *str; int len; @@ -699,13 +704,6 @@ eventlog_dissect_element_Record_data_offset(tvbuff_t *tvb, int offset, packet_in } static int -eventlog_dissect_element_Record_strings(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) -{ - - return offset; -} - -static int eventlog_dissect_element_Record_strings_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { diff --git a/epan/dissectors/pidl/eventlog.cnf b/epan/dissectors/pidl/eventlog.cnf index 00dfd26645..0433df90f9 100644 --- a/epan/dissectors/pidl/eventlog.cnf +++ b/epan/dissectors/pidl/eventlog.cnf @@ -15,6 +15,7 @@ MANUAL eventlog_dissect_element_Record_source_name MANUAL eventlog_dissect_element_Record_computer_name MANUAL eventlog_dissect_element_Record_num_of_strings MANUAL eventlog_dissect_element_Record_stringoffset +MANUAL eventlog_dissect_element_Record_strings CODE START /* Add this one manually until we can compile LSA */ @@ -151,14 +152,20 @@ eventlog_dissect_element_Record_num_of_strings(tvbuff_t *tvb, int offset, packet return offset; } +static guint32 string_offset; + static int eventlog_dissect_element_Record_stringoffset(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) { - guint32 string_offset; - string_offset=0; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_eventlog_eventlog_Record_stringoffset,&string_offset); + return offset; +} + +static int +eventlog_dissect_element_Record_strings(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep) +{ while(string_offset && num_of_strings){ char *str; int len; @@ -171,6 +178,7 @@ eventlog_dissect_element_Record_stringoffset(tvbuff_t *tvb, int offset, packet_i num_of_strings--; } + return offset; } |