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
This commit is contained in:
Jaap Keuter 2008-03-14 21:36:01 +00:00
parent 5d9ca601d8
commit 74178fafda
1 changed files with 2 additions and 2 deletions

View File

@ -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;
}