RE: Patch: MySQL dissector
"Anders Broman (AL/EAB)" <[email protected]>
| Newsgroups | gmane.network.ethereal.devel |
|---|---|
| Message-ID | <C449F18A1C0F294CAF4C0515A18D6EE6035A5A3A@esealmw107.eemea.ericsson.se> |
Hi, There is "pinfo->fd->flags.visited" which can be used to determine if the packet has been dissected before. Brg Anders -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Axel Schwenke Sent: den 16 maj 2006 19:11 To: Ethereal development Subject: [Ethereal-dev] Patch: MySQL dissector Hi, find attached a patch to bring the MySQL dissector to my currently latest (but still preliminary) version. I heavily reorganized the code, therefore this diff is bigger than the actual source code. What's new: - complete dissector for greeting/login packets - nearly complete dissector for requests, except: + parameters for COM_EXECUTE + requests from replication slave - added some features to response dissectors The missing parts need reliable conversation state tracking. However I experienced quite strange behaviour regarding the order of packets being fed into the dissector. If I click my way through packets in the Ethereal GUI, each packet passes the dissector twice(!), destroying the state from previous packet. Even more: if I randomly select packets, state information follows my clicks. All this renders the conversation object rather useless for state tracking. If you want to verify this, just compile packet-mysql.c with CTDEBUG defined. This will dump additional information like the conversation object being used and a generation counter increasing with each packet passing the dissector. If anybody has any idea, how I could implement keeping state between packets in respect to the cronological order of the packets - I would be *very* glad to know about! XL -- Axel Schwenke, Senior Software Developer MySQL GmbH, Oberursel Germany, www.mysql.com Are you MySQL certified? www.mysql.com/certification