Ethereal-dev: Re: [Ethereal-dev] Use of tcp_dissect_pdu and tvb_format_text

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

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Fri, 23 Jan 2004 01:12:20 -0800
On Fri, Jan 23, 2004 at 08:48:38AM -0000, CNS - Matthew Bradley wrote:
> Matthew: No, when I wrote the email but I stumbled across this before
> receiving your message. Can we add something to this effect to the
> README.developer section about tcp_dissect_pdus.

It's an issue for *all* TCP dissectors that do reassembly, even if they
don't use "tcp_dissect_pdus()".

It might also belong as a FAQ, as users not writing dissectors also run
across it.

> Now if I turn off the "Allow subdissector to desegment TCP streams"
> preference for TCP?, I get my "Short Frame" error. How can I check if this
> preference is set?

You can't.  If the user turns that option off, reassembly won't be done
- which is as it should be.  The error shouldn't be "Short Frame"; that
happens on some occasions, not all of which are, I think, associated
with TCP reassembly.  Part of the problem might, I think, be due to
requiring multiple lengths for tvbuffs, such as "size the packet would
have been had it been reassembled".

> Tvb_reported_length_Remaining still returns the reassembled length.

Given that reassembly isn't being done, that would be a bug.