svn commit: r287535 - head/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Mon Sep 7 14:00:39 UTC 2015


Author: tuexen
Date: Mon Sep  7 14:00:38 2015
New Revision: 287535
URL: https://svnweb.freebsd.org/changeset/base/287535

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

Modified:
  head/sys/netinet/sctp_input.c

Modified: head/sys/netinet/sctp_input.c
==============================================================================
--- head/sys/netinet/sctp_input.c	Mon Sep  7 13:43:05 2015	(r287534)
+++ head/sys/netinet/sctp_input.c	Mon Sep  7 14:00:38 2015	(r287535)
@@ -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. */


More information about the svn-src-all mailing list