| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
udp_print() always knows whether UDP port numbers are available or not,
so split udpipaddr_print() into two functions to lose some arity, much
branching and all type casting. In the new functions test for IPv4
explicitly. In udp_print() convert duplicate code into a conditional
call to udpipaddr_print().
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Report invalid packets as invalid.
|
| |
|
|
|
|
| |
IP_HL() and TH_OFF() macros use GET_U_1().
|
|
|
|
| |
More fun in the new world.
|
|
|
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Report invalid packets as invalid. Remove
two redundant ND_TCHECK_*() instances. When giving up on a packet for
whatever reason, test that the rest of it is within the buffer. Do the
header length check before accessing any header data and refine the TLV
length checks. Update a test.
|
|
|
|
|
|
|
| |
In the spec the packet diagram instead of a 32-bit AS number shows a
16-bit virtual router ID followed by a 16-bit AS number, implement
that. Also add two missing flag values and use bittok2str() to print
the bitmask. Lose a stale comment and update some tests.
|
|
|
|
| |
[skip ci]
|
|
|
|
|
| |
The function to use now is: nd_printjnp().
(Added by commit 635e3cc92b72ca048a6b5b89b883980e4e1b4bdc)
|
|
|
|
|
| |
That was the Travis maintainer's recommendation to fix the hang we were
seeing on non-x86-64 Linux coverity_scan builds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem appears to be with the
if [ "$COVERITY_SCAN_BRANCH" = 1 ]; then exit 0; fi
line in the script: section of .travis.yml; libpcap has the line
if [ "$COVERITY_SCAN_BRANCH" = 1 ]; then echo "Coverity build - nothing more to do"; exit 0; fi
and also fails, so exiting without a message isn't the problem, and when
I tried adding
if [ "$COVERITY_SCAN_BRANCH" = 0 ]; then echo "Non-Coverity build - pstill nothing more to do"; exit 0; fi
and the ppc64le Linux builds were failing with a timeout rather than
just doing nothing - the AMD64 Linux didn't have a problem, so there's
something different about the non-x86-64 builds that's causing the "exit
0" stuff not to work.
|
|
|
|
|
| |
Moreover:
Remove a now useless comment.
|
|
|
|
|
|
|
|
| |
It prints a counted filename (or other ASCII string), part of
the packet buffer, filtering out non-printable characters.
Stop if truncated (via GET_U_1/longjmp) or after n bytes,
whichever is first.
The suffix comes from: j:longJmp, n:after N bytes.
|
| |
|
|
|
|
| |
With this change the output can be unfolded.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
FindPCAP.cmake should now pick up directories from CMAKE_PREFIX_PATH and
add the corresponding pkgconfig directories to PKG_CONFIG_PATH before
running pkg-config, so we shouldnt need to set PKG_CONFIG_PATH
ourselves.
We still need to do it when running the autoonf script, as there's no
equivalent for CMAKE_PREFIX_PATH in autoconf.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pull in some code from CMake 3.12.4's FindPkgConfig.cmake to arrange
that, when running pkg-config, directories from CMAKE_PREFIX_PATH are in
the PKG_CONFIG_PATH environment variable.
We do this because we want to make sure that, if CMAKE_PREFIX_PATH is
set, and it points to a directory that contains a libpcap that has a .pc
file installed, we get that .pc file, but we don't yet want to require a
minimum of CMake 3.1 or later (CMake 3.1 and later do that
automatically) because there might be some long-term support OS version
that comes with an older version of CMake.
|
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Report invalid packets as invalid. Have
nd_printn() and nd_printztn() guard the snapshot end. Replace
client_fqdn_flags() with bittok2str_nosep().
|
|
|
|
|
|
| |
Getting the configure script to look for the temporarily-installed
libpcap.pc file requires that we set PKG_CONFIG_PATH to
/tmp/lib/pkgconfig.
|
|
|
|
|
|
|
|
|
| |
Getting CMake to look for the temporarily-installed libpcap.pc file
requires that we set PKG_CONFIG_PATH to /tmp/lib/pkgconfig; otherwise,
the configuration process won't find it, and hilarity ensues.
Try turning the 'BUILD_LIBPCAP=yes CMAKE=yes' builds on, to see if that
fixes them.
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
| |
Apple's released ARM-based Macs, so it's no longer just a possibility.
(Travis doesn't have any, so we don't add an arm64 build for macOS.)
[skip ci]
|
| |
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Report invalid packets as invalid with a
reason, not truncated.
|
| |
|
|
|
|
|
|
| |
RFC5462 (https://tools.ietf.org/html/rfc5462) renamed the
MPLS "EXP" field to "Traffic Class" in 2009. Use "tc" as an
abbreviation for this field name.
|
|
|
|
|
|
|
|
|
| |
For BGP, this eliminates some cases where routines return -1 on
truncation; clean up after that.
This also means that some memcpy()s get replaced by UNALIGNED_MEMCPY(),
which may fix some issues on processors that don't support unaligned
accesses.
|
|
|
|
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Remove one redundant ND_TCHECK_*()
instance and make another one conditional. Report invalid packets as
invalid. Test that a non-Ethernet payload is fully within the packet
buffer. Add a length check to geneve_opts_print() and have it indicate
invalid tunnel options. Constify an argument. Update the packet diagrams
and refer to the RFC rather than the draft.
|
|
|
|
|
|
| |
Use a TCP 3-Way Handshake test, nano precision.
Display micro outputs and nano outputs (with -q).
|
|
|
|
| |
like all the other tests.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The warning was like:
In file included from ./netdissect-stdinc.h:42,
from ./fptype.c:36:
./ftmacros.h:116: warning: "_BSD_SOURCE" redefined
116 | #define _BSD_SOURCE
|
In file included from /usr/include/stdio.h:8,
from /usr/include/fortify/stdio.h:22,
from ./fptype.c:34:
/usr/include/features.h:15: note: this is the location of the previous
definition
15 | #define _BSD_SOURCE 1
|
|
| |
|
|
|
|
|
|
|
| |
Same as for libpcap.
It's needed to update configure (PACKAGE_VERSION, PACKAGE_STRING, etc.)
when VERSION is updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The buildbot is failing in autotools builds - but not in CMake builds;
go figure. Perhaps they're passing different flags to the C compiler,
and, in the autotools builds, the flag causes the compiler to define
whatever it takes to get /usr/include/features.h to define
_DEFAULT_SOURCE as 1, so that our defining it as nothing collides with
that.
(Dear UN*X community: please come up with a platform-independent,
reliable way of saying "expose every single API you have, namespace
pollution be damned. kthxbye.)
|
|
|
|
|
|
|
|
| |
This attempts to ensure that we get all the APIs for the platform
declared, including the ones that, shock horror, "pollute the
namespace".
This fixes some compile failures with Sun C on Solaris 11.
|
|
|
|
|
|
|
| |
We require a C implementation that supports %z, so we can use it; there
is no guarantee that a sizeof is a long, so don't use %l.
Squelches warnings found on Solaris 11 with GCC.
|
|
|
|
| |
They showed up on 64-bit OpenBSD 6.6.
|
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Remove a few redundant ND_TCHECK_*()
instances. Report invalid packets as invalid with a reason, not
truncated. Make helper functions void and lose associated checks.
|
| |
|
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Remove a few redundant ND_TCHECK_*()
instances. Report invalid packets as invalid, not truncated. Update a
custom snapshot end guard to call nd_trunc_longjmp().
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Remove a few redundant ND_TCHECK_*()
instances. Report invalid packets as invalid with a reason.
|
|
|
|
| |
gcc 9.3.0 (on Bionic was 7.5.0)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8a3252dfe59a944537826c73194e644c2d5fd62f.
The duplicate CVEs was removed by 23be4d12401b000874c3aa0a5104e54ba39a3d02.
The inexistant URL was removed by c29dbf9b4f1a6350aeff6be1dd75ae32c34a055d.
[skip ci]
|
| |
|