Commit graph

144 commits

Author SHA1 Message Date
Kovarththanan Rajaratnam
e971354a54 Don't guard col_set_str (COL_PROTOCOL) with col_check
svn path=/trunk/; revision=29340
2009-08-09 06:26:46 +00:00
Stig Bjørlykke
4d8dd01e8e Changed flags_set_truth -> tfs_set_notset
svn path=/trunk/; revision=28989
2009-07-07 14:54:15 +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
b4aeb97ed5 tvb_new_real_data -> tvb_new_child_real_data
svn path=/trunk/; revision=28517
2009-05-29 06:16:43 +00:00
Gerald Combs
9a72434b1e Add support for process flow records to IPFIX, which required adding
support for vendor-specific IEs. Fix variable-length record handling. Add
conversation tracking to the UDP dissector and add process flow
information to TCP and UDP conversations.

This lets us run process flow collectors on one or more machines and
have the process username, PID, command name, etc. show up in the TCP
and UDP protocol trees.

svn path=/trunk/; revision=28366
2009-05-14 23:33:17 +00:00
Anders Broman
64a33ad7af Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28364
2009-05-14 20:04:28 +00:00
Jaap Keuter
a6f9c55480 From Chris A:
Right now with DESEGMENT_UNTIL_FIN, the TCP dissector doesn't display the
fragment tree (the "Reassembled TCP segments" with links to the frames that
were reassembled).

Attached is one possible patch to packet-tcp.c to display the fragment tree.
Because DESEGMENT_UNTIL_FIN dissects the FIN packet as the high-level PDU, the
fragment tree also contains the FIN packet. It has 0 bytes of PDU data. Ugly but logical..

svn path=/trunk/; revision=28090
2009-04-20 05:48:04 +00:00
Gerald Combs
446d43351c Add initial support for string buffers - ep_allocated, growable strings
similar to GLib's GStrings. Use them to create the list of TCP flags.

svn path=/trunk/; revision=27872
2009-03-27 23:05:37 +00:00
Bill Meier
d6a5a7c761 P64 changes: Fix some cases for which size_t is not required
svn path=/trunk/; revision=27822
2009-03-22 20:55:31 +00:00
Gerald Combs
6d04f793f0 Back out r27047 and r27053.
svn path=/trunk/; revision=27062
2008-12-19 17:39:52 +00:00
Gerald Combs
fc71188963 Update calls to proto_tree_add_bytes_format to reflect r27047.
svn path=/trunk/; revision=27053
2008-12-18 20:19:49 +00:00
Bill Meier
33c99f44fd Fix typos and spelling (mostly in text strings)
svn path=/trunk/; revision=27028
2008-12-17 00:08:38 +00:00
Gerald Combs
6f659679f7 Make sure all of our struct members are initialized.
svn path=/trunk/; revision=26948
2008-12-09 17:50:02 +00:00
Stig Bjørlykke
9936884558 The stream index does not belong to the source and destination port bytes.
Do not let the generated TCP Analysis Flags get all TCP bytes.
Point the hidden TCP Segment Len to the header length byte.

svn path=/trunk/; revision=26806
2008-11-18 16:38:08 +00:00
Stig Bjørlykke
30991af2f1 From Didier Gautheron (bug 3032):
Use se_alloc0 rather then se_alloc for tcp_acked allocation.

svn path=/trunk/; revision=26685
2008-11-04 08:31:23 +00:00
Stephen Fisher
0feefaf9a0 Fix minor typo in comment field
svn path=/trunk/; revision=26671
2008-11-02 00:48:41 +00:00
Jaap Keuter
aba73d539f Add option 22 and 23 dissection.
svn path=/trunk/; revision=26463
2008-10-15 17:51:57 +00:00
Sake Blok
a550fb9d78 Make the index from the conversation-struct available as field
"tcp.stream", this will make it possible to sort packets by
tcp stream, filter tcp streams exactly, etc.

It is also the preparation for a fix for bug 1447


svn path=/trunk/; revision=26305
2008-09-30 12:24:27 +00:00
Ronnie Sahlberg
ed83f835e6 add a preference and code for tracking how many un-acked bytes are in
flight on a tcp connection.

this is quite useful toghether with io-grapgs to track how much of the 
tcp window that an application actually uses



