aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-09-22 07:56:18 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-09-22 07:56:18 +0000
commitcb23bfa371cec78ed00afe8ad68dcc0a176148eb (patch)
tree718ec01fcf85f358867da54d8bbdeb0274490082
parent4fb91a42f872889a7818213b1404d3602c4f2b6a (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.c14
-rw-r--r--epan/dissectors/pidl/eventlog.cnf12
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;
}