From: guy Date: Mon, 4 Dec 2000 06:47:17 +0000 (+0000) Subject: If "-n" is specified along with "-e", print the address family value as X-Git-Tag: tcpdump-3.5.1~52 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/4c76b828529c59ccb0eaf3d67e594f298b26900c If "-n" is specified along with "-e", print the address family value as "AF " for DLT_NULL captures. Print the packet length for DLT_NULL captures when "-e" is specified (somebody complained on "freebsd-isp" about the lack of any packet length from tcpdump when capturing traffic on a "tunX" device). Make sure we always print the packet length on PPP when "-e" is specified (the person in question also complained that the packet length disappeared between FreeBSD 2.2.8 and FreeBSD 3.4, which was the result of a new "print-ppp.c" that didn't print the length). --- diff --git a/print-null.c b/print-null.c index 8e43bb5d..a4b4085e 100644 --- a/print-null.c +++ b/print-null.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-null.c,v 1.38 2000-10-07 05:53:13 itojun Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-null.c,v 1.39 2000-12-04 06:47:17 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -68,30 +68,31 @@ null_print(const u_char *p, const struct ip *ip, u_int length) memcpy((char *)&family, (char *)p, sizeof(family)); - if (nflag) { - /* XXX just dump the header */ - return; - } - switch (family) { + if (nflag) + printf("AF %d ", family); + else { + switch (family) { - case AF_INET: - printf("ip: "); - break; + case AF_INET: + printf("ip "); + break; #ifdef INET6 - case AF_INET6: - printf("ip6: "); - break; + case AF_INET6: + printf("ip6 "); + break; #endif - case AF_NS: - printf("ns: "); - break; + case AF_NS: + printf("ns "); + break; - default: - printf("AF %d: ", family); - break; + default: + printf("AF %d ", family); + break; + } } + printf("%d: ", length); } void diff --git a/print-ppp.c b/print-ppp.c index bd283fe1..8ba6710b 100644 --- a/print-ppp.c +++ b/print-ppp.c @@ -31,7 +31,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-ppp.c,v 1.56 2000-11-08 09:41:39 itojun Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ppp.c,v 1.57 2000-12-04 06:47:18 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -988,6 +988,7 @@ void ppp_print(register const u_char *p, u_int length) { u_int proto; + u_int full_length = length; /* * Here, we assume that p points to the Address and Control @@ -1012,7 +1013,7 @@ ppp_print(register const u_char *p, u_int length) length -= 2; } - printf("%s: ", ppp_protoname(proto)); + printf("%s %d: ", ppp_protoname(proto), full_length); handle_ppp(proto, p, length); return; @@ -1296,9 +1297,9 @@ ppp_bsdos_if_print(u_char *user, const struct pcap_pkthdr *h, printf("] "); } } - if (eflag) - printf("%d ", length); } + if (eflag) + printf("%d ", length); if (p[SLC_CHL]) { q = p + SLC_BPFHDRLEN + p[SLC_LLHL];