SV: Patch: MySQL dissector
"Anders Broman" <[email protected]>
| Newsgroups | gmane.network.ethereal.devel |
|---|---|
| Message-ID | <002301c6791c$8b2809e0$6800a8c0@ditt7huk3o9fm5> |
Checked in. Brg Anders -----Ursprungligt meddelande----- Från: [email protected] [mailto:[email protected]] För Axel Schwenke Skickat: den 16 maj 2006 19:11 Till: Ethereal development Ämne: [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