summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-09-06 15:12:30 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-09-12 07:44:50 +0000
commitebbf15c58c1dd3540a8e7a98df93a097f325a528 (patch)
tree40e3887a7c8dc7438c10418568b63cddcd27b9e3 /chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c
parentae14d10af68cd18452ff9f970bc97aaac7a7eb88 (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.c16
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;