commit: 0bf6e057a254ef89f7372c7fb8ebaa0a2dceb47c Author: Jeroen Roovers <jer <AT> gentoo <DOT> org> AuthorDate: Sat Sep 1 12:32:05 2018 +0000 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org> CommitDate: Sat Sep 1 12:32:11 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bf6e057
net-misc/iperf: Fix USE=-ipv6 Fixes: https://bugs.gentoo.org/659324 Package-Manager: Portage-2.3.48, Repoman-2.3.10 net-misc/iperf/files/iperf-2.0.12-ipv6.patch | 23 +++++++++++++++++++++++ net-misc/iperf/iperf-2.0.12.ebuild | 3 +++ 2 files changed, 26 insertions(+) diff --git a/net-misc/iperf/files/iperf-2.0.12-ipv6.patch b/net-misc/iperf/files/iperf-2.0.12-ipv6.patch new file mode 100644 index 00000000000..cd189f62108 --- /dev/null +++ b/net-misc/iperf/files/iperf-2.0.12-ipv6.patch @@ -0,0 +1,23 @@ +--- a/src/Listener.cpp ++++ b/src/Listener.cpp +@@ -670,6 +670,7 @@ + + // Now optimize packet flow up the raw socket + // Establish the flow BPF to forward up only "connected" packets to this raw socket ++#ifdef HAVE_IPV6 + if (l->sa_family == AF_INET6) { + struct in6_addr *v6peer = SockAddr_get_in6_addr(&server->peer); + struct in6_addr *v6local = SockAddr_get_in6_addr(&server->local); +@@ -682,9 +683,12 @@ + WARN_errno( rc == SOCKET_ERROR, "l2 v4in6 connect ip bpf"); + } + } else { ++#endif + rc = SockAddr_v4_Connect_BPF(server->mSock, ((struct sockaddr_in *)(l))->sin_addr.s_addr, ((struct sockaddr_in *)(p))->sin_addr.s_addr, ((struct sockaddr_in *)(l))->sin_port, ((struct sockaddr_in *)(p))->sin_port); + WARN_errno( rc == SOCKET_ERROR, "l2 connect ip bpf"); ++#ifdef HAVE_IPV6 + } ++#endif + if (rc < 0) + return -1; + else diff --git a/net-misc/iperf/iperf-2.0.12.ebuild b/net-misc/iperf/iperf-2.0.12.ebuild index 3eab1882277..95f3d7dca14 100644 --- a/net-misc/iperf/iperf-2.0.12.ebuild +++ b/net-misc/iperf/iperf-2.0.12.ebuild @@ -13,6 +13,9 @@ KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86- IUSE="ipv6 threads debug" DOCS="INSTALL README" +PATCHES=( + "${FILESDIR}"/${PN}-2.0.12-ipv6.patch +) src_configure() { econf \
