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

Reply via email to