On Thu, Apr 18, 2013 at 1:11 PM, Guy Harris <[email protected]> wrote:
>
> On Apr 18, 2013, at 9:28 AM, Evan Huus <[email protected]> wrote:
>
>> - Our reassembly code is a bit of a mess anyways, as Guy's recent
>> commit indicates.
>
> ...and that commit doesn't include another thing I started working on (but 
> haven't done much on yet):
>
> The "reassembled" hash table looks up by endpoints and an ID, but there's no 
> guarantee that there won't be *more than one* instance of that ID in a given 
> flow between the two endpoints in question, so that lookup needs to take into 
> account the frame number as well.

That hadn't even occurred to me; I was thinking more of the fact that
we don't have a separate 'head' structure for reassembly chains and
just assume certain fields are set/unset based on whether the
structure is first in the list or not.

> (A bunch of the stuff I've been doing to the reassembly code was to fix 
> issues that showed up when doing some regression testing of some changes to 
> other code; there's a DTLS file that's especially good at finding all the 
> "funny stuff" in reassembly code, in part because *every fragment* has a 
> "reassembled" length, and hilarity ensues if they don't have the same values.)

Sounds like fun :P

Honestly a total from-scratch rewrite is starting to look appealing
from a code-cleanliness perspective, though it would probably still be
an inefficient use of time from an engineering standpoint.

Evan
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to