Wireshark-bugs: [Wireshark-bugs] [Bug 5271] MySQL Enhancement : support of Show Fields and bug f
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5271
Bill Meier <wmeier@xxxxxxxxxxx> changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|Enhancement |Minor
--- Comment #5 from Bill Meier <wmeier@xxxxxxxxxxx> 2010-10-05 11:11:35 EDT ---
OK: I've reviewed the patches.
1. The changes to mysql_dissect_field_packet() look OK.
I found two additional fixes:
a. The wrong bytes were being highlighted for the flags field;
b. The flags field was being displayed as 0x%016X
The source changes:
- offset += 2; /* flags */
tf = proto_tree_add_uint_format(tree, hf_mysql_fld_flags, tvb, offset,
- 2, flags, "Field flags: 0x%016X",
flags);
+ 2, flags, "Field flags: 0x%04X",
flags);
flags_tree = proto_item_add_subtree(tf, ett_field_flags);
<snip>
proto_tree_add_boolean(flags_tree, hf_mysql_fld_set, tvb, offset, 2,
...
+ offset += 2; /* flags */
2. While testing I noted an issue which occurs if you do the following:
a. Start Wireshark & open the capture file;
b. In the summary pane scroll down to frame 27 and then select frame 27.
Note that the frame is *not* dissected as a "FIELD_PACKET".
(Frame 27 must be the *first* frame you manually select after opening
the capture file).
Looking at the code I note some special casing with respect to
"FIELD_PACKET".
--> In dissect_mysql_pdu()
} else if (conn_data->state != FIELD_PACKET && conn_data->state !=
ROW_PACKET ) {
--> in mysql_dissect_response()
if (conn_data->state == FIELD_PACKET) {
conn_data->state= ROW_PACKET;
} else {
conn_data->state= REQUEST;
}
I have a suspicion that this special casing might be related to
the issue described above.
Please review ...
Thanks
--
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.