Commit Graph

39 Commits

Author SHA1 Message Date
Bill Meier 781129806f Fix ex "modeline" so it works;
See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5748

svn path=/trunk/; revision=39081
2011-09-21 17:49:11 +00:00
Bill Meier 5c778feb6b From Yaniv Kaul:
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
2011-04-27 17:22:20 +00:00
Stephen Fisher 06c5cfc945 From Georg Mueller via bug #5851: Add not handled IDs to BitTorrent
dissector


svn path=/trunk/; revision=36726
2011-04-19 21:31:02 +00:00
Bill Meier af30978c39 Fix minor bug lookups of certain "peer ids" would fail.
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
2011-01-31 21:23:35 +00:00
Guy Harris a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
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-12-20 05:35:29 +00:00
Bill Meier b4410bc917 Use find_or_create_conversation() rather than only conversation_new().
Fixes bug #2907: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2907

svn path=/trunk/; revision=33136
2010-06-07 16:32:21 +00:00
Bill Meier 0fc9115705 Use consistent indentation; Whitesapce & formatting cleanup.
svn path=/trunk/; revision=32755
2010-05-11 16:54:55 +00:00
Bill Meier 09764dd969 Remove unneeded #include <stdio.h>
svn path=/trunk/; revision=32367
2010-04-03 21:55:23 +00:00
Anders Broman 440c3f9261 From Didier Gautheron:
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
2010-01-13 20:32:01 +00:00
Stig Bjørlykke ebd71d6f84 Added more Peer ID Conventions.
svn path=/trunk/; revision=30980
2009-11-16 22:53:11 +00:00
Kovarththanan Rajaratnam 6110a96f68 Don't guard col_set_str (COL_INFO/COL_PROTOCOL) with col_check
svn path=/trunk/; revision=29345
2009-08-09 07:59:51 +00:00
Stig Bjørlykke b228488bc0 From Kovarththanan Rajaratnam via bug 3548:
(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-06-18 21:30:42 +00:00
Anders Broman 8611ec5f5e More size_t casts.
svn path=/trunk/; revision=27879
2009-03-29 12:07:30 +00:00
Bill Meier c544c20956 Fix various typos and spelling errors (mostly in text strings)
svn path=/trunk/; revision=27050
2008-12-18 19:08:49 +00:00
Bill Meier b52d95d591 #include <emem.h> not req'd
svn path=/trunk/; revision=26091
2008-08-26 01:28:50 +00:00
Jeff Morriss 19e29f228f Remove some dead (statement not reached) code (while trying to avoid any false control reaches end of non-void function warnings)
svn path=/trunk/; revision=25706
2008-07-11 18:56:03 +00:00
Anders Broman 6226035893 Apply yet another set of the optimization patches:
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
2007-11-09 06:01:18 +00:00
Jeff Morriss 3dec62b85c - s/ntohs/g_ntohs
- 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
2007-08-15 22:27:52 +00:00
Guy Harris 1bc049906a Add some GCC warnings to the standard set, and add some others to the
--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
2007-04-23 10:59:26 +00:00
Stephen Fisher 8fd3ee0560 Remove almost all of the casts I committed recently and in place of
them, add -Wno-pointer-sign to CFLAGS when gcc will accept it.


svn path=/trunk/; revision=21253
2007-03-28 21:55:11 +00:00
Stephen Fisher 85a464c980 Fix a bunch of warnings, add svn:keywords Id and svn:eol-style native
to packet-iuup.c.
 

svn path=/trunk/; revision=21244
2007-03-28 07:06:39 +00:00
Stephen Fisher fa3af74ba7 Fix a warning in packet-bittorrent.c I didn't fix right the first time and try to get the Win32 buildbot going again in packet-ndmp.c.
svn path=/trunk/; revision=21238
2007-03-27 23:33:59 +00:00
Stephen Fisher ab8f589336 Fix about 100 simple to fix warnings from gcc 4.0 in epan/dissectors
svn path=/trunk/; revision=21233
2007-03-27 22:50:11 +00:00
Ronnie Sahlberg 2d1bb39121 change the signature for the get_pdu_len() function pointer passed to 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
2006-10-31 09:29:07 +00:00
Ronnie Sahlberg feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00
Ronnie Sahlberg f331077a60 waste a couple of bytes per tcp conversation and make the tree for 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
2006-03-20 10:52:53 +00:00
Anders Broman 185cfdefd4 From John Sullivan:
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
2005-12-19 06:48:07 +00:00
Ulf Lamping 6b3cacb197 bugfix: don't crash, if not enough bytes of the header available
svn path=/trunk/; revision=16124
2005-10-05 06:37:35 +00:00
Ulf Lamping e11c4aac89 enhancements COL_INFO output and make bittorrent protocol filterable
svn path=/trunk/; revision=16067
2005-10-02 15:41:11 +00:00
Guy Harris 2831a51832 The length returned for continuation data should be the length remaining
in the tvbuff starting at the specified offset, not the entire length of
the tvbuff.

svn path=/trunk/; revision=15401
2005-08-18 07:09:43 +00:00
Guy Harris 27a04a5255 Show BitTorrent stuff that doesn't look right as continuation data.
svn path=/trunk/; revision=15399
2005-08-18 01:17:46 +00:00
Gerald Combs 27728e30e5 If we receive junk data from the network it means we have a
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
2005-08-17 15:04:44 +00:00
Guy Harris 3b6b4817e1 From Peter Johansson: add an option to decode the client information,
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
2005-08-16 05:58:50 +00:00
Guy Harris a05302b67a Find the BitTorrent dissector immediately after registering it, and save
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
2005-07-09 00:44:44 +00:00
Guy Harris ab797734dd Get rid of the private "my_match_strval()" routine in many dissectors;
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
2005-06-26 19:56:52 +00:00
Ulf Lamping fdb5b1af02 just to get things straight: a dissector should *never* do any g_assert() calls!
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
2005-06-10 18:28:22 +00:00
Anders Broman 851ecd2ac4 From Jon Ringle:
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
2005-02-02 20:07:03 +00:00
Guy Harris da632922f3 Add a URL for the BitTorrent protocol spec.
svn path=/trunk/; revision=12664
2004-12-03 20:51:10 +00:00
Guy Harris 679479be68 From Jelmer Vernooij: BitTorrent support.
svn path=/trunk/; revision=12638
2004-12-01 12:41:43 +00:00