aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@fh-muenster.de>2023-08-08 13:18:14 +0200
committerMichael Tuexen <tuexen@fh-muenster.de>2023-08-08 13:18:14 +0200
commit9a8fc34cc1f3c28f9980a5d9fd72d38a13a1a90e (patch)
treeddd8459f997943be406f59ecc84532ec5ada8cd3
parentbe1d96fcf0f50ac5cbece0d4de5a732c787672e8 (diff)
downloadusrsctp-9a8fc34cc1f3c28f9980a5d9fd72d38a13a1a90e.tar.gz
Remove redundant code
-rwxr-xr-xusrsctplib/netinet/sctp_usrreq.c10
-rwxr-xr-xusrsctplib/netinet/sctp_var.h5
-rw-r--r--usrsctplib/netinet6/sctp6_usrreq.c73
3 files changed, 12 insertions, 76 deletions
diff --git a/usrsctplib/netinet/sctp_usrreq.c b/usrsctplib/netinet/sctp_usrreq.c
index 3860e3bc..5731bc92 100755
--- a/usrsctplib/netinet/sctp_usrreq.c
+++ b/usrsctplib/netinet/sctp_usrreq.c
@@ -661,13 +661,10 @@ SYSCTL_PROC(_net_inet_sctp, OID_AUTO, getcred,
"Get the ucred of a SCTP connection");
#endif
-#ifdef INET
-#if defined(_WIN32) || defined(__Userspace__)
-int
-#elif defined(__FreeBSD__)
-static void
+#if defined(__FreeBSD__) && !defined(__Userspace__)
+void
#else
-static int
+int
#endif
sctp_abort(struct socket *so)
{
@@ -725,6 +722,7 @@ sctp_abort(struct socket *so)
#endif
}
+#ifdef INET
#if defined(__Userspace__)
int
#else
diff --git a/usrsctplib/netinet/sctp_var.h b/usrsctplib/netinet/sctp_var.h
index 415fbb41..6613b586 100755
--- a/usrsctplib/netinet/sctp_var.h
+++ b/usrsctplib/netinet/sctp_var.h
@@ -372,6 +372,11 @@ void sctp_close(struct socket *so);
#else
int sctp_detach(struct socket *so);
#endif
+#if defined(__FreeBSD__) && !defined(__Userspace__)
+void sctp_abort(struct socket *so);
+#else
+int sctp_abort(struct socket *so);
+#endif
int sctp_disconnect(struct socket *so);
#if !defined(__Userspace__)
#if defined(__APPLE__) && !defined(APPLE_LEOPARD) && !defined(APPLE_SNOWLEOPARD) && !defined(APPLE_LION) && !defined(APPLE_MOUNTAINLION) && !defined(APPLE_ELCAPITAN)
diff --git a/usrsctplib/netinet6/sctp6_usrreq.c b/usrsctplib/netinet6/sctp6_usrreq.c
index 52da3ce9..199a9bdc 100644
--- a/usrsctplib/netinet6/sctp6_usrreq.c
+++ b/usrsctplib/netinet6/sctp6_usrreq.c
@@ -732,73 +732,6 @@ SYSCTL_PROC(_net_inet6_sctp6, OID_AUTO, getcred,
"Get the ucred of a SCTP6 connection");
#endif
-/* This is the same as the sctp_abort() could be made common */
-#if defined(__Userspace__)
-int
-#elif defined(__FreeBSD__) || defined(_WIN32)
-static void
-#else
-static int
-#endif
-sctp6_abort(struct socket *so)
-{
-#if defined(__FreeBSD__) && !defined(__Userspace__)
- struct epoch_tracker et;
-#endif
- struct sctp_inpcb *inp;
- uint32_t flags;
-
- inp = (struct sctp_inpcb *)so->so_pcb;
- if (inp == NULL) {
- SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP6_USRREQ, EINVAL);
-#if (defined(__FreeBSD__) || defined(_WIN32)) && !defined(__Userspace__)
- return;
-#else
- return (EINVAL);
-#endif
- }
-#if defined(__FreeBSD__) && !defined(__Userspace__)
- NET_EPOCH_ENTER(et);
-#endif
- sctp_must_try_again:
- flags = inp->sctp_flags;
-#ifdef SCTP_LOG_CLOSING
- sctp_log_closing(inp, NULL, 17);
-#endif
- if (((flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) &&
- (atomic_cmpset_int(&inp->sctp_flags, flags, (flags | SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_CLOSE_IP)))) {
-#ifdef SCTP_LOG_CLOSING
- sctp_log_closing(inp, NULL, 16);
-#endif
- sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT,
- SCTP_CALLED_AFTER_CMPSET_OFCLOSE);
- SOCK_LOCK(so);
- SCTP_SB_CLEAR(so->so_snd);
- /* same for the rcv ones, they are only
- * here for the accounting/select.
- */
- SCTP_SB_CLEAR(so->so_rcv);
-#if defined(__APPLE__) && !defined(__Userspace__)
- so->so_usecount--;
-#else
- /* Now null out the reference, we are completely detached. */
- so->so_pcb = NULL;
-#endif
- SOCK_UNLOCK(so);
- } else {
- flags = inp->sctp_flags;
- if ((flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) {
- goto sctp_must_try_again;
- }
- }
-#if defined(__FreeBSD__) && !defined(__Userspace__)
- NET_EPOCH_EXIT(et);
- return;
-#else
- return (0);
-#endif
-}
-
#if defined(__Userspace__)
int
sctp6_attach(struct socket *so, int proto SCTP_UNUSED, uint32_t vrf_id)
@@ -1733,7 +1666,7 @@ sctp6_getpeeraddr(struct socket *so, struct mbuf *nam)
#define SCTP6_PROTOSW \
.pr_protocol = IPPROTO_SCTP, \
.pr_ctloutput = sctp_ctloutput, \
- .pr_abort = sctp6_abort, \
+ .pr_abort = sctp_abort, \
.pr_accept = sctp_accept, \
.pr_attach = sctp6_attach, \
.pr_bind = sctp6_bind, \
@@ -1766,7 +1699,7 @@ struct protosw sctp6_stream_protosw = {
#else
struct pr_usrreqs sctp6_usrreqs = {
#if defined(__APPLE__) && !defined(__Userspace__)
- .pru_abort = sctp6_abort,
+ .pru_abort = sctp_abort,
.pru_accept = sctp_accept,
.pru_attach = sctp6_attach,
.pru_bind = sctp6_bind,
@@ -1787,7 +1720,7 @@ struct pr_usrreqs sctp6_usrreqs = {
.pru_soreceive = sctp_soreceive,
.pru_sopoll = sopoll
#elif defined(_WIN32) && !defined(__Userspace__)
- sctp6_abort,
+ sctp_abort,
sctp_accept,
sctp6_attach,
sctp6_bind,