On Wed, Jan 25, 2017 at 12:13:59AM +0100, Clemens Gruber wrote:
> 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>

Thanks, applied,

Michael

> ---
>  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

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to