pkgsrc/net/socat/Makefile

43 lines
1.1 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.43 2020/02/09 13:19:10 jdolecek Exp $
socat: Update to 1.7.3.3 pkgsrc changes: - Adjust test related definition - Remove no longer needed patches Changes: 1.7.3.3: -------- Corrections: Makefile.in did not specify dependencies of filan on vsnprintf_r.o and snprinterr.o Added definition of FILAN_OBJS Thanks to Craig Leres, Clayton Shotwell, and Chris Packham for providing patches. configure option --enable-msglevel did not work with numbers The autoconf mechanism for determining SHIFT_OFFSET did not work when cross compiling. Thanks to Max Freisinger from Gentoo for sending a patch. Socat still depended on obsolete gethostbyname() function, thus compiling with MUSL libc failed. Problem reported by Kennedy33. The async signal safe diagnostic system used FDs 3 and 4 internally, so use of appropriate fdin or fdout led to failures. Test: DIAG_FDIN Problem reported by Onur Sentürk. The socket based mechanism for passing messages and signal information from signal handler to process could reach and kill the wrong process. Introduces functions diag_sock_pair(), diag_fork() Thanks to Darren Zhao for analysing and reporting this problem. Option ipv6-join-group did not work because it was applied in the wrong phase Test: UDP6MULTICAST_UNIDIR Thanks to Angus Gratton for sending a patch. Setting ispeed and ospeed failed for some serial devices because the two settings were applied with two different get/set cycles, Thanks to Alexandre Fenyo for providing an initial patch. However, the actual fix is part of a conceptual change of the termios module that aims for applying all changes in a single tcsetaddr call. Fixes FreeBSD Bug 198441 Termios options TAB0,TAB1,TAB2,TAB3, and XTABS did not have an effect. Thanks to Alan Walters for reporting this bug. Substituted cumbersom ISPEED_OFFSET mechanism for cfsetispeed() calls With TCP6-LISTEN and the other passive IPv6 addresses the range option just failed: due to a bug in the syntax parser and two more bugs in the xiocheckrange_ip6() function. The syntax has now been changed from "[::1/128]" to "[::1]/128"! Thanks Leah Neukirchen for sending an initial fix. For name resolution Socat only checked the first character of the host name to decide if it is an IPv4 address. This was not RFC conform. This fix removes the possibility for use of IPv4 addresses with IPv6, e.g. TCP6:127.0.0.1:80 Thanks to Nicolas Fournil for reporting this issue. Print a useful error message when single character options appear to be merged in Socat invocation Test: SOCCAT_OPT_HINT Fixed some docu typos. Thanks to Travis Wellman, Thomas <tjps636>, Dan Kenigsberg, Julian Zinn, and Simon Matter Porting: OpenSSL functions TLS1_client_method() and similar are deprecated. Socat now uses recommended TLS_client_method(). The old functions and dependend option openssl-method can still be used when configuring socat with --enable-openssl-method Shell scripts in socat distribution are now headed with: #! /usr/bin/env bash to make them better portable to systems without /bin/bash Thanks to Maya Rashish for sending a patch RES_AAONLY, RES_PRIMARY are deprecated. You can still enable them with configure option --enable-res-deprecated. New versions of OpenSSL preset SSL_MODE_AUTO_RETRY which may hang socat. Solution: clear SSL_MODE_AUTO_RETRY when it is set. Renamed configure.in to configure.ac and set an appropriate symlink for older environments. Related Gentoo bug 426262: Warning on configure.in Thanks to Francesco Turco for reporting that warning. Fixed new IPv6 range code for platforms without s6_addr32 component. Testing: test.sh: Show a warning when phase-1 (insecure phase) of a security test fails OpenSSL tests failed on actual Linux distributions. Measures: Increased key lengths from 768 to 1024 bits Added test.sh option -C to delete temp certs from prevsious runs Provide DH-parameter in certificate in PEM OpenSSL s_server option -verify 0 must be omitted OpenSSL authentication method aNULL no longer works Failure of cipher aNULL is not a failure Failure of methods SSL3 and SSL23 is desired test.sh depended on ifconfig and netstat utilities which are no longer available in some distributions. test.sh now checks for and prefers ip and ss. Thanks to Ruediger Meier for reporting this problem. More corrections to test.sh: Language settings could still influence test results netstat was still required Suppress usleep deprecated messag Force use of IPv4 with some certificates Set timeout for UDPxMAXCHILDREN tests Git: Added missing Config/Makefile.DragonFly-2-8-2, Config/config.DragonFly-2-8-2.h Removed testcert.conf (to be generated by test.sh) Cosmetics: Simplified handling of missing termios defines. New features: Permit combined -d options as -dd etc.
2019-04-07 21:26:56 +02:00
DISTNAME= socat-1.7.3.3
PKGREVISION= 2
CATEGORIES= net
MASTER_SITES= http://www.dest-unreach.org/socat/download/
Update net/socat to socat-1.7.3.2 pkgsrc changes: - Take MAINTAINERship Changes: 1.7.3.2 ------- corrections: - SIGSEGV and other signals could lead to a 100% CPU loop - Failing name resolution could lead to SIGSEGV Thanks to Max for reporting this issue. - Include <stddef.h> for ptrdiff_t Thanks to Jeroen Roovers for reporting this issue. - Building with --disable-sycls failed due to missing sslcls.h defines Socat hung when configured with --disable-sycls. - Some minor corrections with includes etc. - Option so-reuseport did not work. Thanks to Some Raghavendra Prabhu for sending a patch. - Programs invoked with EXEC, nofork, and -u or -U had stdin and stdout incorrectly assigned Test: EXEC_NOFORK_UNIDIR Thanks to David Reiss for reporting this problem. - Socat exited with status 0 even when a program invoked with SYSTEM or EXEC failed. Tests: SYSTEM_RC EXEC_RC Issue reported by Felix Winkelmann. - AddressSanitizer reported a few buffer overflows (false positives). Nevertheless fixed Socat source. Issue reported by Hanno Böck. - Socat did not use option ipv6-join-group. Test: USE_IPV6_JOIN_GROUP Thanks to Linux Lüssing for sending a patch. - UDP-LISTEN did not honor the max-children option. Test: UDP4MAXCHILDREN UDP6MAXCHILDREN Thanks to Leander Berwers for reporting this issue. - Options so-rcvtimeo and so-sndtimeo do not work with poll()/select() and therefore were useless. Thanks to Steve Borenstein for reporting this issue. - Option dhparam was documented as dhparams. Added the alias name dhparams to fix this. Thanks to Alexander Neumann for sending a patch. - Options shut-down and shut-close did not work. Thanks to Stefan Schimanski for providing a patch. - There was a bug in printing readline log message caused by a misleading indentation. Thanks to Paul Wouters for reporting. - The internal vsnprintf_r function looped or crashed on size parameter with hexadecimal output. - Ignore exit code of child process when it was killed by master due to EOF - Corrected byte order on read of IPV6_TCLASS value from ancillary message - Fixed type of the bool element in options. This had bug caused failures e.g. of ignoreeof on big-endian systems when bool was not based on int. - On systems with predefined bool type whose size differs from int some IPv6 and TCP options (per setsockopt()) failed. - Length of integral data in ancillary messages varies (TOS: 1 byte, TTL: 4 bytes), the old implementation failed for TTL on big-endian hosts. - Fixed an issue in options processing: TUN and DNS flags had failed on big-endian systems and the NO- forms had probable never worked. porting: - 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. - Socat failed to compile on platforms with OpenSSL without DTLSv1_client_method or DTLSv1_server_method. Thanks to Simon Matter for sending a patch. - NuttX OS headers do not provide struct ip, thus socat did not compile. Made struct ip subject to configure. Thanks to SP for reporting this issue. - Socat failed to compile with OpenSSL version 1.0.2d where SSLv3_server_method and SSLv3_client_method are no longer defined. Thanks to Mischa ter Smitten for reporting this issue and providing a patch. - 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. - Changes to make socat compile with OpenSSL 1.1. Thanks to Sebastian Andrzej Siewior e.a. from the Debian team for providing the base patch. Debian Bug#828550 - Make Socat compatible with BoringSSL. Thanks to Matt Braithwaite for providing a patch. - OpenSSL: Use RAND_status to determine PRNG state Thanks to Adam Langley for providing a patch - AIX-7 uses an extended O_ACCMODE that does not fit socat's internal requirements. Thanks to Garrick Trowsdale for providing a patch - LibreSSL support: check for OPENSSL_NO_COMP Thanks to Bernard Spil for providing a patch testing: - socks4echo.sh and socks4a-echo.sh hung with new bash with read -n - test.sh: stderr; option -v (verbose); FDOUT_ERROR description - improved proxy.sh - it now also takes hostnames - A few corrections in test.sh - DTLS1 test hangs on some distributions. Test is now only performed with OpenSSL 1.0.2 or higher. - More corrections to test.sh that reveal a mistake with IPV6_TCLASS docu: - Corrected source of socat man page to correctly show man references like socket(2); removed obseolete entries from See Also - Docu and some comments mentioned addresses SSL-LISTEN and SSL-CONNECT that do not exist (OPENSSL-LISTEN, SSL-L; and OPENNSSL-CONNECT, SSL are correct). Thanks to Zhigang Wang for reporting this issue. - Fixed a couple of English spelling and grammar mistakes. Thanks to Jakub Wild for sending the patches. - NOEXPAND() was not resolved 2 times. - More minor docu corrections legal: - Added contributors to copyright notices. Suggested by Matt Braithwaite.
2017-02-05 21:40:32 +01:00
MAINTAINER= leot@NetBSD.org
HOMEPAGE= http://www.dest-unreach.org/socat/
COMMENT= "netcat++" (extended design, new implementation)
Update socat to 1.7.1.1. Add license. ChangeLog: V 1.7.1.1: corrections: corrected the "fixed possible SIGSEGV" fix because SIGSEGV still might occur under those conditions. Thanks to Toni Mattila for first reporting this problem. ftruncate64 cut its argument to 32 bits on systems with 32 bit long type socat crashed on systems without setenv() (esp. SunOS up to Solaris 9); thanks to Todd Stansell for reporting this bug with unidirectional EXEC and SYSTEM a close() operation was performed on a random number which could result in hanging e.a. fixed a compile problem caused by size_t/socklen_t mismatch on 64bit systems docu mentioned option so-bindtodev but correct name is so-bindtodevice. Thanks to Jim Zimmerman for reporting. docu changes: added environment variables example to doc/socat-multicast.html V 1.7.1.0: new features: address options shut-none, shut-down, and shut-close allow to control socat's half close behaviour with address option shut-null socat sends an empty packet to the peer to indicate EOF option null-eof changes the behaviour of sockets that receive an empty packet to see EOF instead of ignoring it introduced option names substuser-early and su-e, currently equivalent to option substuser (thanks to Mike Perry for providing the patch) corrections: fixed some typos and improved some comments V 1.7.0.1: corrections: fixed possible SIGSEGV in listening addresses when a new connection was reset by peer before the socket addresses could be retrieved. Thanks to Mike Perry for sending a patch. fixed a bug, introduced with version 1.7.0.0, that let client connections with option connect-timeout fail when the connections succeeded. Thanks to Bruno De Fraine for reporting this bug. option end-close "did not apply" to addresses PTY, SOCKET-CONNECT, and most UNIX-* and ABSTRACT-* half close of EXEC and SYSTEM addresses did not work for pipes and sometimes socketpair help displayed for some option a wrong type under some circumstances shutdown was called multiple times for the same fd
2009-07-19 14:08:12 +02:00
LICENSE= gnu-gpl-v2
GNU_CONFIGURE= YES
socat: Update to 1.7.3.3 pkgsrc changes: - Adjust test related definition - Remove no longer needed patches Changes: 1.7.3.3: -------- Corrections: Makefile.in did not specify dependencies of filan on vsnprintf_r.o and snprinterr.o Added definition of FILAN_OBJS Thanks to Craig Leres, Clayton Shotwell, and Chris Packham for providing patches. configure option --enable-msglevel did not work with numbers The autoconf mechanism for determining SHIFT_OFFSET did not work when cross compiling. Thanks to Max Freisinger from Gentoo for sending a patch. Socat still depended on obsolete gethostbyname() function, thus compiling with MUSL libc failed. Problem reported by Kennedy33. The async signal safe diagnostic system used FDs 3 and 4 internally, so use of appropriate fdin or fdout led to failures. Test: DIAG_FDIN Problem reported by Onur Sentürk. The socket based mechanism for passing messages and signal information from signal handler to process could reach and kill the wrong process. Introduces functions diag_sock_pair(), diag_fork() Thanks to Darren Zhao for analysing and reporting this problem. Option ipv6-join-group did not work because it was applied in the wrong phase Test: UDP6MULTICAST_UNIDIR Thanks to Angus Gratton for sending a patch. Setting ispeed and ospeed failed for some serial devices because the two settings were applied with two different get/set cycles, Thanks to Alexandre Fenyo for providing an initial patch. However, the actual fix is part of a conceptual change of the termios module that aims for applying all changes in a single tcsetaddr call. Fixes FreeBSD Bug 198441 Termios options TAB0,TAB1,TAB2,TAB3, and XTABS did not have an effect. Thanks to Alan Walters for reporting this bug. Substituted cumbersom ISPEED_OFFSET mechanism for cfsetispeed() calls With TCP6-LISTEN and the other passive IPv6 addresses the range option just failed: due to a bug in the syntax parser and two more bugs in the xiocheckrange_ip6() function. The syntax has now been changed from "[::1/128]" to "[::1]/128"! Thanks Leah Neukirchen for sending an initial fix. For name resolution Socat only checked the first character of the host name to decide if it is an IPv4 address. This was not RFC conform. This fix removes the possibility for use of IPv4 addresses with IPv6, e.g. TCP6:127.0.0.1:80 Thanks to Nicolas Fournil for reporting this issue. Print a useful error message when single character options appear to be merged in Socat invocation Test: SOCCAT_OPT_HINT Fixed some docu typos. Thanks to Travis Wellman, Thomas <tjps636>, Dan Kenigsberg, Julian Zinn, and Simon Matter Porting: OpenSSL functions TLS1_client_method() and similar are deprecated. Socat now uses recommended TLS_client_method(). The old functions and dependend option openssl-method can still be used when configuring socat with --enable-openssl-method Shell scripts in socat distribution are now headed with: #! /usr/bin/env bash to make them better portable to systems without /bin/bash Thanks to Maya Rashish for sending a patch RES_AAONLY, RES_PRIMARY are deprecated. You can still enable them with configure option --enable-res-deprecated. New versions of OpenSSL preset SSL_MODE_AUTO_RETRY which may hang socat. Solution: clear SSL_MODE_AUTO_RETRY when it is set. Renamed configure.in to configure.ac and set an appropriate symlink for older environments. Related Gentoo bug 426262: Warning on configure.in Thanks to Francesco Turco for reporting that warning. Fixed new IPv6 range code for platforms without s6_addr32 component. Testing: test.sh: Show a warning when phase-1 (insecure phase) of a security test fails OpenSSL tests failed on actual Linux distributions. Measures: Increased key lengths from 768 to 1024 bits Added test.sh option -C to delete temp certs from prevsious runs Provide DH-parameter in certificate in PEM OpenSSL s_server option -verify 0 must be omitted OpenSSL authentication method aNULL no longer works Failure of cipher aNULL is not a failure Failure of methods SSL3 and SSL23 is desired test.sh depended on ifconfig and netstat utilities which are no longer available in some distributions. test.sh now checks for and prefers ip and ss. Thanks to Ruediger Meier for reporting this problem. More corrections to test.sh: Language settings could still influence test results netstat was still required Suppress usleep deprecated messag Force use of IPv4 with some certificates Set timeout for UDPxMAXCHILDREN tests Git: Added missing Config/Makefile.DragonFly-2-8-2, Config/config.DragonFly-2-8-2.h Removed testcert.conf (to be generated by test.sh) Cosmetics: Simplified handling of missing termios defines. New features: Permit combined -d options as -dd etc.
2019-04-07 21:26:56 +02:00
USE_TOOLS+= bash:test
REPLACE_BASH+= *.sh
socat: Update to 1.7.3.3 pkgsrc changes: - Adjust test related definition - Remove no longer needed patches Changes: 1.7.3.3: -------- Corrections: Makefile.in did not specify dependencies of filan on vsnprintf_r.o and snprinterr.o Added definition of FILAN_OBJS Thanks to Craig Leres, Clayton Shotwell, and Chris Packham for providing patches. configure option --enable-msglevel did not work with numbers The autoconf mechanism for determining SHIFT_OFFSET did not work when cross compiling. Thanks to Max Freisinger from Gentoo for sending a patch. Socat still depended on obsolete gethostbyname() function, thus compiling with MUSL libc failed. Problem reported by Kennedy33. The async signal safe diagnostic system used FDs 3 and 4 internally, so use of appropriate fdin or fdout led to failures. Test: DIAG_FDIN Problem reported by Onur Sentürk. The socket based mechanism for passing messages and signal information from signal handler to process could reach and kill the wrong process. Introduces functions diag_sock_pair(), diag_fork() Thanks to Darren Zhao for analysing and reporting this problem. Option ipv6-join-group did not work because it was applied in the wrong phase Test: UDP6MULTICAST_UNIDIR Thanks to Angus Gratton for sending a patch. Setting ispeed and ospeed failed for some serial devices because the two settings were applied with two different get/set cycles, Thanks to Alexandre Fenyo for providing an initial patch. However, the actual fix is part of a conceptual change of the termios module that aims for applying all changes in a single tcsetaddr call. Fixes FreeBSD Bug 198441 Termios options TAB0,TAB1,TAB2,TAB3, and XTABS did not have an effect. Thanks to Alan Walters for reporting this bug. Substituted cumbersom ISPEED_OFFSET mechanism for cfsetispeed() calls With TCP6-LISTEN and the other passive IPv6 addresses the range option just failed: due to a bug in the syntax parser and two more bugs in the xiocheckrange_ip6() function. The syntax has now been changed from "[::1/128]" to "[::1]/128"! Thanks Leah Neukirchen for sending an initial fix. For name resolution Socat only checked the first character of the host name to decide if it is an IPv4 address. This was not RFC conform. This fix removes the possibility for use of IPv4 addresses with IPv6, e.g. TCP6:127.0.0.1:80 Thanks to Nicolas Fournil for reporting this issue. Print a useful error message when single character options appear to be merged in Socat invocation Test: SOCCAT_OPT_HINT Fixed some docu typos. Thanks to Travis Wellman, Thomas <tjps636>, Dan Kenigsberg, Julian Zinn, and Simon Matter Porting: OpenSSL functions TLS1_client_method() and similar are deprecated. Socat now uses recommended TLS_client_method(). The old functions and dependend option openssl-method can still be used when configuring socat with --enable-openssl-method Shell scripts in socat distribution are now headed with: #! /usr/bin/env bash to make them better portable to systems without /bin/bash Thanks to Maya Rashish for sending a patch RES_AAONLY, RES_PRIMARY are deprecated. You can still enable them with configure option --enable-res-deprecated. New versions of OpenSSL preset SSL_MODE_AUTO_RETRY which may hang socat. Solution: clear SSL_MODE_AUTO_RETRY when it is set. Renamed configure.in to configure.ac and set an appropriate symlink for older environments. Related Gentoo bug 426262: Warning on configure.in Thanks to Francesco Turco for reporting that warning. Fixed new IPv6 range code for platforms without s6_addr32 component. Testing: test.sh: Show a warning when phase-1 (insecure phase) of a security test fails OpenSSL tests failed on actual Linux distributions. Measures: Increased key lengths from 768 to 1024 bits Added test.sh option -C to delete temp certs from prevsious runs Provide DH-parameter in certificate in PEM OpenSSL s_server option -verify 0 must be omitted OpenSSL authentication method aNULL no longer works Failure of cipher aNULL is not a failure Failure of methods SSL3 and SSL23 is desired test.sh depended on ifconfig and netstat utilities which are no longer available in some distributions. test.sh now checks for and prefers ip and ss. Thanks to Ruediger Meier for reporting this problem. More corrections to test.sh: Language settings could still influence test results netstat was still required Suppress usleep deprecated messag Force use of IPv4 with some certificates Set timeout for UDPxMAXCHILDREN tests Git: Added missing Config/Makefile.DragonFly-2-8-2, Config/config.DragonFly-2-8-2.h Removed testcert.conf (to be generated by test.sh) Cosmetics: Simplified handling of missing termios defines. New features: Permit combined -d options as -dd etc.
2019-04-07 21:26:56 +02:00
TEST_TARGET= test
.include "../../mk/bsd.prefs.mk"
CONFIGURE_ARGS+= --disable-libwrap
.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) && ${OPSYS} == "NetBSD"
# XXX Kludge -- the right fix is to make socat not depend on these constants.
CONFIGURE_ENV+= sc_cv_sys_crdly_shift=-1
CONFIGURE_ENV+= sc_cv_sys_tabdly_shift=-1
CONFIGURE_ENV+= sc_cv_sys_csize_shift=8
CONFIGURE_ENV+= ac_cv_ispeed_offset=9
.endif
SUBST_CLASSES+= paths
SUBST_MESSAGE.paths= Fixing hardcoded paths.
SUBST_STAGE.paths= pre-configure
SUBST_FILES.paths= doc/socat.1
SUBST_SED.paths= -e 's,/usr/,${PREFIX}/,g'
.include "options.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"