svn path=/trunk/; revision=26067
2008-08-25 02:15:36 +00:00
Jaap Keuter
90af2cb097 Lint reports addressed.
Whitespace cleanup.

svn path=/trunk/; revision=26046
2008-08-20 05:56:31 +00:00
Jaap Keuter
fd86b5d61a From Eric Travis:
The included tweak allows for the filtering of packets on the presence of
TCP Option 20: tcp.options.scps;

svn path=/trunk/; revision=26045
2008-08-20 05:42:35 +00:00
Jaap Keuter
d24ee65df8 From Steve Friedman:
s/Acknowledgment/Acknowledgement/

svn path=/trunk/; revision=26044
2008-08-20 05:40:25 +00:00
Jaap Keuter
3f9ad89606 Updates based on lint output provided by Chris Maynard.
svn path=/trunk/; revision=26010
2008-08-13 21:44:53 +00:00
Stig Bjørlykke
675db70a1b Rewrote to avoid prohibited API strcpy.
svn path=/trunk/; revision=26006
2008-08-13 15:23:15 +00:00
Anders Broman
9aa1b43f9c From Eric Travis:
Enhancement providing parsing capability for TCP Options 20 & 21 (IANA assigned).

svn path=/trunk/; revision=25991
2008-08-12 21:08:46 +00:00
Anders Broman
832a507988 From Gerhard Olsson :
tcp_dissect_pdus will not req one_more_segm when tvb<fixed_len

svn path=/trunk/; revision=25869
2008-07-30 12:23:18 +00:00
Tomas Kukosa
edbcca785f Fix TCP desegmentation when minimal header spans multiple segments.
svn path=/trunk/; revision=25814
2008-07-24 06:33:23 +00:00
Anders Broman
8a1e393ce4 Fix some of the Errors/warnings detected by checkapi.
svn path=/trunk/; revision=25337
2008-05-21 06:10:27 +00:00
Bill Meier
b42aec2948 Fix some of the Errors/warnings detected by checkapi.
svn path=/trunk/; revision=25308
2008-05-15 13:22:06 +00:00
Bill Meier
9ca142b160 Fix some of the Errors/warnings detected by checkapi.
svn path=/trunk/; revision=25282
2008-05-13 01:23:37 +00:00
Ulf Lamping
d07c77577f reduce the expert level of TCP zero window back to "reasonable values" - for me.
maybe this will start the first edit war in Wireshark ;-)

As discussed on the dev-list, we might need some sort of profile for the expert output as well ...

for this TCP window stuff - and problably a lot of other stuff - the severity of an expert message will largely depend on your network usage and configuration

svn path=/trunk/; revision=24803
2008-04-06 16:34:37 +00:00
Sake Blok
7b909cf305 Raise the expert priority of all "zero window" related events from
note to error, as a window size of 0 indicates serious problems 
in the tcp session.

svn path=/trunk/; revision=24797
2008-04-05 20:18:28 +00:00
Sake Blok
1f763deeda Fix for bug 2378, where window scaling was not applied to
a new conversation. The new conversation was created from
a template conversation with NO_PORT2 set. In this case
the tcp conversation data structure was not initialized
and therefor the scaling options could not be saved in the 
conversation.


svn path=/trunk/; revision=24796
2008-04-05 20:01:09 +00:00
Ulf Lamping
bbd56edef7 lower the "Window Update" severity from note to chat (as it happens all the time)
svn path=/trunk/; revision=24794
2008-04-05 17:27:29 +00:00
Ulf Lamping
ee7e528117 as discussed on SharkFest: switch off checksum checks by default
svn path=/trunk/; revision=24778
2008-04-05 00:15:29 +00:00
Guy Harris
f004da7b19 Fix a comment to reflect two possible reasons for a bogus PDU length.
svn path=/trunk/; revision=23953
2007-12-27 21:06:47 +00:00
Stephen Fisher
d00059d2bc From metatech:
New dissector for RTMP(T) protocol

via bug #2078


svn path=/trunk/; revision=23902
2007-12-17 20:43:38 +00:00
Sake Blok
8f7d4aff96 Fixes the "follow tcp stream" output when there are frames missing in the
capture file that were actually on the wire. The reassembly code waited for 
the gaps to be filled in by retransmissions, which would never come.

With this fix all acknowledged data will be output with "[xxx bytes missing in 
capture file]" inserted in every gap.


