mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Clemens Gruber <clemens.gruber@pqgruber.com>
To: ptxdist@pengutronix.de
Cc: Clemens Gruber <clemens.gruber@pqgruber.com>
Subject: [ptxdist] [PATCH v2] iputils: update s20121221 -> s20161105
Date: Wed, 25 Jan 2017 00:13:59 +0100	[thread overview]
Message-ID: <20170124231359.6211-1-clemens.gruber@pqgruber.com> (raw)

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.gruber@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	other threads:[~2017-01-24 23:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-24 23:13 Clemens Gruber [this message]
2017-01-25  6:41 ` Uwe Kleine-König
2017-01-26 10:40   ` Michael Olbrich
2017-01-26 10:47     ` Marc Kleine-Budde
2017-01-28 16:15       ` Clemens Gruber
2017-03-10  9:45 ` Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170124231359.6211-1-clemens.gruber@pqgruber.com \
    --to=clemens.gruber@pqgruber.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox