aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2021-05-04 16:42:31 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2021-05-04 16:43:31 +0000
commitb621fbb1bf1b2a1e6ea22e0ad2d7667b1aec9fae (patch)
tree0b7c73411dd5f37b7a7a14a9a656d169201d141b
parent1bffa441660770a03fb287124c1ac84ec8b8677a (diff)
downloadsrc-b621fbb1bf1b2a1e6ea22e0ad2d7667b1aec9fae.tar.gz
src-b621fbb1bf1b2a1e6ea22e0ad2d7667b1aec9fae.zip
sctp: drop packet with SHUTDOWN-ACK chunks with wrong vtags
MFC after: 3 days
-rw-r--r--sys/netinet/sctp_input.c21
1 files changed, 0 insertions, 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) {