aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2021-05-04 16:42:31 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2021-06-02 21:55:37 +0000
commita2fdddf83e8cc2c17d838f09f9601fd210457e74 (patch)
tree659e2cd273deee50c84ffc3cf6be2586b8d40241
parent50948b57070f91d8c99807bb7a698659bfbda6b4 (diff)
downloadsrc-a2fdddf83e8cc2c17d838f09f9601fd210457e74.tar.gz
src-a2fdddf83e8cc2c17d838f09f9601fd210457e74.zip
sctp: drop packet with SHUTDOWN-ACK chunks with wrong vtags
(cherry picked from commit b621fbb1bf1b2a1e6ea22e0ad2d7667b1aec9fae)
-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) {