Ethereal-dev: RE: [Ethereal-dev] Patch: MySQL dissector

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Anders Broman (AL/EAB)" <anders.broman@xxxxxxxxxxxx>
Date: Thu, 18 May 2006 10:41:15 +0200
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: ethereal-dev-bounces@xxxxxxxxxxxx
[mailto:ethereal-dev-bounces@xxxxxxxxxxxx] 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
_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev