| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
This may avoid this error:
Dissector error: print_unknown_data() called with pointer past end of
packet
Add a test file showing the problem.
|
|
|
|
|
|
| |
This may avoid this error:
Dissector error: print_unknown_data() called with pointer past end of
packet
|
|
|
|
|
|
|
|
| |
If a CIE doesn't fit in the remainder of the mandatory part, return the
length of that remainder, so that the loop processing the CIE
terminates.
Add capture that produced the infinite loop.
|
|
|
|
| |
[skip ci]
|
|
|
|
| |
[skip ci]
|
|
|
|
| |
[skip ci]
|
|
|
|
| |
[skip ci]
|
|
|
|
| |
[skip ci]
|
|
|
|
| |
[skip ci]
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When converting an integer from ASN.1, use an unsigned value
for the partial result and assign it to the integer part of
the union at the end, to avoid shifting a negative number left.
print-snmp.c:545:19: runtime error: left shift of negative value -1
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior print-snmp.c:545:19
OID elements are unsigned; a large-enough oid value could result
in the undefined behavior of shifting a signed integer left through
the sign bit, so simply store them as unsigned.
print-snmp.c:751:11: runtime error: left shift of 268435455 by 7 places
cannot be represented in type 'int'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior print-snmp.c:751:11
[Part of the PR #1012]
|
|\
| |
| | |
child_cleanup: reap as many child processes as possible
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Under load it's possible multiple child processes have been killed before
we start processing the SIGCHILD signal, leaving zombie processes behind
everytime we miss a process.
Reap as many processes as possible instead of assuming one handler
call = one process like we currently did.
Can be reproduced by running the following commands in parallel:
- tcpdump -i lo -w /tmp/test -C 1 -z /usr/bin/true
- iperf3 -s
- iperf3 -c localhost
|
|
|
|
| |
reserved: MUST be 0 (MBZ).
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should avoid error like:
./print-rt6.c:36:18: error: no previous extern declaration for
non-static variable 'srh_tlv_type' [-Werror,-Wmissing-variable-declarations]
const struct tok srh_tlv_type[] = {
^
./print-rt6.c:36:7: note: declare 'static' if the variable is not
intended to be used outside of this translation unit
const struct tok srh_tlv_type[] = {
^
|
|
|
|
|
| |
Moreover:
Factorise "ND_PRINT(", TLV-len=%u", tlv_len);"
|
|\
| |
| | |
rt6: parse TLV
|
|/
|
|
|
|
|
|
|
| |
Parse Type Length Values (TLV) in IPv6 Routing Header as specified by
RFC 8754 [1].
[1] https://datatracker.ietf.org/doc/html/rfc8754
Signed-off-by: Giulio Sidoretti <giulio.sidoretti@uniroma2.it>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Handle the I-D draft-detienne-dmvpn-01 traffic indication packet.
Print the error code in an error indication symbolically if it's a known
code.
Print the address fields in the mandatory part of the header for error
and traffic indication packets.
|
| |
|
|
|
|
| |
Get rid of some commented-out code while we're at it.
|
|
|
|
| |
This is from the OpenBSD tcpdump.
|
|
|
|
|
| |
Specify a minimum length of 4 in the cdptlvs table, rather than having
its printer do the length check itself.
|
|
|
|
| |
It's 2 bytes long.
|
|
|
|
| |
Based on the way it's dissected in Wireshark.
|
|
|
|
|
|
|
|
|
| |
Instead, have an additional element in a struct cdp_tlvinfo that
indicates whether to print the TLV in all modes or only in verbose mode;
that would allow other TLVs to printed in non-verbose mode.
Also, use the usual (sizeof x / sizeof x[0]) trick to determine how big
the table is, rather than having a defined size.
|
|
|
|
|
|
|
|
| |
DHCPv4: RFC8572 specifies the SZTP redirect tag.
DHCPv6: RFC5970 specifies the boot file URL, used for ZTP,
and RFC8572 specifies the SZTP redirect tag
The base DHCPv6 RFC3315 specifies the user class option.
|
|
|
|
| |
Taken from the OpenBSD version of tcpdump.
|
|
|
|
|
| |
Have separate .out files for dissection of wccp_redirect_gre.pcap with,
and without, SMB dissection enabled in tcpdump.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we're not in verbose mode, we only show the Device ID TLV, so there's
no good reason to show a hex dump of other TLVs if we don't happen to
have a printer for them - especially given that we don't show the type
value for the TLV, so it's not clear to what type value those hex bytes
correspond. Furthermore, the hex dump causes the non-verbose output to
be multiple lines, and causes the ", length N" to show up at the end of
the hex dump rather than at the end of the first line.
I.e., it seems as if either 1) printing the hex dump in non-verbose mode
wasn't intended or 2) it was intended by whoever intended it didn't look
into what it would involve.
|
|
|
|
|
|
|
|
| |
Fixup the comment and have the case block actually fall through
consistently with the comment and the OpenBSD implementation. Update
the test case, which now has the IPv4 packet after the WCCP header. The
indentation does not represent the header nesting, but the same stands
for the OpenBSD implementation.
|
|
|
|
|
| |
This, and the previous multicast MPLS change, come from the OpenBSD
tcpdump.
|
|
|
|
| |
Pass ETHERTYPE_MPLS_MULTI packets to the MPLS dissector.
|
|
|
|
|
|
|
| |
Add a test capture for it - and for GRE keepalives.
Both this and the previous GRE keepalive changes are based on OpenBSD
code.
|
|
|
|
|
| |
The RFCs don't seem to mention this use, but Cisco, at least, uses
packets with a protocol value of 0x0000 as keepalives.
|
|
|
|
|
| |
When processing the key field, note that OpenBSD shows it both a a 32bit
key and an NVGRE VSID+FlowID.
|
| |
|
| |
|
|
|
|
| |
From repository git://git.savannah.gnu.org/config.git
|
|
|
|
| |
(cherry picked from commit af4b5f75370f521f96326f0d9469031a0a0a595d)
|
|\
| |
| | |
IKEv2: add missing notification types
|
| |
| |
| |
| |
| |
| |
| |
| | |
The notification type entries were crafted from the CSV files
provided by IANA for the [error types] resp. [status types].
[error types]: https://www.iana.org/assignments/ikev2-parameters/ikev2-parameters-14.csv
[status types]: https://www.iana.org/assignments/ikev2-parameters/ikev2-parameters-16.csv
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Solaris 10 /usr/bin/grep does not implement the -q flag:
checking for pcap-config... ../libpcap/pcap-config
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
checking for pcap_loop... yes
Follow recommendation of the "Limitations of Usual Tools" section of GNU
Autoconf manual and use output redirection to fix it:
checking for pcap-config... ../libpcap/pcap-config
checking for pcap_loop... yes
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add the required binutils-dev package.
[skip ci]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the environment variable INSTRUMENT is
- unset or set to an empty string, print nothing, like with no
instrumentation
- set to "all" or "a", print all the functions names
- set to "global" or "g", print only the global functions names
The configuration with --enable-instrument-functions remains.
Note that before this change, the default was to print all functions.
Now it is to print nothing. So by default 'make check' runs without errors.
This allows to run:
$ INSTRUMENT=a ./tcpdump ...
$ INSTRUMENT=g ./tcpdump ...
$ INSTRUMENT= ./tcpdump ...
or
$ export INSTRUMENT=global
$ ./tcpdump ...
This also allows to run the statically compiled binary on another host
after copying it.
It is no longer necessary to modify the configuration with:
$ make instrument_all
$ make instrument_global
$ make instrument_off
(Targets removed.)
Update .gitignore, CONTRIBUTING.md and Makefile.in accordingly.
Moreover:
Reduce the scope of a variable.
Rename a variable.
Remove '\n' in the perror() call.
Remove 2 spaces in function calls (style).
[skip ci]
|