git: b621fbb1bf1b - main - sctp: drop packet with SHUTDOWN-ACK chunks with wrong vtags

Michael Tuexen tuexen at FreeBSD.org
Tue May 4 16:43:46 UTC 2021


The branch main has been updated by tuexen:

URL: https://cgit.FreeBSD.org/src/commit/?id=b621fbb1bf1b2a1e6ea22e0ad2d7667b1aec9fae

commit b621fbb1bf1b2a1e6ea22e0ad2d7667b1aec9fae
Author:     Michael Tuexen <tuexen at FreeBSD.org>
AuthorDate: 2021-05-04 16:42:31 +0000
Commit:     Michael Tuexen <tuexen at FreeBSD.org>
CommitDate: 2021-05-04 16:43:31 +0000

    sctp: drop packet with SHUTDOWN-ACK chunks with wrong vtags
    
    MFC after:      3 days
---
 sys/netinet/sctp_input.c | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c
index b6fe6449bc21..e1f096ea5817 100644
--- a/sys/netinet/sctp_input.c
+++ b/sys/netinet/sctp_input.c
@@ -4502,27 +4502,6 @@ sctp_process_control(struct mbuf *m, int iphlen, int *offset, int length,
 				}
 				return (NULL);
 			}
-		} else if (ch->chunk_type == SCTP_SHUTDOWN_ACK) {
-			if (vtag_in != asoc->my_vtag) {
-				/*
-				 * this could be a stale SHUTDOWN-ACK or the
-				 * peer never got the SHUTDOWN-COMPLETE and
-				 * is still hung; we have started a new asoc
-				 * but it won't complete until the shutdown
-				 * is completed
-				 */
-				if (stcb != NULL) {
-					SCTP_TCB_UNLOCK(stcb);
-				}
-				SCTP_SNPRINTF(msg, sizeof(msg), "OOTB, %s:%d at %s", __FILE__, __LINE__, __func__);
-				op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
-				    msg);
-				sctp_handle_ootb(m, iphlen, *offset, src, dst,
-				    sh, inp, op_err,
-				    mflowtype, mflowid, fibnum,
-				    vrf_id, port);
-				return (NULL);
-			}
 		} else {
 			/* for all other chunks, vtag must match */
 			if (vtag_in != asoc->my_vtag) {


More information about the dev-commits-src-main mailing list