Wireshark-commits: [Wireshark-commits] rev 48112: / /trunk-1.8/epan/dissectors/: packet-dtls.c /tru

Date: Tue, 05 Mar 2013 23:17:23 GMT
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=48112

User: gerald
Date: 2013/03/05 03:17 PM

Log:
 Copy over revisions from the trunk:
 
   ------------------------------------------------------------------------
   r48010 | eapache | 2013-03-02 08:23:21 -0800 (Sat, 02 Mar 2013) | 4 lines
   Changed paths:
      M /trunk/epan/dissectors/packet-dtls.c
 
   Pass the same offset to tvb_ensure_bytes_exist and fragment_add.
 
   One minor part of https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8380
   ------------------------------------------------------------------------
 
 
 Copy over with manual intervention:
 
   ------------------------------------------------------------------------
   r48011 | eapache | 2013-03-02 08:39:56 -0800 (Sat, 02 Mar 2013) | 23 lines
   Changed paths:
      M /trunk/epan/exceptions.h
      M /trunk/epan/reassemble.c
      M /trunk/epan/show_exception.c
 
   Define a new exception for reassembly errors, and throw it in several cases
   instead of using DISSECTOR_ASSERT. When a dissector passes bad data to the
   reassembly machine, that isn't necessarily the dissector's fault - the data may
   come straight from the packet, and the dissector may not have enough information
   to know it's bad without telling the reassembly machine in the first place.
 
   Also fix a bug in the reassembly machine. If it were given a fragment and all of
   the following conditions were met:
   - the other associated fragments were already marked as done (reassembled)
   - the fragment went beyond the end of the conceptual reassembled buffer
   - the dissector had not set the PARTIAL_REASSEMBLY flag
   then the reassembly machine would incorrectly think there was an overlap and
   run past the end of the already-reassembled buffer.
 
   Should fix the rest of
   https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8380
 
   #BACKPORT
   This is probably too big and intrusive to backport directly, and parts of it
   will need adapting anyways since reassemble.c has changed. But the bug exists
   and crashes in 1.6 and 1.8, so we'll have to do something.
   ------------------------------------------------------------------------
 
 
 Update the release notes.

Directory: /trunk-1.8/epan/dissectors/
  Changes    Path             Action
  +1 -1      packet-dtls.c    Modified

Directory: /trunk-1.8/docbook/
  Changes    Path                 Action
  +7 -6      release-notes.xml    Modified

Directory: /trunk-1.8/epan/
  Changes    Path            Action
  +24 -0     exceptions.h    Modified
  +38 -25    reassemble.c    Modified