[packages/socat] - up to 1.7.3.2 - remove unnecessary socat-fixes.patch
adwol
adwol at pld-linux.org
Tue Jul 11 23:04:07 CEST 2017
commit ebffafa95f505e0d54798c196cf7121ffd8843f7
Author: Adam Osuchowski <adwol at pld-linux.org>
Date: Tue Jul 11 23:03:24 2017 +0200
- up to 1.7.3.2
- remove unnecessary socat-fixes.patch
socat-fixes.patch | 980 ------------------------------------------------------
socat.spec | 8 +-
2 files changed, 3 insertions(+), 985 deletions(-)
---
diff --git a/socat.spec b/socat.spec
index cbd3c0a..4c11797 100644
--- a/socat.spec
+++ b/socat.spec
@@ -1,16 +1,15 @@
Summary: Multipurpose relay
Summary(pl.UTF-8): Przekaźnik o wielu zastosowaniach
Name: socat
-Version: 1.7.3.1
-Release: 3
+Version: 1.7.3.2
+Release: 1
License: GPL
Group: Networking/Utilities
Source0: http://www.dest-unreach.org/socat/download/%{name}-%{version}.tar.bz2
-# Source0-md5: 334e46924f2b386299c9db2ac22bcd36
+# Source0-md5: 607a24c15bd2cb54e9328bfbbd3a1ae9
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.tmpfiles
-Patch0: %{name}-fixes.patch
URL: http://www.dest-unreach.org/socat/
BuildRequires: libwrap-devel >= 7.6-30
BuildRequires: openssl-devel >= 0.9.7d
@@ -49,7 +48,6 @@ połączeniami sieciowymi.
%prep
%setup -q
-%patch0 -p1
sed -i -e 's#-lssl#-lssl -lcrypto#g' configure*
%build
diff --git a/socat-fixes.patch b/socat-fixes.patch
deleted file mode 100644
index 896440f..0000000
--- a/socat-fixes.patch
+++ /dev/null
@@ -1,980 +0,0 @@
-diff -ruNp socat.master/CHANGES socat.fixes/CHANGES
---- socat.master/CHANGES 2015-02-19 21:04:55.791758104 +0100
-+++ socat.fixes/CHANGES 2015-02-19 21:05:12.736668452 +0100
-@@ -1,4 +1,26 @@
-
-+corrections:
-+ Type conflict between int and sig_atomic_t between declaration and
-+ definition of diag_immediate_type and diag_immediate_exit broke
-+ compilation on FreeBSD 10.1 with clang. Thanks to Emanuel Haupt for
-+ reporting this bug.
-+
-+ configure checked for OpenSSL EC_KEY assuming it is a define but it
-+ is a type, thus OpenSSL ECDHE ciphers failed even on Linux. Thanks to
-+ Andrey Arapov for reporting this bug.
-+
-+ Socat hung when configured with --disable-sycls.
-+
-+porting:
-+ Socat failed to compile on platforms with OpenSSL without
-+ DTLSv1_client_method or DTLSv1_server_method.
-+ Thanks to Simon Matter for sending a patch.
-+
-+doc:
-+ socat.yo mentioned address name SSL-LISTEN which never existed (use
-+ OPENSSL-LISTEN or SSL-L instead).
-+ Thanks to Zhigang Wang for sending a patch.
-+
- ####################### V 1.7.3.0:
-
- security:
-diff -ruNp socat.master/Makefile.in socat.fixes/Makefile.in
---- socat.master/Makefile.in 2015-02-19 21:04:55.792758099 +0100
-+++ socat.fixes/Makefile.in 2015-02-19 21:05:12.736668452 +0100
-@@ -54,7 +54,7 @@ XIOSRCS = xioinitialize.c xiohelp.c xiop
- xio-pty.c xio-openssl.c xio-streams.c\
- xio-ascii.c xiolockfile.c xio-tcpwrap.c xio-ext2.c xio-tun.c
- XIOOBJS = $(XIOSRCS:.c=.o)
--UTLSRCS = error.c dalan.c procan.c procan-cdefs.c hostan.c fdname.c sysutils.c utils.c nestlex.c vsnprintf_r.c snprinterr.c @FILAN@ @SYCLS@ @SSLCLS@
-+UTLSRCS = error.c dalan.c procan.c procan-cdefs.c hostan.c fdname.c sysutils.c utils.c nestlex.c vsnprintf_r.c snprinterr.c @FILAN@ sycls.c @SSLCLS@
- UTLOBJS = $(UTLSRCS:.c=.o)
- CFILES = $(XIOSRCS) $(UTLSRCS) socat.c procan_main.c filan_main.c
- OFILES = $(CFILES:.c=.o)
-diff -ruNp socat.master/config.h.in socat.fixes/config.h.in
---- socat.master/config.h.in 2015-02-19 21:04:55.792758099 +0100
-+++ socat.fixes/config.h.in 2015-02-19 21:05:12.737668447 +0100
-@@ -447,6 +447,9 @@
- #undef HAVE_DTLSv1_client_method
- #undef HAVE_DTLSv1_server_method
-
-+/* Define if you have the EC_KEY type */
-+#undef HAVE_TYPE_EC_KEY
-+
- /* Define if you have the flock function */
- #undef HAVE_FLOCK
-
-diff -ruNp socat.master/configure.in socat.fixes/configure.in
---- socat.master/configure.in 2015-02-19 21:04:55.793758094 +0100
-+++ socat.fixes/configure.in 2015-02-19 21:05:12.738668442 +0100
-@@ -1451,6 +1451,18 @@ AC_CHECK_FUNC(TLSv1_2_server_method, AC_
- AC_CHECK_FUNC(DTLSv1_client_method, AC_DEFINE(HAVE_DTLSv1_client_method), AC_CHECK_LIB(crypt, DTLSv1_client_method, [LIBS=-lcrypt $LIBS]))
- AC_CHECK_FUNC(DTLSv1_server_method, AC_DEFINE(HAVE_DTLSv1_server_method), AC_CHECK_LIB(crypt, DTLSv1_server_method, [LIBS=-lcrypt $LIBS]))
-
-+AC_MSG_CHECKING(for type EC_KEY)
-+AC_CACHE_VAL(sc_cv_type_EC_TYPE,
-+[AC_TRY_COMPILE([#include <openssl/ec.h>
-+],[EC_KEY *s;],
-+[sc_cv_type_EC_KEY=yes],
-+[sc_cv_type_EC_KEY=no])])
-+if test $sc_cv_type_EC_KEY = yes; then
-+ AC_DEFINE(HAVE_TYPE_EC_KEY)
-+fi
-+AC_MSG_RESULT($sc_cv_type_EC_KEY)
-+
-+
- dnl Run time checks
-
-
-diff -ruNp socat.master/doc/socat.yo socat.fixes/doc/socat.yo
---- socat.master/doc/socat.yo 2015-02-19 21:04:55.797758072 +0100
-+++ socat.fixes/doc/socat.yo 2015-02-19 21:05:12.741668426 +0100
-@@ -2317,8 +2317,8 @@ label(OPTION_FORK)dit(bf(tt(fork)))
- After establishing a connection, handles its channel in a child process and
- keeps the parent process attempting to produce more connections, either by
- listening or by connecting in a loop (link(example)(EXAMPLE_OPTION_FORK)).nl()
-- SSL-CONNECT and SSL-LISTEN differ in when they actually fork off the child:
--SSL-LISTEN forks em(before) the SSL handshake, while SSL-CONNECT forks
-+ SSL-CONNECT and OPENSSL-LISTEN differ in when they actually fork off the child:
-+OPENSSL-LISTEN forks em(before) the SSL handshake, while SSL-CONNECT forks
- em(afterwards).
- RETRY and FOREVER options are not inherited by the child process.nl()
- On some operating systems (e.g. FreeBSD) this option does not work for
-@@ -3186,7 +3186,7 @@ should establish connections to host www
-
-
- label(EXAMPLE_ADDRESS_OPENSSL_CONNECT)
--dit(bf(tt(socat - SSL:server:4443,cafile=server.crt,cert=client.pem)))
-+dit(bf(tt(socat - OPENSSL:server:4443,cafile=server.crt,cert=client.pem)))
-
- is an OpenSSL client that tries to establish a secure connection to an SSL
- server. Option link(cafile)(OPTION_OPENSSL_CAFILE) specifies a file that
-@@ -3200,7 +3200,7 @@ The first address ('-') can be replaced
-
-
- label(EXAMPLE_ADDRESS_OPENSSL_LISTEN)
--dit(bf(tt(socat SSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.crt PIPE)))
-+dit(bf(tt(socat OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.crt PIPE)))
-
- is an OpenSSL server that accepts TCP connections, presents the certificate
- from the file server.pem and forces the client to present a certificate that is
-diff -ruNp socat.master/error.h socat.fixes/error.h
---- socat.master/error.h 2015-02-19 21:04:55.797758072 +0100
-+++ socat.fixes/error.h 2015-02-19 21:05:12.741668426 +0100
-@@ -229,8 +229,8 @@ struct diag_dgram {
- } ;
-
- extern sig_atomic_t diag_in_handler;
--extern int diag_immediate_msg;
--extern int diag_immediate_exit;
-+extern sig_atomic_t diag_immediate_msg;
-+extern sig_atomic_t diag_immediate_exit;
-
- extern void diag_set(char what, const char *arg);
- extern void diag_set_int(char what, int arg);
-diff -ruNp socat.master/sslcls.c socat.fixes/sslcls.c
---- socat.master/sslcls.c 2015-02-19 21:04:55.798758067 +0100
-+++ socat.fixes/sslcls.c 2015-02-19 21:05:12.741668426 +0100
-@@ -143,6 +143,7 @@ const SSL_METHOD *sycTLSv1_2_server_meth
- }
- #endif
-
-+#if HAVE_DTLSv1_client_method
- const SSL_METHOD *sycDTLSv1_client_method(void) {
- const SSL_METHOD *result;
- Debug("DTLSv1_client_method()");
-@@ -150,7 +151,9 @@ const SSL_METHOD *sycDTLSv1_client_metho
- Debug1("DTLSv1_client_method() -> %p", result);
- return result;
- }
-+#endif
-
-+#if HAVE_DTLSv1_server_method
- const SSL_METHOD *sycDTLSv1_server_method(void) {
- const SSL_METHOD *result;
- Debug("DTLSv1_server_method()");
-@@ -158,6 +161,7 @@ const SSL_METHOD *sycDTLSv1_server_metho
- Debug1("DTLSv1_server_method() -> %p", result);
- return result;
- }
-+#endif
-
- SSL_CTX *sycSSL_CTX_new(const SSL_METHOD *method) {
- SSL_CTX *result;
-diff -ruNp socat.master/sslcls.h socat.fixes/sslcls.h
---- socat.master/sslcls.h 2015-02-19 21:04:55.798758067 +0100
-+++ socat.fixes/sslcls.h 2015-02-19 21:05:12.741668426 +0100
-@@ -77,6 +77,12 @@ const char *sycSSL_COMP_get_name(const C
- #define sycSSLv23_server_method() SSLv23_server_method()
- #define sycTLSv1_client_method() TLSv1_client_method()
- #define sycTLSv1_server_method() TLSv1_server_method()
-+#define sycTLSv1_1_client_method() TLSv1_1_client_method()
-+#define sycTLSv1_1_server_method() TLSv1_1_server_method()
-+#define sycTLSv1_2_client_method() TLSv1_2_client_method()
-+#define sycTLSv1_2_server_method() TLSv1_2_server_method()
-+#define sycDTLSv1_client_method() DTLSv1_client_method()
-+#define sycDTLSv1_server_method() DTLSv1_server_method()
- #define sycSSL_CTX_new(m) SSL_CTX_new(m)
- #define sycSSL_new(c) SSL_new(c)
- #define sycSSL_CTX_load_verify_locations(c,f,p) SSL_CTX_load_verify_locations(c,f,p)
-diff -ruNp socat.master/sycls.c socat.fixes/sycls.c
---- socat.master/sycls.c 2015-02-19 21:04:55.799758062 +0100
-+++ socat.fixes/sycls.c 2015-02-19 21:05:12.742668421 +0100
-@@ -8,8 +8,6 @@
- #include "config.h"
- #include "xioconfig.h" /* what features are enabled */
-
--#if WITH_SYCLS
--
- #include "sysincludes.h"
-
- #include "mytypes.h"
-@@ -23,6 +21,8 @@
- #include "sycls.h"
-
-
-+#if WITH_SYCLS
-+
- mode_t Umask(mode_t mask) {
- mode_t result;
- int _errno;
-@@ -34,18 +34,27 @@ mode_t Umask(mode_t mask) {
- return result;
- }
-
-+#endif /* WITH_SYCLS */
-+
-+
- int Open(const char *pathname, int flags, mode_t mode) {
- int result, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug3("open(\"%s\", 0%o, 0%03o)", pathname, flags, mode);
-+#endif /* WITH_SYCLS */
- result = open(pathname, flags, mode);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Info4("open(\"%s\", 0%o, 0%03o) -> %d", pathname, flags, mode, result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-
-+#if WITH_SYCLS
-+
- int Creat(const char *pathname, mode_t mode) {
- int result, _errno;
- Debug2("creat(\"%s\", 0%03o)", pathname, mode);
-@@ -515,15 +524,21 @@ int Pipe(int filedes[2]) {
- return result;
- }
-
-+#endif /* WITH_SYCLS */
-+
- ssize_t Read(int fd, void *buf, size_t count) {
- ssize_t result;
- int _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug3("read(%d, %p, "F_Zu")", fd, buf, count);
-+#endif /* WITH_SYCLS */
- result = read(fd, buf, count);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("read -> "F_Zd, result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-@@ -532,11 +547,15 @@ ssize_t Write(int fd, const void *buf, s
- ssize_t result;
- int _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug3("write(%d, %p, "F_Zu")", fd, buf, count);
-+#endif /* WITH_SYCLS */
- result = write(fd, buf, count);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("write -> "F_Zd, result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-@@ -544,11 +563,15 @@ ssize_t Write(int fd, const void *buf, s
- int Fcntl(int fd, int cmd) {
- int result, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug2("fcntl(%d, %d)", fd, cmd);
-+#endif /* WITH_SYCLS */
- result = fcntl(fd, cmd);
- if (!diag_in_handler) diag_flush();
- _errno = errno;
-+#if WITH_SYCLS
- Debug1("fcntl() -> %d", result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-@@ -556,11 +579,15 @@ int Fcntl(int fd, int cmd) {
- int Fcntl_l(int fd, int cmd, long arg) {
- int result, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug3("fcntl(%d, %d, %ld)", fd, cmd, arg);
-+#endif /* WITH_SYCLS */
- result = fcntl(fd, cmd, arg);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("fcntl() -> %d", result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-@@ -568,16 +595,22 @@ int Fcntl_l(int fd, int cmd, long arg) {
- int Fcntl_lock(int fd, int cmd, struct flock *l) {
- int result, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug7("fcntl(%d, %d, {type=%hd,whence=%hd,start="F_off",len="F_off",pid="F_pid"})",
- fd, cmd, l->l_type, l->l_whence, l->l_start, l->l_len, l->l_pid);
-+#endif /* WITH_SYCLS */
- result = fcntl(fd, cmd, l);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("fcntl() -> %d", result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-
-+#if WITH_SYCLS
-+
- int Ftruncate(int fd, off_t length) {
- int retval, _errno;
- Debug2("ftruncate(%d, "F_off")", fd, length);
-@@ -600,15 +633,21 @@ int Ftruncate64(int fd, off64_t length)
- }
- #endif /* HAVE_FTRUNCATE64 */
-
-+#endif /* WITH_SYCLS */
-+
- #if HAVE_FLOCK
- int Flock(int fd, int operation) {
- int retval, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug2("flock(%d, %d)", fd, operation);
-+#endif /* WITH_SYCLS */
- retval = flock(fd, operation);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("flock() -> %d", retval);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-@@ -617,29 +656,41 @@ int Flock(int fd, int operation) {
- int Ioctl(int d, int request, void *argp) {
- int retval, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- if (argp > (void *)0x10000) { /* fuzzy...*/
- Debug4("ioctl(%d, 0x%x, %p{%lu})", d, request, argp, *(unsigned long *)argp);
- } else {
- Debug3("ioctl(%d, 0x%x, 0x%p)", d, request, argp);
- }
-+#endif /* WITH_SYCLS */
- retval = ioctl(d, request, argp);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("ioctl() -> %d", retval);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-
- int Ioctl_int(int d, int request, int arg) {
- int retval, _errno;
-+ if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug3("ioctl(%d, 0x%x, %d)", d, request, arg);
-+#endif /* WITH_SYCLS */
- retval = ioctl(d, request, arg);
- _errno = errno;
-+ if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("ioctl() -> %d", retval);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-
-+#if WITH_SYCLS
-+
- int Close(int fd) {
- int retval, _errno;
- Info1("close(%d)", fd);
-@@ -720,11 +771,14 @@ int Chmod(const char *path, mode_t mode)
- return retval;
- }
-
-+#endif /* WITH_SYCLS */
-+
- #if HAVE_POLL
- /* we only show the first struct pollfd; hope this is enough for most cases. */
- int Poll(struct pollfd *ufds, unsigned int nfds, int timeout) {
- int _errno, result;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- if (nfds == 4) {
- Debug10("poll({%d,0x%02hx,}{%d,0x%02hx,}{%d,0x%02hx,}{%d,0x%02hx,}, %u, %d)",
- ufds[0].fd, ufds[0].events, ufds[1].fd, ufds[1].events,
-@@ -733,15 +787,18 @@ int Poll(struct pollfd *ufds, unsigned i
- } else {
- Debug4("poll({%d,0x%02hx,}, , %u, %d)", ufds[0].fd, ufds[0].events, nfds, timeout);
- }
-+#endif /* WITH_SYCLS */
- result = poll(ufds, nfds, timeout);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- if (nfds == 4) {
- Debug5("poll(, {,,0x%02hx}{,,0x%02hx}{,,0x%02hx}{,,0x%02hx}) -> %d",
- ufds[0].revents, ufds[1].revents, ufds[2].revents, ufds[3].revents, result);
- } else {
- Debug2("poll(, {,,0x%02hx}) -> %d", ufds[0].revents, result);
- }
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-@@ -753,6 +810,7 @@ int Select(int n, fd_set *readfds, fd_se
- struct timeval *timeout) {
- int result, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- #if HAVE_FDS_BITS
- Debug7("select(%d, &0x%lx, &0x%lx, &0x%lx, %s%lu."F_tv_usec")",
- n, readfds?readfds->fds_bits[0]:0, writefds?writefds->fds_bits[0]:0,
-@@ -766,9 +824,11 @@ int Select(int n, fd_set *readfds, fd_se
- timeout?"&":"NULL/", timeout?timeout->tv_sec:0,
- timeout?timeout->tv_usec:0);
- #endif
-+#endif /* WITH_SYCLS */
- result = select(n, readfds, writefds, exceptfds, timeout);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- #if HAVE_FDS_BITS
- Debug7("select -> (, 0x%lx, 0x%lx, 0x%lx, %s%lu."F_tv_usec"), %d",
- readfds?readfds->fds_bits[0]:0, writefds?writefds->fds_bits[0]:0,
-@@ -782,11 +842,14 @@ int Select(int n, fd_set *readfds, fd_se
- timeout?"&":"NULL/", timeout?timeout->tv_sec:0,
- timeout?timeout->tv_usec:0, result);
- #endif
-+#endif /* WITH_SYCLS */
- errno = _errno;
-
- return result;
- }
-
-+#if WITH_SYCLS
-+
- pid_t Fork(void) {
- pid_t pid;
- int _errno;
-@@ -798,19 +861,27 @@ pid_t Fork(void) {
- return pid;
- }
-
-+#endif /* WITH_SYCLS */
-+
- pid_t Waitpid(pid_t pid, int *status, int options) {
- int _errno;
- pid_t retval;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug3("waitpid("F_pid", %p, %d)", pid, status, options);
-+#endif /* WITH_SYCLS */
- retval = waitpid(pid, status, options);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug2("waitpid(, {%d}, ) -> "F_pid, *status, retval);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-
-+#if WITH_SYCLS
-+
- sighandler_t Signal(int signum, sighandler_t handler) {
- int _errno;
- sighandler_t retval;
-@@ -891,18 +962,26 @@ int Execvp(const char *file, char *const
- return result;
- }
-
-+#endif /* WITH_SYCLS */
-+
- int System(const char *string) {
- int result, _errno;
-+#if WITH_SYCLS
- Debug1("system(\"%s\")", string);
-+#endif /* WITH_SYCLS */
- diag_immediate_exit = 1;
- result = system(string);
- diag_immediate_exit = 0;
- _errno = errno;
-+#if WITH_SYCLS
- Debug1("system() -> %d", result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
-
-+#if WITH_SYCLS
-+
- int Socketpair(int d, int type, int protocol, int sv[2]) {
- int result, _errno;
- Debug4("socketpair(%d, %d, %d, %p)", d, type, protocol, sv);
-@@ -940,12 +1019,15 @@ int Bind(int sockfd, struct sockaddr *my
- }
- #endif /* _WITH_SOCKET */
-
-+#endif /* WITH_SYCLS */
-+
- #if _WITH_SOCKET
- int Connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen) {
- int result, _errno;
- char infobuff[256];
-
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- /*sockaddr_info(serv_addr, infobuff, sizeof(infobuff));
- Debug3("connect(%d, %s, "F_Zd")", sockfd, infobuff, addrlen);*/
- #if 0
-@@ -966,15 +1048,20 @@ int Connect(int sockfd, const struct soc
- sockaddr_info(serv_addr, addrlen, infobuff, sizeof(infobuff)),
- addrlen);
- #endif
-+#endif /* WITH_SYCLS */
- result = connect(sockfd, serv_addr, addrlen);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("connect() -> %d", result);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
- #endif /* _WITH_SOCKET */
-
-+#if WITH_SYCLS
-+
- #if _WITH_SOCKET
- int Listen(int s, int backlog) {
- int result, _errno;
-@@ -987,6 +1074,8 @@ int Listen(int s, int backlog) {
- }
- #endif /* _WITH_SOCKET */
-
-+#endif /* WITH_SYCLS */
-+
- #if _WITH_SOCKET
- /* don't forget to handle EINTR when using Accept() ! */
- int Accept(int s, struct sockaddr *addr, socklen_t *addrlen) {
-@@ -998,10 +1087,13 @@ int Accept(int s, struct sockaddr *addr,
- if (diag_select(s+1, &accept_s, NULL, NULL, NULL) < 0) {
- return -1;
- }
-+#if WITH_SYCLS
- Debug3("accept(%d, %p, %p)", s, addr, addrlen);
-+#endif /* WITH_SYCLS */
- result = accept(s, addr, addrlen);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- if (result >= 0) {
- char infobuff[256];
- sockaddr_info(addr, *addrlen, infobuff, sizeof(infobuff));
-@@ -1012,11 +1104,14 @@ int Accept(int s, struct sockaddr *addr,
- } else {
- Debug1("accept(,,) -> %d", result);
- }
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return result;
- }
- #endif /* _WITH_SOCKET */
-
-+#if WITH_SYCLS
-+
- #if _WITH_SOCKET
- int Getsockname(int s, struct sockaddr *name, socklen_t *namelen) {
- int result, _errno;
-@@ -1085,15 +1180,21 @@ int Setsockopt(int s, int level, int opt
- }
- #endif /* _WITH_SOCKET */
-
-+#endif /* WITH_SYCLS */
-+
- #if _WITH_SOCKET
- int Recv(int s, void *buf, size_t len, int flags) {
- int retval, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug4("recv(%d, %p, "F_Zu", %d)", s, buf, len, flags);
-+#endif /* WITH_SYCLS */
- retval = recv(s, buf, len, flags);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("recv() -> %d", retval);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-@@ -1105,11 +1206,14 @@ int Recvfrom(int s, void *buf, size_t le
- int retval, _errno;
- char infobuff[256];
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug6("recvfrom(%d, %p, "F_Zu", %d, %p, "F_socklen")",
- s, buf, len, flags, from, *fromlen);
-+#endif /* WITH_SYCLS */
- retval = recvfrom(s, buf, len, flags, from, fromlen);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- if (from) {
- Debug4("recvfrom(,,,, {%d,%s}, "F_socklen") -> %d",
- from->sa_family,
-@@ -1118,6 +1222,7 @@ int Recvfrom(int s, void *buf, size_t le
- } else {
- Debug1("recvfrom(,,,, NULL, NULL) -> %d", retval);
- }
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-@@ -1127,6 +1232,7 @@ int Recvfrom(int s, void *buf, size_t le
- int Recvmsg(int s, struct msghdr *msgh, int flags) {
- int retval, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- char infobuff[256];
- #if defined(HAVE_STRUCT_MSGHDR_MSGCONTROL) && defined(HAVE_STRUCT_MSGHDR_MSGCONTROLLEN) && defined(HAVE_STRUCT_MSGHDR_MSGFLAGS)
- Debug10("recvmsg(%d, %p{%p,%u,%p,"F_Zu",%p,"F_Zu",%d}, %d)", s, msgh,
-@@ -1137,9 +1243,11 @@ int Recvmsg(int s, struct msghdr *msgh,
- msgh->msg_name, msgh->msg_namelen, msgh->msg_iov, msgh->msg_iovlen,
- flags);
- #endif
-+#endif /* WITH_SYCLS */
- retval = recvmsg(s, msgh, flags);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- #if defined(HAVE_STRUCT_MSGHDR_MSGCONTROLLEN)
- Debug5("recvmsg(, {%s,%u,,"F_Zu",,"F_Zu",}, ) -> %d",
- msgh->msg_name?sockaddr_info(msgh->msg_name, msgh->msg_namelen, infobuff, sizeof(infobuff)):"NULL",
-@@ -1151,6 +1259,7 @@ int Recvmsg(int s, struct msghdr *msgh,
- msgh->msg_namelen, msgh->msg_iovlen,
- retval);
- #endif
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-@@ -1160,12 +1269,16 @@ int Recvmsg(int s, struct msghdr *msgh,
- int Send(int s, const void *mesg, size_t len, int flags) {
- int retval, _errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug5("send(%d, %p[%08x...], "F_Zu", %d)",
- s, mesg, ntohl(*(unsigned long *)mesg), len, flags);
-+#endif /* WITH_SYCLS */
- retval = send(s, mesg, len, flags);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("send() -> %d", retval);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
-@@ -1178,18 +1291,24 @@ int Sendto(int s, const void *mesg, size
- char infobuff[256];
-
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- sockaddr_info(to, tolen, infobuff, sizeof(infobuff));
- Debug7("sendto(%d, %p[%08x...], "F_Zu", %d, {%s}, %d)",
- s, mesg, htonl(*(unsigned long *)mesg), len, flags, infobuff, tolen);
-+#endif /* WITH_SYCLS */
- retval = sendto(s, mesg, len, flags, to, tolen);
- _errno = errno;
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("sendto() -> %d", retval);
-+#endif /* WITH_SYCLS */
- errno = _errno;
- return retval;
- }
- #endif /* _WITH_SOCKET */
-
-+#if WITH_SYCLS
-+
- #if _WITH_SOCKET
- int Shutdown(int fd, int how) {
- int retval, _errno;
-@@ -1497,13 +1616,18 @@ int Atexit(void (*func)(void)) {
- return result;
- }
-
-+#endif /* WITH_SYCLS */
-
- void Exit(int status) {
- if (!diag_in_handler) diag_flush();
-+#if WITH_SYCLS
- Debug1("exit(%d)", status);
-+#endif /* WITH_SYCLS */
- exit(status);
- }
-
-+#if WITH_SYCLS
-+
- void Abort(void) {
- Debug("abort()");
- abort();
-diff -ruNp socat.master/sycls.h socat.fixes/sycls.h
---- socat.master/sycls.h 2015-02-19 21:04:55.800758057 +0100
-+++ socat.fixes/sycls.h 2015-02-19 21:05:12.742668421 +0100
-@@ -12,7 +12,9 @@ struct flock;
- struct addrinfo;
-
- mode_t Umask(mode_t mask);
-+#endif /* WITH_SYCLS */
- int Open(const char *pathname, int flags, mode_t mode);
-+#if WITH_SYCLS
- int Creat(const char *pathname, mode_t mode);
- off_t Lseek(int fildes, off_t offset, int whence);
- #if HAVE_LSEEK64
-@@ -54,18 +56,22 @@ int Lstat64(const char *file_name, struc
- int Dup(int oldfd);
- int Dup2(int oldfd, int newfd);
- int Pipe(int filedes[2]);
-+#endif /* WITH_SYCLS */
- ssize_t Read(int fd, void *buf, size_t count);
- ssize_t Write(int fd, const void *buf, size_t count);
- int Fcntl(int fd, int cmd);
- int Fcntl_l(int fd, int cmd, long arg);
- int Fcntl_lock(int fd, int cmd, struct flock *l);
-+#if WITH_SYCLS
- int Ftruncate(int fd, off_t length);
- #if HAVE_FTRUNCATE64
- int Ftruncate64(int fd, off64_t length);
- #endif /* HAVE_FTRUNCATE64 */
-+#endif /* WITH_SYCLS */
- int Flock(int fd, int operation);
- int Ioctl(int d, int request, void *argp);
- int Ioctl_int(int d, int request, int arg);
-+#if WITH_SYCLS
- int Close(int fd);
- int Fchown(int fd, uid_t owner, gid_t group);
- int Fchmod(int fd, mode_t mode);
-@@ -74,11 +80,15 @@ int Symlink(const char *oldpath, const c
- int Readlink(const char *path, char *buf, size_t bufsiz);
- int Chown(const char *path, uid_t owner, gid_t group);
- int Chmod(const char *path, mode_t mode);
-+#endif /* WITH_SYCLS */
- int Poll(struct pollfd *ufds, unsigned int nfds, int timeout);
- int Select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- struct timeval *timeout);
-+#if WITH_SYCLS
- pid_t Fork(void);
-+#endif /* WITH_SYCLS */
- pid_t Waitpid(pid_t pid, int *status, int options);
-+#if WITH_SYCLS
- #ifndef HAVE_TYPE_SIGHANDLER
- typedef RETSIGTYPE (*sighandler_t)(int);
- #endif
-@@ -90,18 +100,27 @@ unsigned int Alarm(unsigned int seconds)
- int Kill(pid_t pid, int sig);
- int Link(const char *oldpath, const char *newpath);
- int Execvp(const char *file, char *const argv[]);
-+#endif /* WITH_SYCLS */
- int System(const char *string);
-+#if WITH_SYCLS
- int Socketpair(int d, int type, int protocol, int sv[2]);
-+#endif /* WITH_SYCLS */
- #if _WITH_SOCKET
-+#if WITH_SYCLS
- int Socket(int domain, int type, int protocol);
- int Bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);
-+#endif /* WITH_SYCLS */
- int Connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);
-+#if WITH_SYCLS
- int Listen(int s, int backlog);
-+#endif /* WITH_SYCLS */
- int Accept(int s, struct sockaddr *addr, socklen_t *addrlen);
-+#if WITH_SYCLS
- int Getsockname(int s, struct sockaddr *name, socklen_t *namelen);
- int Getpeername(int s, struct sockaddr *name, socklen_t *namelen);
- int Getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen);
- int Setsockopt(int s, int level, int optname, const void *optval, int optlen);
-+#endif /* WITH_SYCLS */
- int Recv(int s, void *buf, size_t len, int flags);
- int Recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from,
- socklen_t *fromlen);
-@@ -109,8 +128,11 @@ int Recvmsg(int s, struct msghdr *msg, i
- int Send(int s, const void *mesg, size_t len, int flags);
- int Sendto(int s, const void *msg, size_t len, int flags,
- const struct sockaddr *to, socklen_t tolen);
-+#if WITH_SYCLS
- int Shutdown(int fd, int how);
-+#endif /* WITH_SYCLS */
- #endif /* _WITH_SOCKET */
-+#if WITH_SYCLS
- unsigned int Sleep(unsigned int seconds);
- void Usleep(unsigned long usec);
- unsigned int Nanosleep(const struct timespec *req, struct timespec *rem);
-@@ -136,7 +158,9 @@ int Unlockpt(int fd);
- int Gethostname(char *name, size_t len);
- int Uname(struct utsname *buf);
- int Atexit(void (*func)(void));
-+#endif /* WITH_SYCLS */
- void Exit(int status);
-+#if WITH_SYCLS
- void Abort(void);
- int Mkstemp(char *template);
- int Setenv(const char *name, const char *value, int overwrite);
-@@ -153,7 +177,6 @@ void Add_history(const char *string);
- #else /* !WITH_SYCLS */
-
- #define Umask(m) umask(m)
--#define Open(p,f,m) open(p,f,m)
- #define Creat(p,m) creat(p,m)
- #define Lseek(f,o,w) lseek(f,o,w)
- #define Lseek64(f,o,w) lseek64(f,o,w)
-@@ -191,16 +214,8 @@ void Add_history(const char *string);
- #define Dup(o) dup(o)
- #define Dup2(o,n) dup2(o,n)
- #define Pipe(f) pipe(f)
--#define Read(f,b,c) read(f,b,c)
--#define Write(f,b,c) write(f,b,c)
--#define Fcntl(f,c) fcntl(f,c)
--#define Fcntl_l(f,c,a) fcntl(f,c,a)
--#define Fcntl_lock(f,c,l) fcntl(f,c,l)
- #define Ftruncate(f,l) ftruncate(f,l)
- #define Ftruncate64(f,l) ftruncate64(f,l)
--#define Flock(f,o) flock(f,o)
--#define Ioctl(d,r,a) ioctl(d,r,a)
--#define Ioctl_int(d,r,a) ioctl(d,r,a)
- #define Close(f) close(f)
- #define Fchown(f,o,g) fchown(f,o,g)
- #define Fchmod(f,m) fchmod(f,m)
-@@ -209,10 +224,7 @@ void Add_history(const char *string);
- #define Readlink(p,b,s) readlink(p,b,s)
- #define Chown(p,o,g) chown(p,o,g)
- #define Chmod(p,m) chmod(p,m)
--#define Poll(u, n, t) poll(u, n, t)
--#define Select(n,r,w,e,t) select(n,r,w,e,t)
- #define Fork() fork()
--#define Waitpid(p,s,o) waitpid(p,s,o)
- #define Signal(s,h) signal(s,h)
- #define Sigaction(s,a,o) sigaction(s,a,o)
- #define Sigprocmask(h,s,o) sigprocmask(h,s,o)
-@@ -220,22 +232,14 @@ void Add_history(const char *string);
- #define Kill(p,s) kill(p,s)
- #define Link(o,n) link(o,n)
- #define Execvp(f,a) execvp(f,a)
--#define System(s) system(s)
- #define Socketpair(d,t,p,s) socketpair(d,t,p,s)
- #define Socket(d,t,p) socket(d,t,p)
- #define Bind(s,m,a) bind(s,m,a)
--#define Connect(s,a,l) connect(s,a,l)
- #define Listen(s,b) listen(s,b)
--#define Accept(s,a,l) accept(s,a,l)
- #define Getsockname(s,n,l) getsockname(s,n,l)
- #define Getpeername(s,n,l) getpeername(s,n,l)
- #define Getsockopt(s,d,n,v,l) getsockopt(s,d,n,v,l)
- #define Setsockopt(s,d,n,v,l) setsockopt(s,d,n,v,l)
--#define Recv(s,b,l,f) recv(s,b,l,f)
--#define Recvfrom(s,b,bl,f,fr,fl) recvfrom(s,b,bl,f,fr,fl)
--#define Recvmsg(s,m,f) recvmsg(s,m,f)
--#define Send(s,m,l,f) send(s,m,l,f)
--#define Sendto(s,b,bl,f,t,tl) sendto(s,b,bl,f,t,tl)
- #define Shutdown(f,h) shutdown(f,h)
- #define Sleep(s) sleep(s)
- #define Usleep(u) usleep(u)
-@@ -259,7 +263,6 @@ void Add_history(const char *string);
- #define Gethostname(n,l) gethostname(n,l)
- #define Uname(b) uname(b)
- #define Atexit(f) atexit(f)
--#define Exit(s) exit(s)
- #define Abort() abort()
- #define Mkstemp(t) mkstemp(t)
- #define Setenv(n,v,o) setenv(n,v,o)
-diff -ruNp socat.master/test.sh socat.fixes/test.sh
---- socat.master/test.sh 2015-02-19 21:04:55.805758030 +0100
-+++ socat.fixes/test.sh 2015-02-19 21:05:12.746668400 +0100
-@@ -2272,6 +2272,16 @@ gentestdsacert () {
- cat $name-dsa.pem $name-dh.pem $name.key $name.crt >$name.pem
- }
-
-+# generate a test EC key and certificate
-+gentesteccert () {
-+ local name="$1"
-+ if [ -s $name.key -a -s $name.crt -a -s $name.pem ]; then return; fi
-+ openssl ecparam -name secp521r1 -out $name-ec.pem >/dev/null 2>&1
-+ chmod 0400 $name-ec.pem
-+ openssl req -newkey ec:$name-ec.pem -keyout $name.key -nodes -x509 -config $TESTCERT_CONF -out $name.crt -days 3653 >/dev/null 2>&1
-+ cat $name-ec.pem $name.key $name.crt >$name.pem
-+}
-+
- gentestcert6 () {
- local name="$1"
- if [ -s $name.key -a -s $name.crt -a -s $name.pem ]; then return; fi
-@@ -12184,6 +12194,62 @@ else
- numFAIL=$((numFAIL+1))
- listFAIL="$listFAIL $N"
- fi
-+fi # NUMCOND
-+ ;;
-+esac
-+PORT=$((PORT+1))
-+N=$((N+1))
-+
-+
-+# OpenSSL ECDHE ciphers were introduced in socat 1.7.3.0 but in the same release
-+# they were broken by a porting effort. This test checks if OpenSSL ECDHE works
-+NAME=OPENSSL_ECDHE
-+case "$TESTS" in
-+*%$N%*|*%functions%*|*%bugs%*|*%openssl%*|*%socket%*|*%$NAME%*)
-+TEST="$NAME: test OpenSSL ECDHE"
-+# generate a ECDHE key, start an OpenSSL server, connect with a client and try to
-+# pass data
-+if ! eval $NUMCOND; then :; else
-+tf="$td/test$N.stdout"
-+te="$td/test$N.stderr"
-+tdiff="$td/test$N.diff"
-+da="test$N $(date) $RANDOM"
-+TESTSRV=./testsrvec
-+gentesteccert $TESTSRV
-+CMD0="$TRACE $SOCAT $opts OPENSSL-LISTEN:$PORT,reuseaddr,cert=testsrvec.crt,key=$TESTSRV.pem,verify=0 PIPE"
-+CMD1="$TRACE $SOCAT $opts - OPENSSL-CONNECT:$LOCALHOST:$PORT,cipher=ECDHE-ECDSA-AES256-GCM-SHA384,cafile=$TESTSRV.crt"
-+printf "test $F_n $TEST... " $N
-+$CMD0 >/dev/null 2>"${te}0" &
-+pid0=$!
-+waittcp4port $PORT 1
-+echo "$da" |$CMD1 >"${tf}1" 2>"${te}1"
-+rc1=$?
-+kill $pid0 2>/dev/null; wait
-+if [ $rc1 -ne 0 ]; then
-+ $PRINTF "$FAILED\n"
-+ echo "failure symptom: client error" >&2
-+ echo "server and stderr:" >&2
-+ echo "$CMD0 &"
-+ cat "${te}0"
-+ echo "client and stderr:" >&2
-+ echo "$CMD1"
-+ cat "${te}1"
-+ numFAIL=$((numFAIL+1))
-+ listFAIL="$listFAIL $N"
-+elif echo "$da" |diff - "${tf}1" >"$tdiff"; then
-+ $PRINTF "$OK\n"
-+ numOK=$((numOK+1))
-+else
-+ $PRINTF "$FAILED\n"
-+ echo "server and stderr:" >&2
-+ echo "$CMD1"
-+ cat "${te}1"
-+ echo "client and stderr:" >&2
-+ echo "$CMD0 &"
-+ cat "${te}0"
-+ numFAIL=$((numFAIL+1))
-+ listFAIL="$listFAIL $N"
-+fi
- fi # NUMCOND
- ;;
- esac
-diff -ruNp socat.master/xio-openssl.c socat.fixes/xio-openssl.c
---- socat.master/xio-openssl.c 2015-02-19 21:04:55.806758025 +0100
-+++ socat.fixes/xio-openssl.c 2015-02-19 21:05:12.747668394 +0100
-@@ -960,7 +960,7 @@ int
- }
- }
-
--#if defined(EC_KEY) /* not on Openindiana 5.11 */
-+#if HAVE_TYPE_EC_KEY /* not on Openindiana 5.11 */
- {
- /* see http://openssl.6102.n7.nabble.com/Problem-with-cipher-suite-ECDHE-ECDSA-AES256-SHA384-td42229.html */
- int nid;
-@@ -982,7 +982,7 @@ int
-
- SSL_CTX_set_tmp_ecdh(*ctx, ecdh);
- }
--#endif /* !defined(EC_KEY) */
-+#endif /* HAVE_TYPE_EC_KEY */
-
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- if (opt_compress) {
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/socat.git/commitdiff/ebffafa95f505e0d54798c196cf7121ffd8843f7
More information about the pld-cvs-commit
mailing list