From: Guy Harris Date: Thu, 14 Dec 2017 04:43:33 +0000 (-0800) Subject: Use nd_ types for AH headers. X-Git-Tag: tcpdump-4.99-bp~1637 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/6fe42957957f1c74af1e2b69631cfd7d5d41a80c Use nd_ types for AH headers. --- diff --git a/ah.h b/ah.h index d87a087e..90c56010 100644 --- a/ah.h +++ b/ah.h @@ -38,19 +38,19 @@ #define _NETINET6_AH_H_ struct ah { - uint8_t ah_nxt; /* Next Header */ - uint8_t ah_len; /* Length of data, in 32bit */ - uint16_t ah_reserve; /* Reserved for future use */ - uint32_t ah_spi; /* Security parameter index */ + nd_uint8_t ah_nxt; /* Next Header */ + nd_uint8_t ah_len; /* Length of data, in 32bit */ + nd_uint16_t ah_reserve; /* Reserved for future use */ + nd_uint32_t ah_spi; /* Security parameter index */ /* variable size, 32bit bound*/ /* Authentication data */ }; struct newah { - uint8_t ah_nxt; /* Next Header */ - uint8_t ah_len; /* Length of data + 1, in 32bit */ - uint16_t ah_reserve; /* Reserved for future use */ - uint32_t ah_spi; /* Security parameter index */ - uint32_t ah_seq; /* Sequence number field */ + nd_uint8_t ah_nxt; /* Next Header */ + nd_uint8_t ah_len; /* Length of data + 1, in 32bit */ + nd_uint16_t ah_reserve; /* Reserved for future use */ + nd_uint32_t ah_spi; /* Security parameter index */ + nd_uint32_t ah_seq; /* Sequence number field */ /* variable size, 32bit bound*/ /* Authentication data */ }; diff --git a/print-ah.c b/print-ah.c index d47309bf..30fb8d26 100644 --- a/print-ah.c +++ b/print-ah.c @@ -29,11 +29,11 @@ #include -#include "ah.h" - #include "netdissect.h" #include "extract.h" +#include "ah.h" + int ah_print(netdissect_options *ndo, const u_char *bp) { @@ -44,9 +44,9 @@ ah_print(netdissect_options *ndo, const u_char *bp) ND_TCHECK(*ah); - sumlen = ah->ah_len << 2; + sumlen = EXTRACT_U_1(ah->ah_len) << 2; - ND_PRINT((ndo, "AH(spi=0x%08x", EXTRACT_BE_U_4(&ah->ah_spi))); + ND_PRINT((ndo, "AH(spi=0x%08x", EXTRACT_BE_U_4(ah->ah_spi))); if (ndo->ndo_vflag) ND_PRINT((ndo, ",sumlen=%d", sumlen)); ND_TCHECK_4(ah + 1); diff --git a/print-icmp6.c b/print-icmp6.c index b2230f60..312a72ba 100644 --- a/print-icmp6.c +++ b/print-icmp6.c @@ -1222,8 +1222,8 @@ get_upperlayer(netdissect_options *ndo, const u_char *bp, u_int *prot) ah = (const struct ah *)bp; if (!ND_TTEST(ah->ah_len)) return(NULL); - nh = ah->ah_nxt; - hlen = (ah->ah_len + 2) << 2; + nh = EXTRACT_U_1(ah->ah_nxt); + hlen = (EXTRACT_U_1(ah->ah_len) + 2) << 2; break; default: /* unknown or undecodable header */