]> The Tcpdump Group git mirrors - tcpdump/commitdiff
cdp: only hex-dump unknown TLVs in verbose mode.
authorGuy Harris <[email protected]>
Mon, 10 Apr 2023 07:27:05 +0000 (00:27 -0700)
committerGuy Harris <[email protected]>
Mon, 10 Apr 2023 07:27:05 +0000 (00:27 -0700)
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.

print-cdp.c

index 157e5ed5fa2ae605ee07e6854002f3ed0a0ed507..bbeab76dcfa829326ff6f5441c1d598138c8212b 100644 (file)
@@ -309,7 +309,7 @@ cdp_print(netdissect_options *ndo,
                        }
                }
 
-               if (!covered) {
+               if (ndo->ndo_vflag && !covered) {
                        ND_TCHECK_LEN(tptr, len);
                        print_unknown_data(ndo, tptr, "\n\t  ", len);
                }