| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
And, as we require at least autoconf 2.61, and as autoconf 2.61 and
later have AC_TYPE_UINTn_T and AC_TYPE_INTn_T macros, we use them to
define the uintN_t and intN_t macros if the system doesn't define them
for us.
This lets us get rid of bitypes.h as well.
|
| |
|
|
|
|
|
|
|
|
| |
Have them take a netdissect_options * argument, and get the "no name
resolution" flag from it.
Move the declaration of dnaddr_string to addrtoname.h, along with the
other XXX-to-string routines.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also add/remove tabs in a few involved functions to justify indentation.
|
| |
|
|
|
|
|
| |
This change converts IGMP, IPv6 mobility options, LDP, Lightweight
Access Point, PGM, PPTP and RIP decoders.
|
| |
|
| |
|
|
|
|
|
| |
This change converts ZeroMQ, IPX, MPLS, IPv6 options, PPPoE, RIPng,
PFLOG and Sun RPC decoders.
|
| |
|
|
|
|
| |
Also remove some unnecessary passages.
|
| |
|
| |
|
| |
|
|
|
|
| |
If the processor does unaligned accesses, it's not necessary.
|
|
|
|
|
|
|
| |
That should prevent optimizing the memcpy into code that assumes
alignment.
Add unaligned_memcmp(), and use it, as well.
|
|
|
|
|
|
| |
This keeps GCC from assuming the IP addresses are aligned and generating
32-bit load/store pairs on SPARC; those require alignment and cause
tcpdump to crash.
|
|
|
|
|
|
| |
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 printing of direction and restore printing of the transaction ID,
which print_nfsaddr() used to output in a way.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
TCP options decoder would mix decimal and hexadecimal digits when
printing an unknown option. For example, the pre-TFO revision would
print TFO as follows:
[Unknown Option 254f989090909090000]
Refine output format to print the same data as follows:
[unknown-254 0xf989090909090000]
|
|
|
|
|
| |
This cleans up and removes some duplicate code. The ipv4 and ipv6 versions of
the codepath are virtually identical now save for the variable types.
|
|
|
|
|
|
|
|
|
|
| |
A MacOS build of tcpdump used to produce deprecation warnings on OpenSSL
function calls. Alan DeKok explained that this is the effect of Apple's
modifications to OpenSSL and that the very same problem has already been
solved in FreeRADIUS server source code with pre-processor macros.
Copy the macros into tcpdump header file and make use of them around the
functions that call OpenSSL functions.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Make sure all of them are declared const and most of them -- static.
Proper declaration of token arrays is a common review point for new code
that is based on existing decoders. Thus fix the issue at its root.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
Added:
* option length check
* option type and TCP flags check
* more information printed
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for ZMTP/1.0 (ZeroMQ Message Transport Protocol
1.0) framing in TCP packets, as defined in http://rfc.zeromq.org/spec:13
and implemented in zeromq library.
Since there is no assigned port number for ZeroMQ, the user is left
responsible for making only the related TCP packets captured and
enforcing ZMTP/1.0 decoding through the "-T zmtp1" option.
Each ZMTP/1.0 frame of a packet will produce a single additional line of
output. The "-v" flag will add up to 8 lines (128 bytes) worth of
hex+ASCII dump of the frame body, and "-vv" and higher will dump the
full frame body, however long.
Beware that this code handles neither IP fragmentation nor TCP
segmentation and will incorrectly decode segments not starting at a
frame boundary.
The included sample capture stands for a short ZeroMQ session between a
REQ/REP socket pair doing 3 anonymous 2-way exchanges. It was produced
using version 2.1.9 of zeromq library patched to fix its bug #293, so
that all MBZ bits of the flags field are set to 0.
|
|
|
|
| |
Clean up some other stuff while we're at it.
|
|
|
|
| |
Get rid of duplicated checksums with IPv6 pseudo-headers.
|
|
|
|
|
|
| |
Check -v and -K, and the fragmented flag, up front; then check the IP
version etc.. Don't check for IPv6 if we already know it's IPv4. Fetch
the checksum field only once.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Wireshark routine is based on the BSD in-kernel portable checksum
routine (thus BSD-licensed); it takes a vector of pointers and lengths
and checksums the concatenation of the buffers in question (just as the
BSD in-kernel routine checksums a chain of mbufs).
This simplifies the "with a pseudo-header" checksums; hopefully it'll
fix up the problems being seen on some big-endian platforms, which might
be due to hand-calculating some or all of the checksum and doing so
incorrectly. It also gets rid of some code that might be dereferencing
unaligned pointers.
|
| |
|
|
|
|
|
|
|
|
|
| |
We only need to clear out the tha structure if we support IPv6, so that
the addresses are IPv6 addresses, but we only have IPv4 addresses, so
that the rest of the address bytes need to be set somehow.
Also, explain what we're doing, so people don't ask why we're not
zeroing it if we don't support IPv6.
|
|
|
|
|
|
|
|
| |
Use the EXTRACT_ macros to extract multi-byte integral values from
packets, rather than just dereferencing pointers into the packet; there
is no guarantee that the packet data will be aligned on the right
boundary, and there is no guarantee that, if they're not, a direct
access will work correctly.
|
|
|
|
| |
change tcp6 and pim6 to use it.
|
|
|
|
|
| |
Don't define a variable in the middle of a block; not all C compilers
support that.
|
|
|
|
|
|
|
|
| |
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.
|