aboutsummaryrefslogtreecommitdiffstats
path: root/packet-tcp.c
AgeCommit message (Collapse)AuthorFilesLines
1999-10-15BGP decoding. more attributes and NLRIs needs to be added.Jun-ichiro itojun Hagino1-2/+6
as BGP is a protocol on top of TCP, it may have trouble parsing out-of-sync data (in most cases data is aligned on packet, it seems). svn path=/trunk/; revision=843
1999-10-14Nathan Neulinger's NTP dissector.Guy Harris1-1/+5
svn path=/trunk/; revision=828
1999-10-14Nathan Neulinger's dissector for the Yahoo messenger and pagerGuy Harris1-1/+7
protocols. svn path=/trunk/; revision=824
1999-10-12New proto_tree header_field_info stuff. Header_field_infos now containGilbert Ramirez1-6/+11
the base for numbers to be displayed in, bitmasks for bitfields, and blurbs (which are one or two sentences describing the field). proto_tree_add*() routines now automatically handle bitfields. You tell it which header field you are adding, and just pass it the value of the entire field, and the proto_tree routines will do the masking and shifting for you. This means that bitfields are more naturally filtered via dfilter now. Added Phil Techau's support for signed integers in dfilters/proto_tree. Added the beginning of the SNA dissector. It's not complete, but I'm committing it now because it has example after example of how to use bitfields with the new header_field_info struct and proto_tree routines. It was the impetus to change how header_field_info works. svn path=/trunk/; revision=815
1999-09-17Add a "BYTES_ARE_IN_FRAME()" macro, to test whether there are aGuy Harris1-2/+3
specified number of bytes of captured data in the frame at the specified offset, and a "IS_DATA_IN_FRAME()" macro, to test whether there are any bytes of captured data in the frame at the specified offset, and convert some bounds checks to use them. Add a dissector for the Internet Printing Protocol. svn path=/trunk/; revision=685
1999-08-28PPP options in LCP, IPCP, etc. are like IP and TCP options - one octetGuy Harris1-23/+35
of option code, one octet of length (which includes the two option code and length bytes), followed by 0 or more octets of option data, with some options being fixed-length and some being variable-length. Put some stuff from the PPP control protocol option parsing code into the IP-and-TCP option parsing code, and use the latter instead of the former. (That code might also be usable for CDP as well, with some stuff added to it.) Shuffle the arguments to "dissect_ip_tcp_options()" to resemble those of various other dissectors (i.e., with the "proto_tree *" at the end). Add in code to dissect a pile of PPP options documented in various RFCs. svn path=/trunk/; revision=601
1999-08-18Fix up the call to "reassemble_tcp()" to use "pi.len" andGuy Harris1-6/+6
"pi.captured_len" to compute the total amount of TCP payload and the captured amount of TCP payload. svn path=/trunk/; revision=508
1999-08-18Declare the "packet_info" structure "pi" in "packet.h", rather than in aGuy Harris1-12/+8
bunch of source files. Replace the "payload" field of a "packet_info" structure with "len" and "captured_len" fields, which contain the total packet length and total captured packet length (including all headers) at the current protocol layer (i.e., if a given layer has a length field, and that length field says its shorter than the length we got from the capture, reduce the "pi.len" and "pi.captured_len" values appropriately). Those fields can be used in the future if we add checks to make sure a field we're extracting from a packet doesn't go past the end of the packet, or past the captured part of the packet. Get rid of the additional payload argument to some dissection functions; use "pi.captured_len - offset" instead. Have the END_OF_FRAME macro use "pi.captured_len" rather than "fd->cap_len", so that "dissect the rest of the frame" becomes "dissect the rest of the packet", and doesn't dissect end-of-frame padding such as padding added to make an Ethernet frame 60 or more octets long. (We might want to rename it END_OF_PACKET; if we ever want to label the end-of-frame padding for the benefit of people curious what that extra gunk is, we could have a separate END_OF_FRAME macro that uses "fd->cap_len".) svn path=/trunk/; revision=506
1999-07-31Fix TCP follow stream feature:Laurent Deniel1-2/+5
- call reset_tcp_reassembly before build_follow_filter - modify reassemble_tcp so that packet validity is checked before processing it. svn path=/trunk/; revision=410
1999-07-31Label the TCP sequence number as "Sequence number", not "SequenceGuy Harris1-2/+2
number" - other fields (including "Acknowledgment number") capitalize only the first word. svn path=/trunk/; revision=407
1999-07-17Added just enough fields to TCP to support "Follow TCP Stream". It works now.Gilbert Ramirez1-11/+42
Added the protocol IDs for ipx and IGMP, but not their fields. svn path=/trunk/; revision=365
1999-07-07Created a new protocol tree implementation and a new display filterGilbert Ramirez1-35/+31
mechanism that is built into ethereal. Wiretap is now used to read all file formats. Libpcap is used only for capturing. svn path=/trunk/; revision=342
1999-07-07Add support for RTSP (RFC 2326) over TCP, and SDP (RFC 2327) insideGuy Harris1-2/+5
RTSP, from Jason Lango <jal@netapp.com>. svn path=/trunk/; revision=340
1999-06-11Added PPPoE, PPTP, GRE, and ISAKMP dissectors.Gilbert Ramirez1-1/+5
svn path=/trunk/; revision=303
1999-06-02When checking to see if a packet is of a given type by checking theGuy Harris1-30/+14
source and destination port numbers, check both port numbers against the specified port, rather than checking the lower of the two port numbers against the specified port, just in case you happen to either have 1) the port number for that type being high enough that you can get client sockets using it or 2) client sockets using it for some other reason. svn path=/trunk/; revision=301
1999-05-12Minor performance improvement and TCP option decoding fixed (when no tree).Laurent Deniel1-9/+7
svn path=/trunk/; revision=283
1999-04-30Add support for the NetBIOS Session Service.Guy Harris1-1/+7
Improve the descriptions of the NetBIOS Name Service errors a bit. svn path=/trunk/; revision=247
1999-04-06Add NNTP support.Guy Harris1-5/+11
svn path=/trunk/; revision=241
1999-04-05FTP, POP, and Telnet support from Richard Sharpe.Guy Harris1-8/+40
svn path=/trunk/; revision=237
1999-03-23Fixes to the TCP reassembly code to correctly handle too shortLaurent Deniel1-1/+2
caplen or incomplete data (avoid crashes or erroneous display). svn path=/trunk/; revision=227
1999-03-23Move the include of "snprintf.h" after a bunch of other includes, soGuy Harris1-10/+10
that "size_t" will be defined before it's included (it uses "size_t"). svn path=/trunk/; revision=225
1999-03-23Removed all references to gtk objects from packet*.[ch] files. They nowGilbert Ramirez1-49/+110
reference the protocol tree with struct proto_tree and struct proto_item objects. That way, the packet decoding source code file can be used with non-gtk packet decoders, like a curses-based ethereal, e.g. I also re-arranged some of the information in packet.h to more appropriate places (like other packet-*.[ch] files). svn path=/trunk/; revision=223
1999-02-12Add a first cut at HTTP decoding.Guy Harris1-3/+7
svn path=/trunk/; revision=187
1999-02-08I removed the bit-fields that depended upon gcc's ability to use any typeGilbert Ramirez1-3/+3
of variable as a bit field container. ANSI specs only allow unsigned ints to host bit fields; IBM's C compiler is very ANSI-strict. svn path=/trunk/; revision=183
1999-01-04Include "snprintf.h", as we use "snprintf()", so that we don't getGuy Harris1-1/+10
warnings from "gcc -Wall". svn path=/trunk/; revision=152
1998-12-29* Added Joerg Mayer's Vines patchGerald Combs1-2/+23
* Added Joerg to the AUTHORS file * Added Guy's bitfield decode patch * Fixed time output svn path=/trunk/; revision=142
1998-12-21Syntax and compilation fixes for the broken code I just committed.Gerald Combs1-4/+3
svn path=/trunk/; revision=134
1998-12-21Make the info field verbose.Gerald Combs1-31/+76
svn path=/trunk/; revision=133
1998-11-18* Added patches from Laurent and GuyGerald Combs1-2/+9
svn path=/trunk/; revision=103
1998-11-18* Mods to use get_tcp_port() to print the port number.Gerald Combs1-5/+6
svn path=/trunk/; revision=102
1998-11-17* Fixes for TCP and UDP port number display.Gerald Combs1-1/+9
svn path=/trunk/; revision=98
1998-11-17* Added column formatting functionality.Gerald Combs1-5/+5
* Added check_col(), add_col_str() and add_col_fmt() to replace references to ft->win_info. * Added column prefs handling code. svn path=/trunk/; revision=97
1998-10-13Add a routine to dissect IP or TCP options (and, from a look at RFCGuy Harris1-35/+220
1883, it should, perhaps with some additions, be able to handle IPv6 options as well). Make the IPv4 and TCP dissectors use it. Fix a typo in the IP dissector ("Unknon" for "Unknown"). Show the IP and TCP header lengths as byte counts rather than 4-byte-word counts. Show the protocol field value of an IP header as a name if it's a protocol we know about. List the acknowledgment and urgent pointer values in a TCP header only if the corresponding flag is set. Make the ETT_ values members of an enum, so that the compiler automatically assigns them sequential integer values (at least if said compiler conforms to the ANSI C standard). svn path=/trunk/; revision=45
1998-09-27Merged in a _huge_ patch from Guy Harris. It adds a time stap column,Gerald Combs1-4/+5
generalizes the column printing code, adds a "frame" tree item to the tree view, and fixes a bunch of miscellaneous coding bugs. svn path=/trunk/; revision=31
1998-09-17* Added Mike Hall's TCP reconstruction code.Gerald Combs1-1/+17
svn path=/trunk/; revision=10
1998-09-16Added ID tags to the beginning of each source file.Gerald Combs1-0/+2
svn path=/trunk/; revision=7
1998-09-16Initial revisionGerald Combs1-0/+116
svn path=/trunk/; revision=2