Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal packet-q931.c packet-tpkt.c

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

From: Guy Harris <guy@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 23 Feb 2002 15:07:49 -0600 (CST)
guy         2002/02/23 15:07:48 CST

  Modified files:
    .                    packet-q931.c packet-tpkt.c 
  Log:
  In the Q.931-over-TPKT-over-TCP dissector, if the TCP segment we're
  handed looks as if it contains only a TPKT header (4 bytes long, and
  those 4 bytes look like a TPKT header according to "is_tpkt()"), call
  the "dissect TPKT over a TCP stream" routine.  If we're doing
  reassembly, that routine will force a reassembly because the TPKT
  payload isn't in that segment, and the various heuristic XXX-over-TPKT
  dissectors will be called again, this time with enough data for them to
  say whether the TPKT payload is for them or not; if we're not doing
  reassembly, we'll dissect the TPKT header and then call the "dissect a
  Q.931 PDU" routine, which will throw an exception because there isn't
  any payload from which to fetch data (and that's what we want to
  happen).
  
  In the "dissect TPKT over a TCP stream" routine, if reassembly is
  enabled, do the check to see if we need to do reassembly to get the
  payload before dissecting the TPKT header, so that we don't dissect the
  TPKT header and then decide "oops, we need some more data to get the
  TPKT payload".
  
  Revision  Changes    Path
  1.40      +9 -2      ethereal/packet-q931.c
  1.16      +28 -25    ethereal/packet-tpkt.c