Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Jan 2016 14:54:43 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r294155 - stable/10/sys/netinet
Message-ID:  <201601161454.u0GEshOc096903@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tuexen
Date: Sat Jan 16 14:54:43 2016
New Revision: 294155
URL: https://svnweb.freebsd.org/changeset/base/294155

Log:
  MFC r287535:
  RFC 4960 requires that packets containing an INIT chunk bundled with
  another chunk are silently discarded. Do so, instead of sending an
  ABORT.

Modified:
  stable/10/sys/netinet/sctp_input.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netinet/sctp_input.c
==============================================================================
--- stable/10/sys/netinet/sctp_input.c	Sat Jan 16 14:52:29 2016	(r294154)
+++ stable/10/sys/netinet/sctp_input.c	Sat Jan 16 14:54:43 2016	(r294155)
@@ -4819,13 +4819,11 @@ process_control_chunks:
 			/* The INIT chunk must be the only chunk. */
 			if ((num_chunks > 1) ||
 			    (length - *offset > (int)SCTP_SIZE32(chk_length))) {
-				op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
-				    "INIT not the only chunk");
-				sctp_abort_association(inp, stcb, m, iphlen,
-				    src, dst, sh, op_err,
-				    mflowtype, mflowid,
-				    vrf_id, port);
+				/* RFC 4960 requires that no ABORT is sent */
 				*offset = length;
+				if (locked_tcb) {
+					SCTP_TCB_UNLOCK(locked_tcb);
+				}
 				return (NULL);
 			}
 			/* Honor our resource limit. */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601161454.u0GEshOc096903>