summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2020-06-19 23:26:28 +0200
committerStefan Metzmacher <metze@samba.org>2020-06-19 23:26:28 +0200
commit49aeafa2c530e35a43358977766899d45a0c8b28 (patch)
tree6eac344a0ef4ccd11fd2244f112c1158958952e1
parenta6f95ed59e2bc5a5d732738be7046e1e8422fb26 (diff)
downloadsocket_wrapper-49aeafa2c530e35a43358977766899d45a0c8b28.tar.gz
socket_wrapper-49aeafa2c530e35a43358977766899d45a0c8b28.tar.xz
socket_wrapper-49aeafa2c530e35a43358977766899d45a0c8b28.zip
Revert "socket_wrapper.c: implement getsockopt(TCP_INFO) if the platform supports it"
This reverts commit 300de6e099ea82ee5361918de8c3abb389e0782d. This got merged automatically by gitlab without review. Signed-off-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--ConfigureChecks.cmake1
-rw-r--r--config.h.cmake1
-rw-r--r--src/socket_wrapper.c57
3 files changed, 0 insertions, 59 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 4a2f55e..4d5adc4 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -43,7 +43,6 @@ int main(void){ return 0; }
endif(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW AND NOT OS2)
# HEADERS
-check_include_file(netinet/tcp_fsm.h HAVE_NETINET_TCP_FSM_H)
check_include_file(sys/filio.h HAVE_SYS_FILIO_H)
check_include_file(sys/signalfd.h HAVE_SYS_SIGNALFD_H)
check_include_file(sys/eventfd.h HAVE_SYS_EVENTFD_H)
diff --git a/config.h.cmake b/config.h.cmake
index d3ceb23..36050b5 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -9,7 +9,6 @@
/************************** HEADER FILES *************************/
-#cmakedefine HAVE_NETINET_TCP_FSM_H 1
#cmakedefine HAVE_SYS_FILIO_H 1
#cmakedefine HAVE_SYS_SIGNALFD_H 1
#cmakedefine HAVE_SYS_EVENTFD_H 1
diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c
index 4fb7b23..5b7c9ea 100644
--- a/src/socket_wrapper.c
+++ b/src/socket_wrapper.c
@@ -66,9 +66,6 @@
#include <sys/un.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
-#ifdef HAVE_NETINET_TCP_FSM_H
-#include <netinet/tcp_fsm.h>
-#endif
#include <arpa/inet.h>
#include <fcntl.h>
#include <stdlib.h>
@@ -267,7 +264,6 @@ struct socket_info
int defer_connect;
int pktinfo;
int tcp_nodelay;
- int listening;
/* The unix path so we can unlink it on close() */
struct sockaddr_un un_addr;
@@ -4101,9 +4097,6 @@ static int swrap_listen(int s, int backlog)
}
ret = libc_listen(s, backlog);
- if (ret == 0) {
- si->listening = 1;
- }
out:
SWRAP_UNLOCK_SI(si);
@@ -4453,56 +4446,6 @@ static int swrap_getsockopt(int s, int level, int optname,
ret = 0;
goto done;
#endif /* TCP_NODELAY */
-#ifdef TCP_INFO
- case TCP_INFO: {
- struct tcp_info info;
- socklen_t ilen = sizeof(info);
-
-#ifdef HAVE_NETINET_TCP_FSM_H
-/* This is FreeBSD */
-# define __TCP_LISTEN TCPS_LISTEN
-# define __TCP_ESTABLISHED TCPS_ESTABLISHED
-# define __TCP_CLOSE TCPS_CLOSED
-#else
-/* This is Linux */
-# define __TCP_LISTEN TCP_LISTEN
-# define __TCP_ESTABLISHED TCP_ESTABLISHED
-# define __TCP_CLOSE TCP_CLOSE
-#endif
-
- ZERO_STRUCT(info);
- if (si->listening) {
- info.tcpi_state = __TCP_LISTEN;
- } else if (si->connected) {
- /*
- * For now we just fake a few values
- * supported both by FreeBSD and Linux
- */
- info.tcpi_state = __TCP_ESTABLISHED;
- info.tcpi_rto = 200000; /* 200 msec */
- info.tcpi_rtt = 5000; /* 5 msec */
- info.tcpi_rttvar = 5000; /* 5 msec */
- } else {
- info.tcpi_state = __TCP_CLOSE;
- info.tcpi_rto = 1000000; /* 1 sec */
- info.tcpi_rtt = 0;
- info.tcpi_rttvar = 250000; /* 250 msec */
- }
-
- if (optval == NULL || optlen == NULL ||
- *optlen < (socklen_t)ilen) {
- errno = EINVAL;
- ret = -1;
- goto done;
- }
-
- *optlen = ilen;
- memcpy(optval, &info, ilen);
-
- ret = 0;
- goto done;
- }
-#endif /* TCP_INFO */
default:
break;
}