X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/3cb7e038251aae998d0581933b4f9df252106334..1a04b92e365f5ed01ca38619b41bcc4fc9cbd63c:/print-ah.c diff --git a/print-ah.c b/print-ah.c index bec6f88f..30fb8d26 100644 --- a/print-ah.c +++ b/print-ah.c @@ -29,29 +29,29 @@ #include -#include "ah.h" - #include "netdissect.h" #include "extract.h" +#include "ah.h" + int -ah_print(netdissect_options *ndo, register const u_char *bp) +ah_print(netdissect_options *ndo, const u_char *bp) { - register const struct ah *ah; + const struct ah *ah; int sumlen; ah = (const struct ah *)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_32BITS(&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_32BITS(ah + 1); - ND_PRINT((ndo, ",seq=0x%x", EXTRACT_32BITS(ah + 1))); - if (!ND_TTEST2(*bp, sizeof(struct ah) + sumlen)) { + ND_TCHECK_4(ah + 1); + ND_PRINT((ndo, ",seq=0x%x", EXTRACT_BE_U_4(ah + 1))); + if (!ND_TTEST_LEN(bp, sizeof(struct ah) + sumlen)) { ND_PRINT((ndo, "[truncated]):")); return -1; }