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
