aboutsummaryrefslogtreecommitdiffstats
path: root/epan/reassemble.c
AgeCommit message (Collapse)AuthorFilesLines
2011-05-13As suggested by Anders: back out 37112.Jeff Morriss1-40/+4
svn path=/trunk/; revision=37123
2011-05-13We should get rid of g_mem_chunk_alloc() as it leaks memoryAnders Broman1-4/+40
http://www.wireshark.org/lists/wireshark-dev/200910/msg00074.html g_slice allocing the keys should make it possible to walk the fragment table and free the fragments once they are g_slice_alloced. It remains fo figure out how to do that. svn path=/trunk/; revision=37112
2011-03-21From Jakub Zawadzki via wireshark-dev: Fix comment.Chris Maynard1-1/+1
svn path=/trunk/; revision=36223
2011-03-03When reassembling fragments, don't stop looking at fragments just because theJeff Morriss1-40/+39
current fragment pushes us past the reassembled size: it may be that the current fragment is a duplicate/retransmission and will be ignored. Also, if we detect a conflict between a previous and the current fragment, flag the current (conflicting) fragment as FD_OVERLAPCONFLICT. Do *not* flag the fragment that got us into the reassembly routine (probably the final fragment): it is not (may not be) the guilty fragment. Clean up some spacing. Also add reassembly tests for duplicate/retransmitted fragments. svn path=/trunk/; revision=36131
2011-02-18Fix a few errors found by Clang scan-build.Gerald Combs1-0/+3
svn path=/trunk/; revision=36002
2011-01-30Introduce "Fragment count" filter element for all protocols doing reassembly.Stig Bjørlykke1-0/+12
svn path=/trunk/; revision=35705
2010-12-11Rework some comments.Bill Meier1-18/+28
svn path=/trunk/; revision=35176
2010-12-11Fix bug #5477: fuzz-test failure found by using G_SLICE=debug-blocks.Bill Meier1-2/+18
Essentially: doing g_slice_free with the wrong 'type' for the data to be freed. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5477 svn path=/trunk/; revision=35175
2010-12-08Mark parameter as unused.Anders Broman1-1/+1
reassemble.c:220: warning: unused parameter 'key_arg' svn path=/trunk/; revision=35156
2010-12-08reassemble.c: In function 'free_all_fragments':Anders Broman1-1/+1
reassemble.c:222: warning: unused variable 'key' svn path=/trunk/; revision=35155
2010-12-08fragment_free_key to be used only if Glib >= 2.10Anders Broman1-0/+2
svn path=/trunk/; revision=35154
2010-12-08Reassemble.c leaks memory for GLIB > 2.8Anders Broman1-13/+63
Free fragment data and fragment keys in fragment_table when neccessary. reassembled_table remains to be fixed. svn path=/trunk/; revision=35153
2010-10-30Rev 29427 added packet_add_new_data_source() with a comment indicating thatJeff Morriss1-1/+1
the data source does not need to be allocated if (!tree). Rev 30158 took the if (!tree) check out indicating that the check was invalid. So: (since packet_add_new_data_source() now only calls add_new_data_source()), remove packet_add_new_data_source(). svn path=/trunk/; revision=34717
2010-09-30Use the name from hf_fragment instead of hf_fragments when we only haveStig Bjørlykke1-3/+9
one fragment to reassemble. svn path=/trunk/; revision=34285
2010-09-07Put the number of fragments/segments in front of the element to avoid Stig Bjørlykke1-3/+5
conflict when they are named fragments instead of segments and to avoid duplicating the fragments/segments text. svn path=/trunk/; revision=34074
2010-09-07From Yaniv Kaul via bug 4550:Stig Bjørlykke1-6/+12
Show number of segments which were used in the desgementation. svn path=/trunk/; revision=34072
2010-05-24Fix reassemble_test's (copy of the) proto_tree_add_item() prototype to get itJeff Morriss1-23/+32
compiling again. fragment_add_seq_check(), fragment_add_seq_802_11(), and fragment_add_seq_next() all call fragment_add_seq_check_work() so make their prototypes match each other in const-ness. This fixes a warning when compiling reassemble_test. svn path=/trunk/; revision=32933
2010-04-03 From Yaniv Kaul: constify parametersBill Meier1-58/+58
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4422 From me: Fix a number of instances where the function prototype or the function definition wasn't changed so there was a mismatch thus causing Windows (but not gcc) compilation errors. svn path=/trunk/; revision=32365
2010-04-02Revert SVN #32360 until Windows compilation errors corrected.Bill Meier1-58/+58
svn path=/trunk/; revision=32361
2010-04-02From Yaniv Kaul: constify parametersBill Meier1-58/+58
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4422 svn path=/trunk/; revision=32360
2010-02-02Introduce "Reassembled length" filter element for all protocols doingStig Bjørlykke1-0/+12
reassembly. svn path=/trunk/; revision=31767
2009-10-20Set a mem_chunk to NULL after we destroy it. This should fix the SolarisGerald Combs1-0/+1
buildbot test failures. svn path=/trunk/; revision=30639
2009-10-19Make it actually work with glib < 2.10Jeff Morriss1-0/+6
svn path=/trunk/; revision=30621
2009-10-18Make it build on glib < 2.10.Stig Bjørlykke1-1/+1
svn path=/trunk/; revision=30607
2009-10-18dcerpc_fragment_key_copy(): don't se_alloc() the key:Jeff Morriss1-1/+7
- it contains pointers to a couple malloc()'d addresses - it is inserted in the fragment table (the contents of which are g_free()'d in free_all_fragments()) Instead, do like fragment_key_copy() and use a g_slice or g_chunk, depending on the glib version. svn path=/trunk/; revision=30599
2009-09-06Split a bunch of init routines into init() and cleanup(). This allows us to ↵Kovarththanan Rajaratnam1-6/+16
free memory properly on shutdown. This is an initial step. There's still some work to do. svn path=/trunk/; revision=29754
2009-08-16Switch a bunch of dissectors over to using tvb_new_subset_remaining()Kovarththanan Rajaratnam1-1/+1
svn path=/trunk/; revision=29446
2009-08-16Use the slice allocator if GLIB >= 2,10,0Kovarththanan Rajaratnam1-2/+48
svn path=/trunk/; revision=29440
2009-08-15This patch introduces packet_add_new_data_source() which effectively ↵Kovarththanan Rajaratnam1-1/+1
deprecates add_new_data_source(). This is based on the following observation: 1) The tvb + name (aka. data_source) is only used when the protocol tree is visible The current implementation of add_new_data_source() doesn't take this into account and simply allocates a data_source regardless. This is what packet_add_new_data_source() tries to rectify. A couple of dissectors have already been switched over to the new packet_add_new_data_source(). Many are still missing. Help appreciated! svn path=/trunk/; revision=29427
2009-08-12White space changesKovarththanan Rajaratnam1-192/+192
svn path=/trunk/; revision=29397
2009-07-27reassemble.h: update two comments; reassemble.c: correct a typo.Bill Meier1-1/+1
svn path=/trunk/; revision=29205
2009-07-16Check for an overflow. This should hopefully fix bug 3672.Gerald Combs1-1/+2
svn path=/trunk/; revision=29128
2009-03-13From Jakub Zawadzki (bug 3331):Stig Bjørlykke1-5/+2
g_free() is NULL safe, so we don't need check against it. svn path=/trunk/; revision=27718
2008-05-21Reword comment a bit ...Bill Meier1-3/+3
svn path=/trunk/; revision=25345
2008-05-21Fix for bug #2470; (don't memcmp past end of g_malloc'd buffer).Bill Meier1-13/+22
svn path=/trunk/; revision=25343
2008-05-07Fix a few typos ....Bill Meier1-14/+14
svn path=/trunk/; revision=25253
2007-11-10Apply yet another set of the optimization patches:Anders Broman1-56/+38
Use O(1) logic for the fast path when adding fragments (ie fragments are in order). svn path=/trunk/; revision=23422
2007-08-15Added fragment_start_seq_check to start a reassembly without adding any data.Stig Bjørlykke1-0/+40
svn path=/trunk/; revision=22513
2007-06-24Added a new function, fragment_end_seq_next(), to end the Graeme Lunt1-53/+137
fragmented data without adding an empty data fragment. This is used by the RTSE dissector which can't identify the last fragment until after it has been added. svn path=/trunk/; revision=22174
2007-03-26Fix a bunch more warnings. Add -Werror when using --with-warnings-as-errorsStephen Fisher1-1/+1
under gcc to tools/lemon, plugins/mate and epan/ svn path=/trunk/; revision=21204
2007-02-21From Richard van der Hoff:Anders Broman1-215/+231
01_reassemble_test.patch ------------------------ I didn't want to do anything without some unit tests, so here they are. This allows a standalone binary, epan/reassemble_test, to be built; this can be run from the commandline and should end up printing out "success" if all goes well. NOTE the changes to makefile.am NOT checked in currently. Incidentally: is it possible to get the buildbot to run things like this, exntest and tvbtest? 02_reassemble_refactor.patch ---------------------------- fragment_add_seq, fragment_add_dcerpc_dg and fragment_add_seq_check_work were all pretty much carbon-copies of each other. This patch factors out the common parts of the routines into a new routine, fragment_add_seq_key(). 03_reassemble_partial_reassembly.patch --------------------------------------- This makes fragment_set_partial_reassembly() work for datagrams assembled with fragment_add_seq(). The patch itself is actually quite small, but it adds another unit test which is reasonably lengthy. svn path=/trunk/; revision=20888
2007-02-19Squelch a few unused parameter warnings.Jeff Morriss1-1/+1
svn path=/trunk/; revision=20863
2007-01-19Fix the SCCP dissector so it doesn't show non-segmented DT1 messages asJeff Morriss1-17/+7
having been reassembled. Fix the comments in reassembly.c and reassembly.h regarding what the reassembly routines actually return in the 802.11 and no-sequence-number cases when they are given the first and last packet (that is, a non-segmented packet): in particular the routines return a pointer to a list containing just the one fragment. svn path=/trunk/; revision=20505
2006-11-21Fix pluralization of "bytes" so it doesn't say "1 bytes".Guy Harris1-5/+7
Clean up indentation. svn path=/trunk/; revision=19953
2006-05-21name changeRonnie Sahlberg1-2/+2
svn path=/trunk/; revision=18197
2006-01-22simply use DISSECTOR_ASSERT() to detect tvb problems instead of my previous ↵Ulf Lamping1-3/+1
commit svn path=/trunk/; revision=17074
2006-01-22add fragment_get_reassembled_id so the handed id doesn't need to be a packet ↵Ulf Lamping1-0/+21
number (experimental) add a check to fragment_add_common() if the given tvb parameters are ok, otherwise throw a DissectorError add some more symbols to libethereal.def svn path=/trunk/; revision=17073
2006-01-15Hi All,Jaap Keuter1-3/+6
Find attached a couple of changes for t38: - Use the dissector to reassemble t30 frames - Dissect t30 protocol - Move the "Fax t38 analysis" to the "VoIP Calls". Now when selecting "Statistics"->"Fax t38 analysis" option, there is a message that redirect the user to use the "Voip calls" instead. We may keep this option for one release, and then remove it ? - Added in the "Voip calls" the ability to detect a t38 call if there are not signaling associated with it. For example, when using "Decode as.." to dissect t38 packets, it is possible to use the "Voip calls" to analyze that call. - Display "SDP (t38)" in the "Voip calls graph" for SDP t38 sessions. Regards Alejandro Vaquero svn path=/trunk/; revision=17033
2005-09-20Don't try to reassemble a zero-length fragment. Add a comment toGerald Combs1-0/+2
reassemble.c about the handling of zero-length fragments. svn path=/trunk/; revision=15899
2005-09-12fix reassembling problem I've introduced yesterday, by using ↵Ulf Lamping1-7/+14
fragment_add_seq_next() function instead of fragment_add() in addition, I had to implement fragment_get_reassembled() in addition to fragment_get(), which works with reassembled_table svn path=/trunk/; revision=15762