Commit Graph

15 Commits

Author SHA1 Message Date
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