Ethereal-dev: Re: [Ethereal-dev] please checkin: packet-dcm.c

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

Date: Wed, 10 Nov 2004 10:25:06 -0600
Telling me that it can't be done when it already works doesn't help much.

And I only look at the data the remains in the tvbuff 
    --> tvb_ensure_length_remaining

Can you please explain why I must write code in the dcm dissector that
already does what the tcp fragmenter does ?

Do you have any examples in another dissector which does it another way ?

Thanks.

Guy Harris writes:
In a message dated: Wed, 10 Nov 2004 02:32:36 PST
> richard.coe@xxxxxxxxxx wrote:
> 
> > * - Fixed calculating the size of the complete dicom pdu in dcm_get_pdu_len
> 
> That won't work.  A get_pdu_len routine can't look at any data in the 
> tvbuff past the "fixed length header" value passed to tcp_dissect_pdus().
> 
> What the DICOM dissector should do is reassemble *fragments* at the TCP 
> layer, and then do its own reassembly of fragments.
> 
> > * - Fixed the heuristic code -- sometimes a conversation already exists
> > * - Fixed the dissect code to display all the tags in the pdu
> 
> I checked those two in, with some cleanups (and with some work to make 
> the patch apply to the current Subversion version of the dissector).
--
Rich Coe		richard.coe@xxxxxxxxxx
General Electric Medical Systems