svn commit: r252992 - stable/8/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Sun Jul 7 19:04:10 UTC 2013


Author: tuexen
Date: Sun Jul  7 19:04:10 2013
New Revision: 252992
URL: http://svnweb.freebsd.org/changeset/base/252992

Log:
  MFC r252718:
  When processing an incoming ABORT, SHUTDOWN_COMPLETE or ERROR (NAT related)
  chunk, take always the T-bit into account, when checking the verification
  tag.

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

Modified: stable/8/sys/netinet/sctp_input.c
==============================================================================
--- stable/8/sys/netinet/sctp_input.c	Sun Jul  7 19:01:34 2013	(r252991)
+++ stable/8/sys/netinet/sctp_input.c	Sun Jul  7 19:04:10 2013	(r252992)
@@ -4568,8 +4568,10 @@ __attribute__((noinline))
 		if ((ch->chunk_type == SCTP_ABORT_ASSOCIATION) ||
 		    (ch->chunk_type == SCTP_SHUTDOWN_COMPLETE) ||
 		    (ch->chunk_type == SCTP_PACKET_DROPPED)) {
-			if ((vtag_in == asoc->my_vtag) ||
-			    ((ch->chunk_flags & SCTP_HAD_NO_TCB) &&
+			/* Take the T-bit always into account. */
+			if ((((ch->chunk_flags & SCTP_HAD_NO_TCB) == 0) &&
+			    (vtag_in == asoc->my_vtag)) ||
+			    (((ch->chunk_flags & SCTP_HAD_NO_TCB) == SCTP_HAD_NO_TCB) &&
 			    (vtag_in == asoc->peer_vtag))) {
 				/* this is valid */
 			} else {


More information about the svn-src-stable-8 mailing list