aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcp-etsi.c
AgeCommit message (Collapse)AuthorFilesLines
2013-03-29Bump two guint16 to guint32 to prevent overflow when reassembling a largeEvan Huus1-3/+3
number of fragments, and add an extra bounds check. Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8540 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8541 svn path=/trunk/; revision=48644
2013-03-22Don't wire into the reassembly code the notion that reassemblies shouldGuy Harris1-10/+9
be done on flows from one address to another; reassembly for protocols running atop TCP should be done on flows from one TCP endpoint to another. We do this by: adding "reassembly table" as a data structure; associating hash tables for both in-progress reassemblies and completed reassemblies with that data structure (currently, not all reassemblies use the latter; they might keep completed reassemblies in the first table); having functions to create and destroy keys in that table; offering standard routines for doing address-based and address-and-port-based flow processing, so that dissectors not needing their own specialized flow processing can just use them. This fixes some mis-reassemblies of NIS YPSERV YPALL responses (where the second YPALL response is processed as if it were a continuation of a previous response between different endpoints, even though said response is already reassembled), and also allows the DCE RPC-specific stuff to be moved out of epan/reassembly.c into the DCE RPC dissector. svn path=/trunk/; revision=48491
2013-03-16[-Wmissing-prototypes]Anders Broman1-2/+3
Use explicit casts. svn path=/trunk/; revision=48338
2013-01-31Comment out unused hf[] entries & etc.Bill Meier1-5/+11
(found by checkhf) svn path=/trunk/; revision=47389
2013-01-26dcp-etsi dissector: new formula for rx_min Michael Mann1-3/+1
Bug 8231 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8231) svn path=/trunk/; revision=47295
2013-01-16no need for if (tree)Martin Kaiser1-2/+1
svn path=/trunk/; revision=47125
2013-01-16don't attempt reassembly if more than 1000 consecutive fragments areMartin Kaiser1-0/+9
missing this fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8222 svn path=/trunk/; revision=47123
2013-01-15Don't run past the end of a fragment array, either in the loop or by putting aEvan Huus1-3/+1
useless sentinel in. Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8213 svn path=/trunk/; revision=47098
2013-01-15Add modelines.Evan Huus1-1/+12
svn path=/trunk/; revision=47095
2012-09-20We always HAVE_CONFIG_H so don't bother checking whether we have it or not.Jeff Morriss1-3/+1
svn path=/trunk/; revision=45017
2012-09-10Initial commit to support yet another method of passing data between dissectors.Jakub Zawadzki1-2/+1
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL svn path=/trunk/; revision=44860
2012-09-07From Robert Bullen via ↵Jeff Morriss1-0/+2
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7683 : The reassembled fragments tree in the Packet Details view is awesome, but it lacks one thing: a field that exposes the reassembled data. tcp.data already exists for exposing a single TCP segment's payload as a byte array. It would be handy to have something similar for a single application layer PDU when TCP segment reassembly is involved. I propose tcp.reassembled.data, named and placed after the already existing field tcp.reassembled.length. My primary use case for this feature is outputting tcp.reassembled.data with tshark for further processing with a script. The attached patch implements this very feature. Because the reassembled fragment tree code is general purpose, i.e. not specific to just TCP, any dissector that relies upon it can add a similar field very cheaply. In that vein I've also implemented ip.reassembled.data and ipv6.reassembled.data, which expose reassembled fragment data as a single byte stream for IPv4 and IPv6, respectively. All other protocols that use the reassembly code have been left alone, other than inserting NULL into their initializer lists for the newly introduced struct field reassemble.h:fragment_items.hf_reassembled_data. svn path=/trunk/; revision=44802
2012-08-03Fix fuzz failure reported in ↵Jeff Morriss1-5/+4
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7566 : Don't try to reassemble a message of length 0 (fixes a later divide-by-zero error but I don't see why we'd want to do any work for message whose length we think is 0). svn path=/trunk/; revision=44247
2012-06-28Update FSF address - part II.Jakub Zawadzki1-1/+1
svn path=/trunk/; revision=43538
2011-12-13Fix a memory leak of a tvb.Bill Meier1-0/+2
svn path=/trunk/; revision=40163
2011-10-21For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.Bill Meier1-4/+4
Also: remove trailing whitespace for a number of files. svn path=/trunk/; revision=39503
2011-10-16Do some conversions of proto_tree_add_item() 'encoding' arg.Bill Meier1-1/+1
(previously missed). 57 FT_BOOLEAN: FALSE-->ENC_BIG_ENDIAN 31 FT_BOOLEAN: TRUE-->ENC_LITTLE_ENDIAN 10 FT_BYTES: ENC_BIG_ENDIAN-->ENC_NA 1 FT_BYTES: ENC_LITTLE_ENDIAN-->ENC_NA 21 FT_BYTES: FALSE-->ENC_NA 2 FT_BYTES: TRUE-->ENC_NA 2 FT_IPXNET: ENC_BIG_ENDIAN-->ENC_NA 6 FT_IPv6: ENC_BIG_ENDIAN-->ENC_NA 1 FT_IPv6: FALSE-->ENC_NA 6 FT_NONE: ENC_BIG_ENDIAN-->ENC_NA 19 FT_NONE: FALSE-->ENC_NA 3 FT_NONE: TRUE-->ENC_NA 1 FT_STRING: ENC_BIG_ENDIAN-->ENC_ASCII|ENC_NA 1 FT_STRING: ENC_LITTLE_ENDIAN-->ENC_ASCII|ENC_NA 5 FT_STRING: FALSE-->ENC_ASCII|ENC_NA 1 FT_STRING: TRUE-->ENC_ASCII|ENC_NA 4 FT_STRINGZ: ENC_NA-->ENC_ASCII|ENC_NA 8 FT_STRINGZ: FALSE-->ENC_ASCII|ENC_NA 1 FT_INT32: FALSE-->ENC_BIG_ENDIAN 1 FT_INT32: TRUE-->ENC_LITTLE_ENDIAN 11 FT_UINT8: 0-->ENC_BIG_ENDIAN 111 FT_UINT8: FALSE-->ENC_BIG_ENDIAN 17 FT_UINT8: TRUE-->ENC_LITTLE_ENDIAN 1 FT_UINT16: 0-->ENC_BIG_ENDIAN 68 FT_UINT16: FALSE-->ENC_BIG_ENDIAN 18 FT_UINT16: TRUE-->ENC_LITTLE_ENDIAN 4 FT_UINT24: FALSE-->ENC_BIG_ENDIAN 70 FT_UINT32: FALSE-->ENC_BIG_ENDIAN 1 FT_UINT32: TRUE-->ENC_LITTLE_ENDIAN 4 FT_UINT64: FALSE-->ENC_BIG_ENDIAN 1 FT_UINT64: TRUE-->ENC_LITTLE_ENDIAN 1 FT_UINT_STRING: FALSE-->ENC_ASCII|ENC_BIG_ENDIAN svn path=/trunk/; revision=39442
2011-10-15Convert proto_tree_add_item() 'encoding' arg for field types FT_STRING, ↵Bill Meier1-2/+2
FT_STRINGZ, FT_UINT_STRING as follows: 1. If there's no character encoding (ENC_ASCII, ...) specified then use ENC_ASCII. 2. For all but FT_UINT_STRING, always use ENC_NA (replacing any existing True/1/FALSE/0 /ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN). svn path=/trunk/; revision=39426
2011-10-04Use ENC_NA as encoding for proto_tree_add_item() calls which directly ↵Bill Meier1-1/+1
reference an hf item (in hf[] with types: FT_NONE FT_BYTES FT_IPV6 FT_IPXNET FT_OID Note: Encoding field set to ENC_NA only if the field was previously TRUE|FALSE|ENC_LITTLE_ENDIAN|ENC_BIG_ENDIAN svn path=/trunk/; revision=39260
2011-09-26Get rid of check_col, while at it set ENC.Anders Broman1-38/+36
svn path=/trunk/; revision=39149
2011-08-31Second try to move crc routines to libwsutil.Stig Bjørlykke1-1/+1
This time keep the tvb routines in epan. Now we can use common crc routines outside epan. svn path=/trunk/; revision=38810
2011-08-30Revert r38800, as the crc routines contains some tvb functions.Stig Bjørlykke1-1/+1
svn path=/trunk/; revision=38803
2011-08-30Move all crc routines to libwsutil.Stig Bjørlykke1-1/+1
This way we can use the crc routines in wiretap. svn path=/trunk/; revision=38800
2011-06-22Fix some gcc 4.6 "set but not used [-Wunused-but-set-variable]" warnings;Bill Meier1-7/+2
Also: misc minor cleanup: unneeded #include; whitespace, tvb_length-->tvb_reported_length svn path=/trunk/; revision=37757
2011-05-13Delete 2 assignments to 'i' as neither were used. Fixes Coverity CID 875.Chris Maynard1-5/+4
svn path=/trunk/; revision=37132
2011-01-30Introduce "Fragment count" filter element for all protocols doing reassembly.Stig Bjørlykke1-0/+5
svn path=/trunk/; revision=35705
2011-01-20Roll some calls to tvb_get_ptr() into proto_tree_add_bytes_format() (insteadJeff Morriss1-5/+6
of going through a temporary variable). This just makes it more obvious which add_bytes_format() calls are or are not being given pointers into the TVB. Use tvb_ip_to_str() and tvb_ip6_to_str() in a couple spots. svn path=/trunk/; revision=35593
2010-12-20Rename the routines that handle dissector tables with unsigned integerGuy Harris1-2/+2
keys to have _uint in their names, to match the routines that handle dissector tables with string keys. (Using _port can confuse people into thinking they're intended solely for use with TCP/UDP/etc. ports when, in fact, they work better for things such as Ethernet types, where the binding of particular values to particular protocols are a lot stronger.) svn path=/trunk/; revision=35224
2010-02-06Renamed some reassembled data texts.Stig Bjørlykke1-4/+4
Removed some check_col(). svn path=/trunk/; revision=31809
2010-02-02Introduce "Reassembled length" filter element for all protocols doingStig Bjørlykke1-1/+7
reassembly. svn path=/trunk/; revision=31767
2010-01-13From Didier Gautheron:Anders Broman1-3/+1
check_col.diff Remove redundant calls to check_col() if it guards only one columns function with one parameter after the column type. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4394 svn path=/trunk/; revision=31519
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-09Don't guard col_clear with col_checkKovarththanan Rajaratnam1-3/+1
svn path=/trunk/; revision=29346
2009-08-09Don't guard col_set_str (COL_INFO/COL_PROTOCOL) with col_checkKovarththanan Rajaratnam1-9/+3
svn path=/trunk/; revision=29345
2009-06-18From Kovarththanan Rajaratnam via bug 3548:Stig Bjørlykke1-10/+10
(1) Trailing/leading spaces are removed from 'name's/'blurb's (2) Duplicate 'blurb's are replaced with NULL (3) Empty ("") 'blurb's are replaced with NULL (4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME, FT_PROTOCOL, FT_STRING and FT_STRINGZ field types (5) Only allow non-zero value for 'display' if 'bitmask' is non-zero svn path=/trunk/; revision=28770
2009-05-13Apply some of the patches from:Anders Broman1-4/+2
http://wiki.wireshark.org/Development/Optimization svn path=/trunk/; revision=28356
2009-05-08FT_BOOLEAN fields with bitmask: Display is 'parent bitfield width' not BASE...Bill Meier1-61/+62
Use consistent indentation. svn path=/trunk/; revision=28307
2008-12-19Back out r27047 and r27053.Gerald Combs1-2/+3
svn path=/trunk/; revision=27062
2008-12-18Update calls to proto_tree_add_bytes_format to reflect r27047.Gerald Combs1-3/+2
svn path=/trunk/; revision=27053
2008-09-30Fix Bug 2860 Malformed Packet DCP ETSI error with UDP packet length 9 byAnders Broman1-0/+31
not accepting packages shorter than 10 bytes in the heuristic(min header length). https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2860 svn path=/trunk/; revision=26311
2008-09-26Minor cleanup related to proto_register & proto_reg_handoffBill Meier1-10/+7
svn path=/trunk/; revision=26280
2008-08-25prefs_register_protocol not req'd since no prefs; simplify reg_handoff & do ↵Bill Meier1-18/+12
minor cleanup svn path=/trunk/; revision=26081
2008-06-27Fix some warnings reported by gcc -Wshadow ... Bill Meier1-3/+3
Fix some spacing in packet-dcom.c svn path=/trunk/; revision=25618
2007-11-15Don't try to reassemble a huge number of fragments.Gerald Combs1-0/+5
svn path=/trunk/; revision=23463
2007-08-17Replace a couple more calls to tvb_get_string() with ↵Jeff Morriss1-4/+3
tvb_get_ephemeral_string(). 2 of the 3 replacements fix memory leaks. svn path=/trunk/; revision=22542
2007-03-09move some variable declarations to the start of the block.Ronnie Sahlberg1-3/+6
many compilers do not support the nonstandard feature to declare variables in the middle of a block. svn path=/trunk/; revision=21012
2007-03-09Fix for bug 1264 from Julian Cable:Gerald Combs1-23/+31
I've refactored the offending code branch and added some comments so hopefully the intent is a bit clearer. The loop termination conditions are now obviously independent of the content on the wire (they were meant to be before, but I admit it was obscure). I've tried using the ephemeral memory routines. Add a check for a maximum fragment count, and bail out of reassembly instead of triggering an ep_alloc exception. Add Julian to AUTHORS. Update the release notes. svn path=/trunk/; revision=21007
2007-01-26A few more ethereal --> wiresharkBill Meier1-1/+1
svn path=/trunk/; revision=20559
2007-01-25Remove dead code. Fixes Coverity CID 228. Squelch various compiler warnings.Gerald Combs1-37/+33
svn path=/trunk/; revision=20553
2006-11-25From Julian Cable:Anders Broman1-0/+878
New dissector for ETSI DCP (ETSI TS 102 821). Code rearranged to look more like other Wireshark dissectors and some warnings/errors on Windows fixed. svn path=/trunk/; revision=19981