X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/57577610721997e4721c0d02b7860ef31cc399ba..2b3f0b4eb67093dad6ad8974ef8381fea7a2bcb2:/print-tcp.c diff --git a/print-tcp.c b/print-tcp.c index 12d24b5c..0c250a07 100644 --- a/print-tcp.c +++ b/print-tcp.c @@ -44,6 +44,8 @@ __RCSID("$NetBSD: print-tcp.c,v 1.8 2007/07/24 11:53:48 drochner Exp $"); #include "addrtoname.h" #include "extract.h" +#include "diag-control.h" + #include "tcp.h" #include "ip.h" @@ -624,6 +626,13 @@ tcp_print(netdissect_options *ndo, * only do ND_TCHECK_LEN() if it returned 0. */ ND_TCHECK_LEN(cp, datalen); + /* Update the snapend to the end of the option + * before calling mptcp_print(). Some options + * (MPTCP or others) may be present after a + * MPTCP option. This prevents that, in + * mptcp_print(), the remaining length < the + * remaining caplen. + */ snapend_save = ndo->ndo_snapend; ndo->ndo_snapend = ND_MIN(cp - 2 + len, ndo->ndo_snapend); @@ -876,7 +885,7 @@ print_tcp_fastopen_option(netdissect_options *ndo, const u_char *cp, } #ifdef HAVE_LIBCRYPTO -USES_APPLE_DEPRECATED_API +DIAG_OFF_DEPRECATION static int tcp_verify_signature(netdissect_options *ndo, const struct ip *ip, const struct tcphdr *tp, @@ -956,5 +965,5 @@ tcp_verify_signature(netdissect_options *ndo, else return (SIGNATURE_INVALID); } -USES_APPLE_RST +DIAG_ON_DEPRECATION #endif /* HAVE_LIBCRYPTO */