]> 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)
committerFrancois-Xavier Le Bail <[email protected]>
Thu, 12 Oct 2023 11:54:36 +0000 (13:54 +0200)
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.

(cherry picked from commit 0a31117de8448684b86408fbe639aa398fe7316c)

print-cdp.c

index f3004842ccc64cbc36bd09961b202fc2b4b585fd..dfb55fa723d1c5e798c71e1bdff5777ca5e98fb9 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);
                }