Dropping leading zeros doesn't make sense for checksums. Only odd case
is print-mobile.c which previously printed checksums as decimal.
print-gre.c also sticks out as the only one that prepends "0x".
- Matthew Martin
Index: usr.sbin/tcpdump/print-carp.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-carp.c,v
retrieving revision 1.6
diff -u -p -r1.6 print-carp.c
--- usr.sbin/tcpdump/print-carp.c 27 Oct 2009 23:59:55 -0000 1.6
+++ usr.sbin/tcpdump/print-carp.c 10 Nov 2015 08:39:03 -0000
@@ -66,7 +66,7 @@ carp_print(register const u_char *bp, re
bp[1], bp[5], bp[2], bp[4]);
if (vflag) {
if (TTEST2(bp[0], len) && in_cksum((const u_short*)bp, len, 0))
- printf(" (bad carp cksum %x!)",
+ printf(" (bad carp cksum %04x!)",
EXTRACT_16BITS(&bp[6]));
}
return;
Index: usr.sbin/tcpdump/print-gre.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-gre.c,v
retrieving revision 1.11
diff -u -p -r1.11 print-gre.c
--- usr.sbin/tcpdump/print-gre.c 5 Nov 2015 11:55:21 -0000 1.11
+++ usr.sbin/tcpdump/print-gre.c 10 Nov 2015 08:39:03 -0000
@@ -121,7 +121,7 @@ gre_print_0(const u_char *bp, u_int leng
if (len < 2)
goto trunc;
if (vflag)
- printf("sum 0x%x ", EXTRACT_16BITS(bp));
+ printf("sum 0x%04x ", EXTRACT_16BITS(bp));
bp += 2;
len -= 2;
Index: usr.sbin/tcpdump/print-icmp.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-icmp.c,v
retrieving revision 1.25
diff -u -p -r1.25 print-icmp.c
--- usr.sbin/tcpdump/print-icmp.c 16 Jan 2015 06:40:21 -0000 1.25
+++ usr.sbin/tcpdump/print-icmp.c 10 Nov 2015 08:39:03 -0000
@@ -378,7 +378,7 @@ icmp_print(const u_char *bp, u_int lengt
sum = in_cksum((const u_short *)dp, length, 0);
if (sum != 0) {
icmp_sum = EXTRACT_16BITS(&dp->icmp_cksum);
- (void)printf(" [bad icmp cksum %x! -> %x]",
icmp_sum,
+ (void)printf(" [bad icmp cksum %04x! -> %04x]",
icmp_sum,
in_cksum_shouldbe(icmp_sum, sum));
}
else
Index: usr.sbin/tcpdump/print-icmp6.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-icmp6.c,v
retrieving revision 1.16
diff -u -p -r1.16 print-icmp6.c
--- usr.sbin/tcpdump/print-icmp6.c 2 Nov 2015 17:48:33 -0000 1.16
+++ usr.sbin/tcpdump/print-icmp6.c 10 Nov 2015 08:39:03 -0000
@@ -489,7 +489,7 @@ icmp6_print(const u_char *bp, u_int leng
sum = icmp6_cksum(ip, dp, length);
if (sum != 0) {
icmp6_sum = EXTRACT_16BITS(&dp->icmp6_cksum);
- printf(" [bad icmp6 cksum %x! -> %x]",
icmp6_sum,
+ printf(" [bad icmp6 cksum %04x! -> %04x]",
icmp6_sum,
in_cksum_shouldbe(icmp6_sum, sum));
} else
printf(" [icmp6 cksum ok]");
Index: usr.sbin/tcpdump/print-ip.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-ip.c,v
retrieving revision 1.44
diff -u -p -r1.44 print-ip.c
--- usr.sbin/tcpdump/print-ip.c 21 Aug 2015 02:07:32 -0000 1.44
+++ usr.sbin/tcpdump/print-ip.c 10 Nov 2015 08:39:03 -0000
@@ -215,7 +215,7 @@ igmp_print(register const u_char *bp, re
sum = (sum & 0xffff) + (sum >> 16);
sum = 0xffff & ~sum;
if (sum != 0)
- printf(" bad igmp cksum %x!", EXTRACT_16BITS(&bp[2]));
+ printf(" bad igmp cksum %04x!", EXTRACT_16BITS(&bp[2]));
}
return;
trunc:
@@ -649,7 +649,7 @@ ip_print(register const u_char *bp, regi
sum = in_cksum((const u_short *)ip, hlen, 0);
if (sum != 0) {
ip_sum = EXTRACT_16BITS(&ip->ip_sum);
- (void)printf("%sbad ip cksum %x! -> %x", sep,
ip_sum,
+ (void)printf("%sbad ip cksum %04x! -> %04x",
sep, ip_sum,
in_cksum_shouldbe(ip_sum, sum));
sep = ", ";
}
Index: usr.sbin/tcpdump/print-mobile.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-mobile.c,v
retrieving revision 1.5
diff -u -p -r1.5 print-mobile.c
--- usr.sbin/tcpdump/print-mobile.c 16 Jan 2015 06:40:21 -0000 1.5
+++ usr.sbin/tcpdump/print-mobile.c 10 Nov 2015 08:39:03 -0000
@@ -94,7 +94,7 @@ mobile_print(const u_char *bp, u_int len
(void)printf("(oproto=%d)",proto>>8);
}
if (mob_in_cksum((u_short *)mob, osp ? 12 : 8)!=0) {
- (void)printf(" (bad checksum %d)",crc);
+ (void)printf(" (bad checksum %04x)",crc);
}
return;
Index: usr.sbin/tcpdump/print-tcp.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-tcp.c,v
retrieving revision 1.34
diff -u -p -r1.34 print-tcp.c
--- usr.sbin/tcpdump/print-tcp.c 5 Nov 2015 11:57:31 -0000 1.34
+++ usr.sbin/tcpdump/print-tcp.c 10 Nov 2015 08:39:03 -0000
@@ -420,7 +420,7 @@ tcp_print(register const u_char *bp, reg
sum = tcp_cksum(ip, tp, length);
if (sum != 0) {
tcp_sum = EXTRACT_16BITS(&tp->th_sum);
- (void)printf(" [bad tcp cksum %x! -> %x]",
tcp_sum,
+ (void)printf(" [bad tcp cksum %04x! -> %04x]",
tcp_sum,
in_cksum_shouldbe(tcp_sum, sum));
} else
(void)printf(" [tcp sum ok]");
@@ -433,7 +433,7 @@ tcp_print(register const u_char *bp, reg
sum = tcp6_cksum(ip6, tp, length);
if (sum != 0) {
tcp_sum = EXTRACT_16BITS(&tp->th_sum);
- (void)printf(" [bad tcp cksum %x! -> %x]",
tcp_sum,
+ (void)printf(" [bad tcp cksum %04x! -> %04x]",
tcp_sum,
in_cksum_shouldbe(tcp_sum, sum));
} else
(void)printf(" [tcp sum ok]");
Index: usr.sbin/tcpdump/print-udp.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-udp.c,v
retrieving revision 1.38
diff -u -p -r1.38 print-udp.c
--- usr.sbin/tcpdump/print-udp.c 16 Jan 2015 06:40:22 -0000 1.38
+++ usr.sbin/tcpdump/print-udp.c 10 Nov 2015 08:39:03 -0000
@@ -571,7 +571,7 @@ udp_print(register const u_char *bp, u_i
} else if (TTEST2(cp[0], length)) {
sum = udp_cksum(ip, up, length + sizeof(struct udphdr));
if (sum != 0)
- (void)printf(" [bad udp cksum %x! -> %x]",
udp_sum,
+ (void)printf(" [bad udp cksum %04x! -> %04x]",
udp_sum,
in_cksum_shouldbe(udp_sum, sum));
else
(void)printf(" [udp sum ok]");
@@ -586,7 +586,7 @@ udp_print(register const u_char *bp, u_i
} else if (TTEST2(cp[0], length)) {
sum = udp6_cksum(ip6, up, length + sizeof(struct
udphdr));
if (sum != 0)
- (void)printf(" [bad udp cksum %x! -> %x]",
udp_sum,
+ (void)printf(" [bad udp cksum %04x! -> %04x]",
udp_sum,
in_cksum_shouldbe(udp_sum, sum));
else
(void)printf(" [udp sum ok]");
Index: usr.sbin/tcpdump/print-vrrp.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-vrrp.c,v
retrieving revision 1.3
diff -u -p -r1.3 print-vrrp.c
--- usr.sbin/tcpdump/print-vrrp.c 27 Oct 2009 23:59:57 -0000 1.3
+++ usr.sbin/tcpdump/print-vrrp.c 10 Nov 2015 08:39:03 -0000
@@ -95,7 +95,7 @@ vrrp_print(register const u_char *bp, re
char c;
if (TTEST2(bp[0], len) && in_cksum((const u_short*)bp, len, 0))
- printf(" (bad vrrp cksum %x!)",
+ printf(" (bad vrrp cksum %04x!)",
EXTRACT_16BITS(&bp[6]));
printf(" addrs");
if (naddrs > 1)