Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 5271] MySQL Enhancement : support of Show Fields and bug f

Date: Tue, 5 Oct 2010 08:11:37 -0700 (PDT)
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.