aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-bittorrent.c
Commit message (Collapse)AuthorAgeFilesLines
* Convert proto_tree_add_item() 'encoding' arg for field types FT_STRING, ↵Bill Meier2011-10-151-4/+4
| | | | | | | | | | | | | | 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
* Fix a bug wherein proto_tree_add_uint() was intended instead of ↵Bill Meier2011-10-111-1/+1
| | | | | | | | | | proto_tree_add_item(); This bug would have caused display of a FT_UINT32 field with the wrong endianness. (Replaces change made in SVN #39350). svn path=/trunk/; revision=39360
* Fix bugs which caused certain fields to display with the wrong endianness;Bill Meier2011-10-101-1/+1
| | | | | | Specifically: some proto_tree_add_item() 'encoding' args were incorrect. svn path=/trunk/; revision=39350
* Use ENC_NA as encoding for proto_tree_add_item() calls which directly ↵Bill Meier2011-10-041-11/+11
| | | | | | | | | | | | | | 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
* Get rid of check_col, while at it set ENC.Anders Broman2011-09-261-47/+44
| | | | svn path=/trunk/; revision=39146
* Fix ex "modeline" so it works;Bill Meier2011-09-211-1/+1
| | | | | | See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5748 svn path=/trunk/; revision=39081
* From Yaniv Kaul:Bill Meier2011-04-271-3/+0
| | | | | | | | | Some fixes for 'set but not used' errors that GCC 4.6 emits. From me: #include <string.h> not req'd. svn path=/trunk/; revision=36907
* From Georg Mueller via bug #5851: Add not handled IDs to BitTorrentStephen Fisher2011-04-191-1/+27
| | | | | | | dissector svn path=/trunk/; revision=36726
* Fix minor bug lookups of certain "peer ids" would fail.Bill Meier2011-01-311-3/+3
| | | | | | | | | | | | The issue (in essence) For: char foo[][4] = {"abc", "defg", "hij"}; strlen(foo[1]) will be 7 and not 4 as expected; Detected via msvc level 4 warning: "array is too small to include a terminating null character" svn path=/trunk/; revision=35732
* Rename the routines that handle dissector tables with unsigned integerGuy Harris2010-12-201-9/+9
| | | | | | | | | | | 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
* Use find_or_create_conversation() rather than only conversation_new().Bill Meier2010-06-071-3/+1
| | | | | | Fixes bug #2907: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2907 svn path=/trunk/; revision=33136
* Use consistent indentation; Whitesapce & formatting cleanup.Bill Meier2010-05-111-362/+376
| | | | svn path=/trunk/; revision=32755
* Remove unneeded #include <stdio.h>Bill Meier2010-04-031-2/+0
| | | | svn path=/trunk/; revision=32367
* From Didier Gautheron:Anders Broman2010-01-131-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
* Added more Peer ID Conventions.Stig Bjørlykke2009-11-161-22/+87
| | | | svn path=/trunk/; revision=30980
* Don't guard col_set_str (COL_INFO/COL_PROTOCOL) with col_checkKovarththanan Rajaratnam2009-08-091-15/+5
| | | | svn path=/trunk/; revision=29345
* From Kovarththanan Rajaratnam via bug 3548:Stig Bjørlykke2009-06-181-28/+28
| | | | | | | | | | | | (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
* More size_t casts.Anders Broman2009-03-291-3/+3
| | | | svn path=/trunk/; revision=27879
* Fix various typos and spelling errors (mostly in text strings)Bill Meier2008-12-181-1/+1
| | | | svn path=/trunk/; revision=27050
* #include <emem.h> not req'dBill Meier2008-08-261-1/+0
| | | | svn path=/trunk/; revision=26091
* Remove some dead (statement not reached) code (while trying to avoid any ↵Jeff Morriss2008-07-111-4/+0
| | | | | | false control reaches end of non-void function warnings) svn path=/trunk/; revision=25706
* Apply yet another set of the optimization patches:Anders Broman2007-11-091-1/+2
| | | | | | | | | | | | | When offset parameter is 0 replace tvb_bytes_exist() with the faster tvb_length(). On the other hand if (tvb_bytes_exist(tvb, 0, 20) is more readable than if (tvb_length(tvb) >= 20 so only do it in heuristic function svn path=/trunk/; revision=23412
* - s/ntohs/g_ntohsJeff Morriss2007-08-151-25/+24
| | | | | | | | | | | - s/ntohl/g_ntohl - s/free/g_free - Change some tvb_get_string()+g_free()'s into tvb_get_ephemeral_string() - Change some tvb_fake_unicode()+g_free()'s into tvb_get_ephemeral_faked_unicode() - Change some tvb_get_string() calls that were clearly memory leaks (like atoi(tvb_get_string(...))) into tvb_get_ephemeral_string() svn path=/trunk/; revision=22515
* Add some GCC warnings to the standard set, and add some others to theGuy Harris2007-04-231-2/+2
| | | | | | | | | | | | | | | --enable-extra-gcc-checks set. If we turn on -pedantic, try turning on -Wno-long-long as well, so that it's not *so* pedantic that it rejects the 64-bit integral data types that we explicitly require. Constify a bunch of stuff, and make some other changes, to get rid of warnings. Clean up some indentation. svn path=/trunk/; revision=21526
* Remove almost all of the casts I committed recently and in place ofStephen Fisher2007-03-281-6/+6
| | | | | | | them, add -Wno-pointer-sign to CFLAGS when gcc will accept it. svn path=/trunk/; revision=21253
* Fix a bunch of warnings, add svn:keywords Id and svn:eol-style nativeStephen Fisher2007-03-281-2/+2
| | | | | | | to packet-iuup.c. svn path=/trunk/; revision=21244
* Fix a warning in packet-bittorrent.c I didn't fix right the first time and ↵Stephen Fisher2007-03-271-1/+1
| | | | | | try to get the Win32 buildbot going again in packet-ndmp.c. svn path=/trunk/; revision=21238
* Fix about 100 simple to fix warnings from gcc 4.0 in epan/dissectors Stephen Fisher2007-03-271-7/+7
| | | | svn path=/trunk/; revision=21233
* change the signature for the get_pdu_len() function pointer passed to ↵Ronnie Sahlberg2006-10-311-1/+1
| | | | | | | | | | tcp_dissect_pdus() to also include a packet_info pointer. there are many reasons why some protocols actually need to be able to access the pinfo structure while determining the pdu size svn path=/trunk/; revision=19751
* change a whole bunch of ethereal into wiresharkRonnie Sahlberg2006-05-211-2/+2
| | | | svn path=/trunk/; revision=18196
* waste a couple of bytes per tcp conversation and make the tree for ↵Ronnie Sahlberg2006-03-201-0/+1
| | | | | | | | | | | | | acked_packets (i.e. packets that have interesting tcp properties such as being retransmissions etc) hang off the per conversation tcpd struct instead of being global. while this should improve performance by unmeasurably little it does have the sideeffect that once we finish the rewrite tcp analysis might actually work and work well even for tcp over tcp tunnelling. this also means that if you include packet-tcp.h you also need to include emem.h . svn path=/trunk/; revision=17681
* From John Sullivan:Anders Broman2005-12-191-11/+472
| | | | | | | | | | | | | | | | | | | | | | | | | Three patches here: eth-ed-2.diff ------------- 1) The handling of HashSet Answer messages was wrong 2) Add dissection of some more eMule extension packets to do with error recovery eth-bt-1.diff ------------- New versions of the Azureus BitTorrent client implement a new extension to the protocol, which is effectively a text based encapsulation of the binary BitTorrent protocol, embedded within the BitTorrent protocol. Who knows why they thought that was a good idea, but this patch can pick apart their new headers. eth-bt-2.diff ------------- By registering a normal dissector as well as the heuristic one, BitTorrent shows up on the Decode As... list so you can manually override its mistake. svn path=/trunk/; revision=16856
* bugfix: don't crash, if not enough bytes of the header availableUlf Lamping2005-10-051-0/+3
| | | | svn path=/trunk/; revision=16124
* enhancements COL_INFO output and make bittorrent protocol filterableUlf Lamping2005-10-021-13/+45
| | | | svn path=/trunk/; revision=16067
* The length returned for continuation data should be the length remainingGuy Harris2005-08-181-6/+7
| | | | | | | in the tvbuff starting at the specified offset, not the entire length of the tvbuff. svn path=/trunk/; revision=15401
* Show BitTorrent stuff that doesn't look right as continuation data.Guy Harris2005-08-181-24/+38
| | | | svn path=/trunk/; revision=15399
* If we receive junk data from the network it means we have aGerald Combs2005-08-171-2/+2
| | | | | | | | | | | | malformed packet. It doesn't necessarily mean that we have a problem with our dissector. If we see something we didn't expect, throw a ReportedBoundsError instead of calling DISSECTOR_ASSERT() (which makes BuildBot open a ticket). Fixes bugs 362 - 366. svn path=/trunk/; revision=15390
* From Peter Johansson: add an option to decode the client information,Guy Harris2005-08-161-190/+286
| | | | | | | | | and check the validity of messages a bit more carefully. Reformat a bit so not as much code is missed by those of us who like narrow editor windows. svn path=/trunk/; revision=15369
* Find the BitTorrent dissector immediately after registering it, and saveGuy Harris2005-07-091-15/+16
| | | | | | | | | | | | | | the handle, rather than finding it every time we need it. Just make a guint8 array with the BitTorrent magic string length followed by the string, and use "tvb_memeql()" to test against that - it handles checking to make sure there's enough data in the tvbuff (if not, it returns -1 as a "no match" indication) and then checks all of the first 20 bytes in one operation. Clean up white space. svn path=/trunk/; revision=14882
* Get rid of the private "my_match_strval()" routine in many dissectors;Guy Harris2005-06-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | add a "match_strval_idx()" routine that does the same thing, and have "match_strval()" call it. Make those routines, and "val_to_str()", return a "const" pointer. Update dissectors as necessary to squelch compiler warnings produced by that. Use "val_to_str()" rather than using "match_strval()" and then, if the result is null, substituting a specific string. Clean up some other "match_strval()"/"val_to_str()" usages. Add a null pointer check in the NDPS dissector's "attribute_value()" routine, as it's not clear that "global_attribute_name" won't be null at that point. Make some global variables in the AFS4INT dissector local. Make some routines not used outside the module they're in static. Make some tables "static const". Clean up white space. Fix Gerald's address in some files. svn path=/trunk/; revision=14786
* just to get things straight: a dissector should *never* do any g_assert() calls!Ulf Lamping2005-06-101-1/+1
| | | | | | | | | | | | in a simple approach, I've replaced all g_assert() and g_assert_not_reached() calls by their exception throwing counterparts DISSECTOR_ASSERT() and DISSECTOR_ASSERT_NOT_REACHED() this will replace application crash by showing a dissector bug, which is the desired behaviour there were some g_assert calls in the protocol registering functions, which might not be acting as expected now, but to be able to simply search for g_assert in the future I've replaced that calls too one g_assert remained, the one when someone throws an unknown exception "into" packet_frame.c, but IMHO this one should remain. svn path=/trunk/; revision=14608
* From Jon Ringle:Anders Broman2005-02-021-1/+1
| | | | | | | | | | | | | | 1) Added a setup_frame parameter to conversation_t 2) Used the conversation_t next to maintain a list of conversations with the same src/dest tuple but different setup_frame number. 3) Changed the signature of find_conversation() and conversation_new() to pass in the frame number. 4) Adjusted packet-sdp to select RTP conversation if both m=audio and m=image are present, and T.38 conversation if only m=image is present. I expect that RTP/T.38 dissecting to be better, but I don't have a way to generate T.38 packets. svn path=/trunk/; revision=13243
* Add a URL for the BitTorrent protocol spec.Guy Harris2004-12-031-0/+6
| | | | svn path=/trunk/; revision=12664
* From Jelmer Vernooij: BitTorrent support.Guy Harris2004-12-011-0/+302
svn path=/trunk/; revision=12638