net-misc/iperf: Fix USE=-ipv6
authorJeroen Roovers <jer@gentoo.org>
Sat, 1 Sep 2018 12:32:05 +0000 (14:32 +0200)
committerJeroen Roovers <jer@gentoo.org>
Sat, 1 Sep 2018 12:32:11 +0000 (14:32 +0200)
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 [new file with mode: 0644]
net-misc/iperf/iperf-2.0.12.ebuild

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 (file)
index 0000000..cd189f6
--- /dev/null
@@ -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
index 3eab1882277722f1c8ff67f5cadb1e21323546da..95f3d7dca1463bde44d1d3755c0e5fdf751a90ad 100644 (file)
@@ -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 \