From: Guy Harris Date: Tue, 11 Dec 2018 08:50:15 +0000 (-0800) Subject: Have all Internet-checksum computing routines return a uint16_t. X-Git-Tag: tcpdump-4.99-bp~949 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/2de3a27ab75415237de96d2539e86b959ad0a9d0 Have all Internet-checksum computing routines return a uint16_t. Those checksums are 16-bit; change the return types of those routines appropriately. --- diff --git a/netdissect.h b/netdissect.h index caf18dce..f4ca3095 100644 --- a/netdissect.h +++ b/netdissect.h @@ -674,10 +674,10 @@ struct cksum_vec { extern uint16_t in_cksum(const struct cksum_vec *, int); extern uint16_t in_cksum_shouldbe(uint16_t, uint16_t); -extern int nextproto4_cksum(netdissect_options *, const struct ip *, const uint8_t *, u_int, u_int, u_int); +extern uint16_t nextproto4_cksum(netdissect_options *, const struct ip *, const uint8_t *, u_int, u_int, u_int); /* in print-ip6.c */ -extern int nextproto6_cksum(netdissect_options *, const struct ip6_hdr *, const uint8_t *, u_int, u_int, u_int); +extern uint16_t nextproto6_cksum(netdissect_options *, const struct ip6_hdr *, const uint8_t *, u_int, u_int, u_int); /* Utilities */ extern void nd_print_trunc(netdissect_options *); diff --git a/print-dccp.c b/print-dccp.c index b2636acb..4824e23d 100644 --- a/print-dccp.c +++ b/print-dccp.c @@ -201,14 +201,14 @@ dccp_csum_coverage(const struct dccp_hdr* dh, u_int len) return (cov > len)? len : cov; } -static int dccp_cksum(netdissect_options *ndo, const struct ip *ip, +static uint16_t dccp_cksum(netdissect_options *ndo, const struct ip *ip, const struct dccp_hdr *dh, u_int len) { return nextproto4_cksum(ndo, ip, (const uint8_t *)(const void *)dh, len, dccp_csum_coverage(dh, len), IPPROTO_DCCP); } -static int dccp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, +static uint16_t dccp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, const struct dccp_hdr *dh, u_int len) { return nextproto6_cksum(ndo, ip6, (const uint8_t *)(const void *)dh, len, diff --git a/print-icmp6.c b/print-icmp6.c index 60b831bd..042e5072 100644 --- a/print-icmp6.c +++ b/print-icmp6.c @@ -776,7 +776,7 @@ print_lladdr(netdissect_options *ndo, const uint8_t *p, size_t l) } } -static int icmp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, +static uint16_t icmp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, const struct icmp6_hdr *icp, u_int len) { return nextproto6_cksum(ndo, ip6, (const uint8_t *)(const void *)icp, len, len, diff --git a/print-ip.c b/print-ip.c index 8b263ccc..e1085e96 100644 --- a/print-ip.c +++ b/print-ip.c @@ -138,7 +138,7 @@ trunc: /* * Compute a V4-style checksum by building a pseudoheader. */ -int +uint16_t nextproto4_cksum(netdissect_options *ndo, const struct ip *ip, const uint8_t *data, u_int len, u_int covlen, u_int next_proto) diff --git a/print-ip6.c b/print-ip6.c index 4f0618a3..faffb4a2 100644 --- a/print-ip6.c +++ b/print-ip6.c @@ -157,7 +157,7 @@ trunc: /* * Compute a V6-style checksum by building a pseudoheader. */ -int +uint16_t nextproto6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, const uint8_t *data, u_int len, u_int covlen, u_int next_proto) diff --git a/print-tcp.c b/print-tcp.c index 1886044b..ef7bcf6c 100644 --- a/print-tcp.c +++ b/print-tcp.c @@ -136,7 +136,7 @@ static const struct tok tcp_option_values[] = { { 0, NULL } }; -static int +static uint16_t tcp_cksum(netdissect_options *ndo, const struct ip *ip, const struct tcphdr *tp, @@ -146,7 +146,7 @@ tcp_cksum(netdissect_options *ndo, IPPROTO_TCP); } -static int +static uint16_t tcp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, const struct tcphdr *tp, diff --git a/print-udp.c b/print-udp.c index 57e5b2bb..9daf327d 100644 --- a/print-udp.c +++ b/print-udp.c @@ -313,7 +313,7 @@ trunc: return ep; } -static int udp_cksum(netdissect_options *ndo, const struct ip *ip, +static uint16_t udp_cksum(netdissect_options *ndo, const struct ip *ip, const struct udphdr *up, u_int len) { @@ -321,7 +321,7 @@ static int udp_cksum(netdissect_options *ndo, const struct ip *ip, IPPROTO_UDP); } -static int udp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, +static uint16_t udp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6, const struct udphdr *up, u_int len) { return nextproto6_cksum(ndo, ip6, (const uint8_t *)(const void *)up, len, len,