| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
Unfortunately, the DLT_PFSYNC support depends on header files included
from the pfctl command's source tree, and trying to arrange to find that
would be too much trouble.
|
|
|
|
|
|
| |
From FreeBSD PR bin/124825: tcpdump(8) does not support pfsync(4) data,
which in turn was ported over from OpenBSD. We already have CARP
support, so we did not port that part over.
|
| |
|
|
|
|
|
|
|
| |
CARP and VRRP both use IP protocol number 112, so there needs to be a -T
flag to specify that protocol 112 be dissected as CARP rather than VRRP.
Also update the man page.
|
|
|
|
| |
Clean up some other stuff while we're at it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
change tcp6 and pim6 to use it.
|
| |
|
| |
|
|
|
|
| |
add a line break in verbose mode fro the ip printer.
|
|
|
|
| |
format the ttl field not with heading whitespaces for ttl < 100 and ttl < 10
|
|
|
|
| |
receive some colons in the IP printer output for consistency reasons.
|
|
|
|
| |
options output a bit.
|
|
|
|
|
| |
while, and it defines IP_MF and IP_DF; we don't need to compensate for
system headers lacking them.
|
|
|
|
| |
print routines.
|
| |
|
| |
|
|
|
|
| |
add PGM upport as per rfc3208
|
|
|
|
| |
printer.
|
|
|
|
| |
more easily call the inner parts.
|
|
|
|
|
| |
suppress the IP printers "bad-len" error message in case
TSO (TCP segment offload) is enabled
|
|
|
|
| |
- fix EGP boundary testing
|
| |
|
|
|
|
|
|
| |
- make more use of tok2str()
- always display the option length
- move option defines into ip.h
|
|
|
|
|
|
|
|
|
| |
Check, and use, the supplied packet length in the PPPoE dissector. (It
reflects the actual packet length; snapend reflects the captured packet
length.)
As we're now doing bounds checks with TCHECK, the loop over the tagged
fields doesn't have to check against snapend.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
quit as soon as we see IPOPT_EOL;
*don't* quit as soon as we see IPOPT_NOP, just advance to the
next option, if any;
implement "quit" as "return the destination address from the IP
header rather than as "return 0".
Also, return the IP header destination address if we see a
source-routing option with a too-short length.
|
| |
|
|
|
|
|
| |
-FIXME: complete TLV dissection (today we just show the TLV name and
hexdump the TLV value)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we also define it as 88, so we can't have
case IPPROTO_IGRP:
case IPPROTO_EIGRP:
in a switch statement.
The current IANA protocol number assignments page lists 9 as "any
private interior gateway (used by Cisco for their IGRP)" and 88 as
"EIGRP" from Cisco, so we define IPPROTO_PIGP as 9 (which matches what
those BSDs do) and IPPROTO_EIGRP as 88 (so we don't bother with
IPPROTO_IGRP at all), and do
case IPPROTO_PIGP:
case IPPROTO_EIGRP:
It's not clear that we should handle both with the same print routine,
however - Cisco IGRP and Cisco EIGRP don't appear to have the same
packet format.
|
| |
|
|
|
|
|
| |
replace error() and warning() with ndo-ized version.
moved snaplen/snapend to ndo structure.
|
| |
|
|
|
|
| |
Use "%u", not "%d", for unsigned values.
|
| |
|
|
|
|
|
|
|
| |
return -1 if they run out of data.
Have the IPv4 and IPv6 dissectors check for non-positive return values
from those routines and quit if they see one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
run past the end of that payload.
Check that the IPv4 total length isn't less than the header length.
Use "%u", not "%d", to print unsigned values.
Properly update "len" in the header-processing loop for IPv6.
Doing so means we can trust the length passed to the TCP and UDP
dissectors when constructing the IPv6 pseudo-header; do so (but fix the
length we pass to the UDP-over-IPv6 checksum routine).
That length is unsigned; make the corresponding arguments to the TCP and
UDP checksum routines unsigned.
|
|
|
|
|
|
|
|
|
|
| |
appropriately, and that GNUmakefile and the MSVC++ project file define
it apppriately, as we do with libpcap, rather than defining it in
"interface.h".
Undo the rcsid-shuffling and addition of extra #includes, as we no
longer need to arrange that "interface.h" be included before using _U_
in an RCS ID or copyright.
|
|
|
|
|
|
|
|
|
|
|
| |
use "_U_" in the definitions of "rcsid[]", to eliminate
complaints about those variables being unused;
move the definitions after the include of "interface.h", or add
an include of "interface.h", so that "_U_" is defined.
Include "config.h" before including "tcpdump-stdinc.h" in
"missing/datalinks.c".
|
| |
|
|
|
|
|
|
|
| |
values. Use that rather than private definitions in various files.
Add "gmpls.h" to the list of files in FILES, and add it and "ipfc.h" to
the list of files in INSTALL.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
print 3-digit ttl field in print-ip.c
unbracketize the LCP id in print-ppp.c
|
| |
|