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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.