Commit Graph

10 Commits

Author SHA1 Message Date
Guy Harris bd8337321a Maintain separate "discard compressed frames" state per connection.
Put the array of connection states into the per-direction state
structure; its size is fixed, as the connection number field size is 1
byte.  Get rid of the "rslot_limit" member, as the number is fixed.

Get rid of the per-state "next" pointer, as it's unused.

Process uncompressed frames even if VJ decompression is turned off, and
even if the "discard compressed frames" flag is set on the connection,
as there's no decompression to do.

If the full IP and TCP header isn't available in an uncompressed frame,
discard subsequent compressed frames.

Only use the "discard compressed frames" flag on the first pass through
the capture; on subsequent passes, the presence of an "uncompressed
header" item attached to the frame indicates whether we could decompress
it or not (the "discard compressed frames" flag would merely indicate
the *last* state it had for that connection, which might not have been
the state at the time we saw that frame).

svn path=/trunk/; revision=5520
2002-05-22 09:49:28 +00:00
Guy Harris 44580a93ca Don't include the FCS in the tvbuff handed to "dissect_ppp_common()", so
that it's not included in the tvbuff handed to subdissectors.  Use that
tvbuff to compute the FCS.

Properly handle the FCS in frames that don't include all the captured
data.

In VJ-compressed packets, put the VJ compression information into the
protocol tree, and set the Protocol and Info columns, and don't worry
about the CRC - as per the above, it's no longer in the tvbuff (and
never *was* in the tvbuff in some cases).

Also, clean up some other stuff in the VJ dissector.

svn path=/trunk/; revision=5510
2002-05-20 00:56:30 +00:00
Guy Harris 1606d119fb Set the Info column for compressed and uncompressed TCP.
svn path=/trunk/; revision=5504
2002-05-18 21:19:48 +00:00
Guy Harris 64fe90a383 From Joerg Mayer: get rid of some unused variables and arguments.
Use "tvb_get_ntohs()" to fetch the checksum from a VJ compressed packet,
rather than doing the ntoh by hand.

svn path=/trunk/; revision=5163
2002-04-14 23:22:22 +00:00
Guy Harris 6a21dc7e44 Don't give tvbuffs names; instead, give data sources names, where a
"data source" has a name and a top-level tvbuff, and frames can have a
list of data sources associated with them.

Use the tvbuff pointer to determine which data source is the data source
for a given field; this means we don't have to worry about multiple data
sources with the same name - the only thing the name does is label the
notebook tab for the display of the data source, and label the hex dump
of the data source in print/Tethereal output.

Clean up a bunch of things discovered in the process of doing the above.

svn path=/trunk/; revision=4749
2002-02-18 01:08:44 +00:00
Guy Harris ee5ca25d31 Include files from the "epan" directory and subdirectories thereof with
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).

Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").

svn path=/trunk/; revision=4586
2002-01-21 07:37:49 +00:00
Guy Harris 43caedd1f9 From Irfan Khan: don't use bitfields.
svn path=/trunk/; revision=4517
2002-01-10 22:07:49 +00:00
Guy Harris 49effaa0f1 Again, leave the SET_ADDRESS() stuff for IP to the IP dissector.
svn path=/trunk/; revision=4431
2001-12-20 06:32:19 +00:00
Guy Harris b34c47e4d2 Make the object attached to a frame for VJ decompression be a structure
containing a 4-byte offset and 128 bytes of data, rather than a 1-byte
offset and 128 bits of data, so that the data is aligned on a 4-byte
boundary and doesn't upset processors with strict alignment
requirements.

We don't free individual memory chunks containing those objects, so make
the memory chunk pool an "allocate-only" pool.

svn path=/trunk/; revision=4428
2001-12-19 22:39:59 +00:00
Guy Harris 3624071a79 Van Jacobson decompression support for PPP, from Irfan Khan.
svn path=/trunk/; revision=4427
2001-12-19 21:14:49 +00:00