svn path=/trunk/; revision=23878
2007-12-15 23:25:05 +00:00
Stig Bjørlykke
6341d80f07 From Graham Bloice:
Show correct TCP segment data (and length) when multiple pdus.

svn path=/trunk/; revision=23572
2007-11-24 23:04:49 +00:00
Gerald Combs
544ca516b5 Add more TCP analysis struct checks.
svn path=/trunk/; revision=23396
2007-11-08 00:58:38 +00:00
Gerald Combs
5753ea42ce Fix some null dereferences.
svn path=/trunk/; revision=23313
2007-10-30 22:22:14 +00:00
Sake Blok
81b41ba967 This patch is a remake of SVN 22762:
When doing TCP_SEQ analysis, if the packet is a SYN, then it's 
not a lost packet but the tcp ports are being reused. This is often 
seen in load-balanced environments where client ports are preserved 
on the server-side.

This time it is fixed by creating a new conversation whenever a
new SYN is received for an existing conversation. This fixes the
following:

- bug 1680: Error in TCP Sequence number analysis
- TCP-conversation timestamps for new TCP-sessions with the addresses 
  and ports as a previous TCP-conversation in the trace-file.


svn path=/trunk/; revision=23299
2007-10-28 23:38:43 +00:00
Anders Broman
1950ffc214 Apply the small performance enhancment patches for:
- if offset is 0, tvb_length is the same as tvb_length_remaining, just faster.
Replace 
- col_append_fstr() with faster  col_append_str() 
- col_add_str() with col_set_str()
when it's safe

svn path=/trunk/; revision=23252
2007-10-23 05:50:00 +00:00
Sake Blok
7b5113c2a4 Fix for bug 1542:
When a SYN/ACK is missing in the capture, the base_seq used in 
relative sequence numbers was not set correctly. I made the
setting of fwd->base_seq and rev->base_seq a little more solid.


svn path=/trunk/; revision=23213
2007-10-17 07:14:56 +00:00
Sake Blok
a592e6412c This patch adds two new column types:
- COL_REL_CONV_TIME which is used to display the time relative to the first frame that was seen in the conversation
- COL_DELTA_CONV_TIME which is used to display the delta time from the previous frame of the conversation

It also adds the function "col_set_time()" to "epan/column-utils.[ch]" which can be called from within a dissector to set either of these two columns to the appropiate time.

Last but not least, it lets the tcp-dissector make use of these two columns.


svn path=/trunk/; revision=23058
2007-10-03 14:02:08 +00:00
Sake Blok
7edd24e5af This patch adds two new fields to the tcp-dissector:
tcp.time_relative ==> the time that has elapsed since the 
   first packet that was seen in the current TCP stream

tcp.time_delta ==> the time that has elapsed since the 
   last packet that was seen in the current TCP stream

Calculating these timestamps is turned off by default to not 
use the extra memory that is needed for the per-packet-data.
It can be turned on through the TCP protocol preferences


svn path=/trunk/; revision=22966
2007-09-25 20:37:13 +00:00
Stig Bjørlykke
cf976e5df2 Always show real window size in the Info column for SYN packets.
Added window size for non-ack packets (was removed in r16884).

svn path=/trunk/; revision=22881
2007-09-16 13:18:18 +00:00
Sake Blok
2ef69333db When doing TCP_SEQ analysis, if the packet is a SYN, then it's
not a lost packet but the tcp ports are being reused. This is often 
seen in load-balanced environments where client ports are preserved 
on the server-side.

We only want to report port reusage once, so the SYN/ACK is excluded 
from TCP_SEQ analysis.

svn path=/trunk/; revision=22762
2007-08-31 15:06:27 +00:00
Jeff Morriss
3f2a49f17c When detecting fast retransmissions or out of order packets, use a 64-bit variable to store the time delta (instead of a 32-bit one). We're counting nanoseconds here, so this allows us to accurately detect differences greater than 4.294 seconds.
svn path=/trunk/; revision=22609
2007-08-23 21:38:15 +00:00
Richard van der Hoff
62569354fe From yin sun <sunyin51@gmail.com> / bug 1722:
When a subdissector on top of TCP set ... DESEGMENT_UNTIL_FIN ... then
the subdissector should receive the whole reassembled TCP stream in tvb.
But the bug is it is missing the last payload from the FIN packet.


svn path=/trunk/; revision=22578
2007-08-21 22:15:17 +00:00