diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-09-06 15:12:30 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-09-12 07:44:50 +0000 |
commit | ebbf15c58c1dd3540a8e7a98df93a097f325a528 (patch) | |
tree | 40e3887a7c8dc7438c10418568b63cddcd27b9e3 /chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c | |
parent | ae14d10af68cd18452ff9f970bc97aaac7a7eb88 (diff) |
Update usrsctp
Includes fix for security issue 854883
Change-Id: I53b394402cb44a4b21ab2a27a90175103a810e38
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c')
-rw-r--r-- | chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c b/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c index 752f52bc608..07ed304ab1e 100644 --- a/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c +++ b/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c @@ -34,7 +34,7 @@ #ifdef __FreeBSD__ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: head/sys/netinet6/sctp6_usrreq.c 325370 2017-11-03 20:46:12Z tuexen $"); +__FBSDID("$FreeBSD: head/sys/netinet6/sctp6_usrreq.c 326672 2017-12-07 22:19:08Z tuexen $"); #endif #include <netinet/sctp_os.h> @@ -151,9 +151,7 @@ sctp6_input(struct mbuf **i_pak, int *offp, int proto) struct sctphdr *sh; struct sctp_chunkhdr *ch; int length, offset; -#if !defined(SCTP_WITH_NO_CSUM) uint8_t compute_crc; -#endif #if defined(__FreeBSD__) uint32_t mflowid; uint8_t mflowtype; @@ -292,9 +290,6 @@ sctp6_input(struct mbuf **i_pak, int *offp, int proto) goto out; } ecn_bits = ((ntohl(ip6->ip6_flow) >> 20) & 0x000000ff); -#if defined(SCTP_WITH_NO_CSUM) - SCTP_STAT_INCR(sctps_recvnocrc); -#else #if defined(__FreeBSD__) && __FreeBSD_version >= 800000 if (m->m_pkthdr.csum_flags & CSUM_SCTP_VALID) { SCTP_STAT_INCR(sctps_recvhwcrc); @@ -303,21 +298,18 @@ sctp6_input(struct mbuf **i_pak, int *offp, int proto) #else if (SCTP_BASE_SYSCTL(sctp_no_csum_on_loopback) && (IN6_ARE_ADDR_EQUAL(&src.sin6_addr, &dst.sin6_addr))) { - SCTP_STAT_INCR(sctps_recvnocrc); + SCTP_STAT_INCR(sctps_recvhwcrc); compute_crc = 0; } else { #endif SCTP_STAT_INCR(sctps_recvswcrc); compute_crc = 1; } -#endif sctp_common_input_processing(&m, iphlen, offset, length, (struct sockaddr *)&src, (struct sockaddr *)&dst, sh, ch, -#if !defined(SCTP_WITH_NO_CSUM) compute_crc, -#endif ecn_bits, #if defined(__FreeBSD__) mflowtype, mflowid, fibnum, @@ -432,8 +424,12 @@ sctp6_notify(struct sctp_inpcb *inp, } } +#if defined(__APPLE__) && !defined(APPLE_LEOPARD) && !defined(APPLE_SNOWLEOPARD) && !defined(APPLE_LION) && !defined(APPLE_MOUNTAINLION) && !defined(APPLE_ELCAPITAN) void +sctp6_ctlinput(int cmd, struct sockaddr *pktdst, void *d, struct ifnet *ifp SCTP_UNUSED) +#else sctp6_ctlinput(int cmd, struct sockaddr *pktdst, void *d) +#endif { struct ip6ctlparam *ip6cp; struct sctp_inpcb *inp; |