From 8416ea962b3feb527e8ca0ed4d05c524f3a66b3a Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Thu, 20 Aug 2015 14:18:18 +0200 Subject: net-misc/iputils: Bump to version 20150815. Package-Manager: portage-2.2.20.1 Signed-off-by: Lars Wendler --- net-misc/iputils/Manifest | 2 + .../files/iputils-20150815-nonroot-floodping.patch | 11 ++ .../files/iputils-20150815-ping6_crypto.patch | 29 ++++ .../files/iputils-20150815-ping_default_ipv4.patch | 65 ++++++++ net-misc/iputils/iputils-20150815.ebuild | 163 +++++++++++++++++++++ net-misc/iputils/metadata.xml | 3 + 6 files changed, 273 insertions(+) create mode 100644 net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch create mode 100644 net-misc/iputils/files/iputils-20150815-ping6_crypto.patch create mode 100644 net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch create mode 100644 net-misc/iputils/iputils-20150815.ebuild (limited to 'net-misc') diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest index 40e0b48a681..a1191dc0fad 100644 --- a/net-misc/iputils/Manifest +++ b/net-misc/iputils/Manifest @@ -1,2 +1,4 @@ +DIST iputils-20150815.tar.gz 194508 SHA256 1f9c11783e9db90b3ebc43145e412160d989fb133a573638745379957c73c082 SHA512 ce899b1fa4b4a423c0430831d77eed660f7fdb98a0bf0532fd8dfa11f4b5f90c7b7d8199dd265fc0ac0e318f3ef2ef353f61bbd290cce77746df646a29edf85a WHIRLPOOL 763bc8b886d1678428be2dedb3060358ef06beeb7297c4197a4e7772d5919183a90ac35a8f933222d880edb60e169817128b605286379636acf63bc2d78e32f4 DIST iputils-s20121221-manpages.tar.bz2 23778 SHA256 6fc7ed7d281b7a2ee00e4f75e5465c90498c685bcc988afdff74db4eaa736d1c SHA512 006be62e61bf1555c99dbd5aac270cbd8d1074a3016fdde3aeed47e5c9b1acd326aa30a596c532d6688827f7f61966a6e3141eaa3b6f4f943eb21ac227282d8c WHIRLPOOL da0ccb577c4b2189553419df2c093404752fb2865eb3e0bfececfc242d930ceb44f96b32d945cfdd0c9ca060359651b2ec8479db5cc9220cda412dfeee5e910d DIST iputils-s20121221.tar.bz2 155344 SHA256 450f549fc5b620c23c5929aa6d54b7ddfc7ee1cb1e8efdc5e8bb21d8d0c5319f SHA512 693d240becd766c345c3af2053fc0699b9358e54d667d40738c21d731b70e779112d81476a220d8300ca54250120385414a13610d445996f95a90571047389f4 WHIRLPOOL 64529180eb4b8e2f7a60c18df7cac49e10a4b7702514252d418b16dcdc10a85ccb0a7f8beb51274cc9d708be2026c4c136e720986795fd39d314e4f9d5590ec9 +DIST iputils-s20150815-manpages.tar.xz 22508 SHA256 d82fac64808f9a3f8dee114a62bc0a652243522bf8e535605eaf46d886c2febe SHA512 cb57758203aa49874cc14b4a92db8566775a62da6e50caa55f98e362348fe026898de7aded09f62b4c26e245e89ffde4a37a6810bdaa6619480071917009b1bb WHIRLPOOL f4616abf8857a46420a115ef2f3b6918ab36a1e5160ee8422e985d669672505a7c259a38dc09742405a467b3caa5d552653cfb3e07c15eab97e1326181cbfd99 diff --git a/net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch b/net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch new file mode 100644 index 00000000000..50e108b09e8 --- /dev/null +++ b/net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch @@ -0,0 +1,11 @@ +--- iputils-s20150815/ping.h ++++ iputils-s20150815/ping.h +@@ -61,7 +61,7 @@ + + #define MAXWAIT 10 /* max seconds to wait for response */ + #define MININTERVAL 10 /* Minimal interpacket gap */ +-#define MINUSERINTERVAL 200 /* Minimal allowed interval for non-root */ ++#define MINUSERINTERVAL 0 /* Minimal allowed interval for non-root */ + + #define SCHINT(a) (((a) <= MININTERVAL) ? MININTERVAL : (a)) + diff --git a/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch b/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch new file mode 100644 index 00000000000..1e236eed1f1 --- /dev/null +++ b/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch @@ -0,0 +1,29 @@ +From a45b719645960c9bacb430e452192d6ffac5be19 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Thu, 20 Aug 2015 13:43:47 +0200 +Subject: [PATCH] Let ping6 use crypto if enabled. + +Signed-off-by: Lars Wendler +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index e34be5b..d4cb6c0 100644 +--- a/Makefile ++++ b/Makefile +@@ -159,9 +159,9 @@ LIB_clockdiff = $(LIB_CAP) + + # ping / ping6 + DEF_ping_common = $(DEF_CAP) $(DEF_IDN) +-DEF_ping6_common = $(DEF_CAP) $(DEF_IDN) ++DEF_ping6_common = $(DEF_CAP) $(DEF_IDN) $(DEF_CRYPTO) + DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_IPV4) +-LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) ++LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) $(LIB_CRYPTO) + + ping: ping_common.o ping6_common.o + ping.o ping_common.o ping6_common.o: ping.h in6_flowlabel.h +-- +2.5.0 + diff --git a/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch b/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch new file mode 100644 index 00000000000..71d32f0f4aa --- /dev/null +++ b/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch @@ -0,0 +1,65 @@ +From 8d4d34eea9fbd25d0103975f366799764bbc4a2f Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Thu, 20 Aug 2015 11:47:22 +0200 +Subject: [PATCH] Add possibility to make ping use IPv4 by default. + +Using ping with a linux kernel without IPv6 capability yields to the +following problem: + +> ping www.google.de +ping: socket: Address family not supported by protocol (raw socket +required by specified options). +> + +because ping is using IPv6 by default when -4 option is omitted. + +Signed-off-by: Lars Wendler +--- + Makefile | 7 ++++++- + ping.c | 5 +++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 8b37c42..e34be5b 100644 +--- a/Makefile ++++ b/Makefile +@@ -114,6 +114,11 @@ ifeq ($(ENABLE_PING6_RTHDR),RFC3542) + endif + endif + ++# DEFAULT TO IPV4 ++ifneq ($(IPV4_DEFAULT),no) ++ DEF_IPV4 = -DIPV4_DEFAULT ++endif ++ + # ------------------------------------- + TARGETS=ping tracepath tracepath6 traceroute6 clockdiff rdisc arping tftpd rarpd + +@@ -155,7 +160,7 @@ LIB_clockdiff = $(LIB_CAP) + # ping / ping6 + DEF_ping_common = $(DEF_CAP) $(DEF_IDN) + DEF_ping6_common = $(DEF_CAP) $(DEF_IDN) +-DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) ++DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_IPV4) + LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) + + ping: ping_common.o ping6_common.o +diff --git a/ping.c b/ping.c +index ec9708e..a08a03e 100644 +--- a/ping.c ++++ b/ping.c +@@ -439,6 +439,11 @@ main(int argc, char **argv) + + target = argv[argc-1]; + ++#ifdef IPV4_DEFAULT ++ if (hints.ai_family == AF_UNSPEC) ++ hints.ai_family = AF_INET; ++#endif ++ + /* Create sockets */ + enable_capability_raw(); + if (hints.ai_family != AF_INET6) +-- +2.5.0 + diff --git a/net-misc/iputils/iputils-20150815.ebuild b/net-misc/iputils/iputils-20150815.ebuild new file mode 100644 index 00000000000..8cf3708e65d --- /dev/null +++ b/net-misc/iputils/iputils-20150815.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# For released versions, we precompile the man/html pages and store +# them in a tarball on our mirrors. This avoids ugly issues while +# building stages, and when the jade/sgml packages are broken (which +# seems to be more common than would be nice). + +EAPI="4" + +inherit flag-o-matic eutils toolchain-funcs fcaps +if [[ ${PV} == "99999999" ]] ; then + EGIT_REPO_URI="https://github.com/iputils/iputils.git" + inherit git-r3 +else + SRC_URI="https://github.com/iputils/iputils/archive/s${PV}.tar.gz -> ${P}.tar.gz + http://dev.gentoo.org/~polynomial-c/iputils-s${PV}-manpages.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="Network monitoring tools including ping and ping6" +HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iputils" + +LICENSE="BSD-4" +SLOT="0" +IUSE="arping caps clockdiff doc gcrypt idn ipv6 nettle +openssl rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute" + +LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] ) + idn? ( net-dns/libidn[static-libs(+)] ) + ipv6? ( ssl? ( + gcrypt? ( dev-libs/libgcrypt[static-libs(+)] ) + nettle? ( dev-libs/nettle[static-libs(+)] ) + openssl? ( dev-libs/openssl:0[static-libs(+)] ) + ) )" +RDEPEND="arping? ( !net-misc/arping ) + rarpd? ( !net-misc/rarpd ) + traceroute? ( !net-misc/traceroute ) + !static? ( ${LIB_DEPEND//\[static-libs(+)]} )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + virtual/os-headers" +if [[ ${PV} == "99999999" ]] ; then + DEPEND+=" + app-text/openjade + dev-perl/SGMLSpm + app-text/docbook-sgml-dtd + app-text/docbook-sgml-utils + " +fi + +REQUIRED_USE="ipv6? ( ssl? ( ^^ ( gcrypt nettle openssl ) ) )" + +S=${WORKDIR}/${PN}-s${PV} + +PATCHES=( + "${FILESDIR}/021109-uclibc-no-ether_ntohost.patch" + "${FILESDIR}/${PN}-20150815-ping_default_ipv4.patch" + "${FILESDIR}/${PN}-20150815-ping6_crypto.patch" +) + +src_prepare() { + epatch ${PATCHES[@]} + use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch +} + +src_configure() { + use static && append-ldflags -static + + TARGETS=( + ping + $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done) + ) + if use ipv6 ; then + TARGETS+=( + $(usex tracepath 'tracepath6' '') + $(usex traceroute 'traceroute6' '') + ) + fi + + myconf=( + USE_CRYPTO=no + USE_GCRYPT=no + USE_NETTLE=no + ) + + if use ipv6 && use ssl ; then + myconf=( + USE_CRYPTO=$(usex openssl) + USE_GCRYPT=$(usex gcrypt) + USE_NETTLE=$(usex nettle) + ) + fi +} + +src_compile() { + tc-export CC + emake \ + USE_CAP=$(usex caps) \ + USE_IDN=$(usex idn) \ + IPV4_DEFAULT=$(usex ipv6 'no' 'yes') \ + TARGETS="${TARGETS[*]}" \ + ${myconf[@]} + + if [[ ${PV} == "99999999" ]] ; then + emake html man + fi +} + +src_install() { + into / + dobin ping + dosym ping "${EPREFIX}"/bin/ping4 + if use ipv6 ; then + dosym ping "${EPREFIX}"/bin/ping6 + dosym ping.8 "${EPREFIX}"/usr/share/man/man8/ping6.8 + fi + doman doc/ping.8 + + if use arping ; then + dobin arping + doman doc/arping.8 + fi + + into /usr + + local u + for u in clockdiff rarpd rdisc tftpd tracepath ; do + if use ${u} ; then + case ${u} in + clockdiff) dobin ${u};; + *) dosbin ${u};; + esac + doman doc/${u}.8 + fi + done + + if use tracepath && use ipv6 ; then + dosbin tracepath6 + dosym tracepath.8 "${EPREFIX}"/usr/share/man/man8/tracepath6.8 + fi + + if use traceroute && use ipv6 ; then + dosbin traceroute6 + doman doc/traceroute6.8 + fi + + if use rarpd ; then + newinitd "${FILESDIR}"/rarpd.init.d rarpd + newconfd "${FILESDIR}"/rarpd.conf.d rarpd + fi + + dodoc INSTALL RELNOTES + + use doc && dohtml doc/*.html +} + +pkg_postinst() { + fcaps cap_net_raw \ + bin/ping \ + $(usex arping 'bin/arping' '') \ + $(usex clockdiff 'usr/bin/clockdiff' '') +} diff --git a/net-misc/iputils/metadata.xml b/net-misc/iputils/metadata.xml index dc01592f717..183d454a96b 100644 --- a/net-misc/iputils/metadata.xml +++ b/net-misc/iputils/metadata.xml @@ -5,6 +5,9 @@ Build and install arping -- tool for sending ARP requests to peers (see also net-analyzer/arping) Build and install clockdiff -- tool for comparing clocks via ICMP packets + Use dev-libs/libgcrypt for md5 support + Use dev-libs/nettle for md5 support + Use dev-libs/openssl for md5 support Build and install rarpd -- server for handling RARP (reverse ARP) requests; generally only used by old systems Build and install rdisc -- server for the client side of the ICMP router discover protocol Build and install tftpd -- server for the Trivial File Transfer Protocol (see also net-ftp/tftp-hpa) -- cgit v1.2.1