diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-03-14 21:36:01 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-03-14 21:36:01 +0000 |
commit | 74178fafda524972bb99e5a9f32a0262a4530f52 (patch) | |
tree | 26772b0da1bc3e03efc4dee9f4e7ac8d761f47b1 | |
parent | 5d9ca601d8cabc2298d18e88a2988622bc79de8d (diff) |
From Dustin D. Trammell:
The FIX protocol dissector uses the 6 byte string "8=FIX." at the beginning of
the data to match the beginning of a FIX version string of the format
"8=FIX.x.x" in order to determine if the data is the FIX protocol or not.
With FIX 5.x and beyond, the beginning of the data will have a version string
of the format "8=FIXT.x.x" to indicate the FIX Transport (FIXT) version.
A simple solution is to update the current FIX dissector to only match the
first 5 bytes of the version string (see attached patch). This will cause a
match for FIX version 4.x and prior (8=FIX.x.x) as well as 5.x and beyond
(8=FIXT.x.x).
svn path=/trunk/; revision=24633
-rw-r--r-- | epan/dissectors/packet-fix.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/dissectors/packet-fix.c b/epan/dissectors/packet-fix.c index 374f2de0e2..5d05090f1d 100644 --- a/epan/dissectors/packet-fix.c +++ b/epan/dissectors/packet-fix.c @@ -863,8 +863,8 @@ dissect_fix(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) GString *label = NULL; GString *summary_label = NULL; - /* get at least the fix version: 8=FIX.x.x */ - if (tvb_strneql(tvb, 0, "8=FIX.", 6) != 0) { + /* get at least the fix version: 8=FIX.x.x or 8=FIXT.x.x */ + if (tvb_strneql(tvb, 0, "8=FIX", 5) != 0) { /* not a fix packet */ return FALSE; } |