summaryrefslogtreecommitdiff
path: root/tcp.h
Commit message (Collapse)AuthorAgeFilesLines
* More fixes for uint8_t being shorter than u_int8_t.Guy Harris2014-04-231-2/+2
| | | | Fix a typo while we're at it.
* More getting rid of old u_intN_t.Guy Harris2014-04-231-8/+8
|
* OpenFlow: add IANA-allocated TCP portDenis Ovsienko2014-03-251-2/+5
| | | | | | OF specifications 1.0.2 and 1.3.3 use a different port number. That said, the old port is still likely to be seen in the wild after 4 years of deployment. Let tcpdump recognize both for a while.
* Mark the TCP header structure as unaligned.Guy Harris2014-01-151-1/+1
|
* remove tcpdump's own CVS keywordsDenis Ovsienko2014-01-031-1/+0
| | | | | | Remove lots of $Header's and a few $Id's that all belong to the former CVS repository of tcpdump itself. These keywords have been frozen since the migration to git in late 2008.
* add support for experimental tcp fast open and parsing experimental optionsLonginus002013-10-031-0/+1
|
* add minimal OpenFlow decoding frameworkDenis Ovsienko2013-05-291-0/+3
| | | | | | | This change registers OpenFlow TCP port number and adds processing of respective packets with openflow_print(), a new function that understands the minimal OpenFlow header format and can iterate over messages within a snapshot that starts with the header.
* Multipath TCP (RFC 6824) supportGregory Detal2013-04-141-1/+1
| | | | | | | | | This commit adds the support of Multipath TCP (MPTCP). MPTCP is a new extension to TCP standardized at the IETF. MPTCP allows to use several IP addresses at the same time by distributing data across several subflows (TCP connections) while still presenting the standard TCP socket API to the application. Its benefits are better resource utilization, better throughput and smoother reaction to failures.
* The port for RPKI-RTR (RFC6810) is now official (TCP Port 323)Alexis La Goutte2013-02-041-1/+1
|
* add support for the RPKI/Router Protocol as per draft-ietf-sidr-rpki-rtr-12Hannes Gredler2011-06-161-0/+1
|
* From Fang Wang:Guy Harris2009-08-181-0/+3
| | | | | | | | RFC 5482 specifies a new TCP option -- the TCP User Timeout Option (UTO) -- that allows one end of a TCP connection to advertise its current user timeout value. The Kind of UTO option is 28 and the Length is 4. The tcpdump currently does not recognize UTO option.
* SMB-over-TCP (port 445) support.guy2007-12-091-1/+4
|
* change the TCP printer to print new-style order:hannes2007-01-291-10/+31
| | | | | | | | | - seperate fields by comma - use [] for flags and options sets - print a trailing length field make use of tok2str() and bitttok2str() move port definitions into tcp.h
* add basic support for keyed authentication TCP optionhannes2005-11-291-2/+2
|
* From Bruce M. Simpson: add a "-M" flag to specify a shared secret forguy2004-03-231-1/+5
| | | | TCP-MD5 (RFC 2385) digest verification if we have libcrypto.
* The "__attribute__((packed))" tag on structures causes some files not toguy2002-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | compile with Sun C, as "interface.h" isn't being included before the structures are being declared. Furthermore, in the files that Sun C *can* compile, it doesn't cause Sun C to generate code that's safe with unaligned accesses, as "__attribute__" is defined as a do-nothing macro with compilers that don't support it. Therefore, we get rid of that tag on the structures to which it was added, and instead use "EXTRACT_16BIT()" and "EXTRACT_32BIT()" to fetch 16-bit and 32-bit big-endian quantities from packets. We also fix some other references to multi-byte quantities to get rid of code that tries to do unaligned loads on platforms that don't support them. We also throw in a hack that makes those macros use "__attribute__((packed))" on structures containing only one 16-bit or 32-bit integer to get the compiler to generate unaligned-safe code rather than doing it by hand. (GCC on SPARC produces the same code that doing it by hand does; I don't know if GCC on any other big-endian strict-alignment processor generates better code for that case. On little-endian processors, as "ntohs()" and "ntohl()" might be functions, that might actually produce worse code.) Fix some places to use "%u" rather than "%d" to print unsigned quantities.
* put __attribute__((packed)) to packet headers. s/u_short/u_int16_t/ and soitojun2002-11-091-2/+2
| | | | forth while i'm here
* Move some stuff that tried to make up for system headers from print-tcp.cfenner2001-05-091-7/+12
| | | | | to tcp.h, since don't use the system headers now anyway it was just making up for our own tcp.h.
* C bitfields are no longer being used to extract bit fields from the IPguy2000-10-031-24/+1
| | | | | and TCP headers, so there's no need to stuff the byte-order stuff into these header files.
* fix mistake in bitfield conversionitojun2000-10-031-3/+3
|
* always use u_intXX_t for protocol format declaration. char/short/int may notitojun2000-10-031-11/+11
| | | | | | come with exact size. while at it, correct signedness of ip/udp header field. nuke most of the use of bitfield. TODO: bitfield in namser.h
* do not use integer bitfield when we care about the resulting member size.itojun2000-10-031-9/+3
| | | | | u_int x:4, y:4; will occupy sizeof(int) on some platforms, while it occupy 1 byte on some platforms. use macro to decode th_off.
* Declare bitfields as "u_int", not "u_char"; ANSI C doesn't guaranteeguy2000-09-291-3/+3
| | | | | | | | that bitfields other than "int" or "unsigned int" are allowed, some compilers warn about them, and, given that the declaration of a bit field says how many bits it is wide, declaring them "u_char" doesn't have any advantage (other than making it a bit clearer, when reading the header, that the bitfields in question are part of a single byte).
* Add an "ip.h" header, to declare the IP stuff needed by dissectors, andguy2000-09-231-1/+24
| | | | | | | | | | | have dissectors include them rather than <netinet/ip.h> or <netinet/ip_var.h>, if they actually need that stuff. Put the declarations of the ICMP stuff directly into "print-icmp.c". Remove all unnecessary includes of <netinet/ip*.h> files. Copy the byte-order stuff from "nameser.h" into "tcp.h".
* Add "tcp.h" and "udp.h" headers, to declare the TCP and UDP stuff neededguy2000-09-231-0/+81
by dissectors, and have dissectors include them rather than <netinet/udp.h>, <netinet/udp_var.h>, or <netinet/tcp.h>, if they actually need that stuff. Remove all unnecessary includes of <netinet/udp*.h> or <netinet/tcp*.h> files.