The current version of iputils ping can handle IPv4 and IPv6 but requires a crypto library dependency for ICMPv6 NI queries. Add all possible choices: libgcrypt, nettle, openssl or none
tracepath works with IPv4 as well as IPv6 and it does not have to run as root. traceroute6 only works with IPv6 and requires superuser privileges. Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com> --- rules/iputils.in | 71 +++++++++++++++++++++++++++++++++--------------------- rules/iputils.make | 18 ++++++++------ 2 files changed, 55 insertions(+), 34 deletions(-) diff --git a/rules/iputils.in b/rules/iputils.in index 99105f75f..769f2ceb2 100644 --- a/rules/iputils.in +++ b/rules/iputils.in @@ -3,10 +3,11 @@ menuconfig IPUTILS tristate prompt "iputils " - select LIBC_RESOLV if IPUTILS_PING6 - select LIBCAP if IPUTILS_ARPING || IPUTILS_PING || IPUTILS_PING6 || IPUTILS_TRACEROUTE6 || IPUTILS_CLOCKDIFF - select GNUTLS if IPUTILS_PING6 - select GNUTLS_OPENSSL if IPUTILS_PING6 + select LIBC_RESOLV if IPUTILS_PING + select LIBCAP if IPUTILS_ARPING || IPUTILS_PING || IPUTILS_TRACEROUTE6 || IPUTILS_CLOCKDIFF + select LIBGCRYPT if IPUTILS_GCRYPT + select NETTLE if IPUTILS_NETTLE + select OPENSSL if IPUTILS_OPENSSL help The iputils package is set of small useful utilities for Linux networking. @@ -36,11 +37,10 @@ config IPUTILS_PING depends on (!BUSYBOX_PING && !INETUTILS_PING) || ALLYES prompt "ping" help - The ping command uses the ICMP protocol's mandatory ECHO_REQUEST datagram - to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST - datagrams pings have an IP and ICMP header, followed by a struct - timeval and then an arbitrary number of pad bytes used to fill out - the packet. + ping uses the ICMP protocols mandatory ECHO_REQUEST datagram to elicit + an ICMP ECHO_RESPONSE from a host or gateway. + It works with both IPv4 and IPv6. Using only one of them explicitly can + be enforced by specifying -4 or -6. comment "inetutils' ping is selected!" depends on INETUTILS_PING @@ -48,21 +48,38 @@ comment "inetutils' ping is selected!" comment "BusyBox' ping is selected!" depends on BUSYBOX_PING -config IPUTILS_PING6 - bool - depends on (!BUSYBOX_PING6 && !INETUTILS_PING6) || ALLYES - prompt "ping6" - depends on GLOBAL_IPV6 +if GLOBAL_IPV6 + +choice + prompt "crypto library to be used for ping -N" + default IPUTILS_NOCRYPTO + depends on IPUTILS_PING help - The ping6 command is IPv6 version of ping, and can also send Node - Information Queries (RFC4620). Intermediate hops may not be allowed, - because IPv6 source routing was deprecated (RFC5095). + Selecting a crypto library is necessary for ping to support + sending IPv6 Node Information Queries (RFC 4620). + + config IPUTILS_NOCRYPTO + bool + prompt "none" + help + No crypto library is used. This means that ping -N + won't work. + + config IPUTILS_GCRYPT + bool + prompt "libgcrypt" + + config IPUTILS_NETTLE + bool + prompt "nettle" -comment "inetutils' ping6 is selected!" - depends on INETUTILS_PING6 + config IPUTILS_OPENSSL + bool + prompt "openssl" -comment "BusyBox' ping6 is selected!" - depends on BUSYBOX_PING6 +endchoice + +endif config IPUTILS_RARPD bool @@ -98,12 +115,9 @@ config IPUTILS_TRACEPATH bool prompt "tracepath" help - -config IPUTILS_TRACEPATH6 - bool - prompt "tracepath6" - depends on GLOBAL_IPV6 - help + tracepath traces the path to a network host discovering the MTU along + this path. Because it uses UDP for tracing, it does not need superuser + privileges like traceroute6. tracepath works for both IPv4 and IPv6. config IPUTILS_TRACEROUTE6 bool @@ -111,6 +125,9 @@ config IPUTILS_TRACEROUTE6 prompt "traceroute6" depends on GLOBAL_IPV6 help + traceroute6 tracks the route packets take from an IP network on their + way to a given host. Supports UDP, ICMP and TCP for tracing and works + for IPv6 only. comment "BusyBox' traceroute6 is selected!" depends on BUSYBOX_TRACEROUTE6 diff --git a/rules/iputils.make b/rules/iputils.make index dc93d5cbb..9bd68fb45 100644 --- a/rules/iputils.make +++ b/rules/iputils.make @@ -16,11 +16,11 @@ PACKAGES-$(PTXCONF_IPUTILS) += iputils # # Paths and names # -IPUTILS_VERSION := s20121221 -IPUTILS_MD5 := 6072aef64205720dd1893b375e184171 +IPUTILS_VERSION := s20161105 +IPUTILS_MD5 := 06f0be2dabe10dc80fdb328073230e69 IPUTILS := iputils-$(IPUTILS_VERSION) -IPUTILS_SUFFIX := tar.bz2 -IPUTILS_URL := http://www.skbuff.net/iputils/$(IPUTILS).$(IPUTILS_SUFFIX) +IPUTILS_SUFFIX := tar.gz +IPUTILS_URL := http://codeload.github.com/iputils/iputils/$(IPUTILS_SUFFIX)/$(IPUTILS_VERSION) IPUTILS_SOURCE := $(SRCDIR)/$(IPUTILS).$(IPUTILS_SUFFIX) IPUTILS_DIR := $(BUILDDIR)/$(IPUTILS) IPUTILS_LICENSE := GPL-2.0 @@ -34,16 +34,20 @@ IPUTILS_TOOLS-y := IPUTILS_TOOLS-$(PTXCONF_IPUTILS_ARPING) += arping IPUTILS_TOOLS-$(PTXCONF_IPUTILS_CLOCKDIFF) += clockdiff IPUTILS_TOOLS-$(PTXCONF_IPUTILS_PING) += ping -IPUTILS_TOOLS-$(PTXCONF_IPUTILS_PING6) += ping6 IPUTILS_TOOLS-$(PTXCONF_IPUTILS_RARPD) += rarpd IPUTILS_TOOLS-$(PTXCONF_IPUTILS_RDISC) += rdisc IPUTILS_TOOLS-$(PTXCONF_IPUTILS_TFTPD) += tftpd IPUTILS_TOOLS-$(PTXCONF_IPUTILS_TRACEPATH) += tracepath -IPUTILS_TOOLS-$(PTXCONF_IPUTILS_TRACEPATH6) += tracepath6 IPUTILS_TOOLS-$(PTXCONF_IPUTILS_TRACEROUTE6) += traceroute6 IPUTILS_CONF_TOOL := NO -IPUTILS_MAKEVARS := $(CROSS_ENV) TARGETS="$(IPUTILS_TOOLS-y)" +IPUTILS_MAKEVARS := \ + $(CROSS_ENV) \ + USE_IDN=no \ + USE_GCRYPT=$(call ptx/ifdef, PTXCONF_IPUTILS_GCRYPT, yes, no) \ + USE_NETTLE=$(call ptx/ifdef, PTXCONF_IPUTILS_NETTLE, yes, no) \ + USE_CRYPTO=$(call ptx/ifdef, PTXCONF_IPUTILS_OPENSSL, shared, no) \ + TARGETS="$(IPUTILS_TOOLS-y)" # ---------------------------------------------------------------------------- # Install -- 2.11.0 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de