From 994c6baf5be95f0d1f96b809bf7fef148ce5f786 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 03 2016 06:04:16 +0000 Subject: import iputils-20160308-8.el7 --- diff --git a/.gitignore b/.gitignore index c41b7be..802b2bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ SOURCES/ifenslave.tar.gz -SOURCES/iputils-s20121221.tar.bz2 +SOURCES/iputils-s20160308.tar.gz diff --git a/.iputils.metadata b/.iputils.metadata index fd94f06..9a7b349 100644 --- a/.iputils.metadata +++ b/.iputils.metadata @@ -1,2 +1,2 @@ 1e2652cb1d1e29a8ebed1209131924a6eb864daf SOURCES/ifenslave.tar.gz -4d56d8c75d6a5d58f052e4056e975f01ebab9ba9 SOURCES/iputils-s20121221.tar.bz2 +bd9292647baafec6bd9ebe119923abf854e56e7f SOURCES/iputils-s20160308.tar.gz diff --git a/SOURCES/iputils-20020927-rh.patch b/SOURCES/iputils-20020927-rh.patch deleted file mode 100644 index 32ec1bc..0000000 --- a/SOURCES/iputils-20020927-rh.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fedora-specific makefile patch. - ---- iputils-s20121221-dist/Makefile 2013-01-07 13:37:04.913224305 +0100 -+++ iputils-s20121221-new/Makefile 2013-01-07 13:42:56.542052062 +0100 -@@ -27,7 +27,7 @@ - # sysfs support (with libsysfs - deprecated) [no|yes|static] - USE_SYSFS=no - # IDN support (experimental) [no|yes|static] --USE_IDN=no -+USE_IDN=yes - - # Do not use getifaddrs [no|yes|static] - WITHOUT_IFADDRS=no -@@ -35,7 +35,7 @@ - ARPING_DEFAULT_DEVICE= - - # GNU TLS library for ping6 [yes|no|static] --USE_GNUTLS=yes -+USE_GNUTLS=no - # Crypto library for ping6 [shared|static] - USE_CRYPTO=shared - # Resolv library for ping6 [yes|static] -@@ -49,7 +49,7 @@ - # ------------------------------------- - # What a pity, all new gccs are buggy and -Werror does not work. Sigh. - # CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g --CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -g -+CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -g -Werror - CCOPTOPT=-O3 - GLIBCFIX=-D_GNU_SOURCE - DEFINES= -@@ -110,7 +110,7 @@ - IPV6_TARGETS=tracepath6 traceroute6 ping6 - TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS) - --CFLAGS=$(CCOPTOPT) $(CCOPT) $(GLIBCFIX) $(DEFINES) -+CFLAGS+=$(RPM_OPT_FLAGS) $(CCOPTOPT) $(CCOPT) $(GLIBCFIX) $(DEFINES) - LDLIBS=$(LDLIB) $(ADDLIB) - - UNAME_N:=$(shell uname -n) -@@ -187,6 +187,7 @@ - - # ------------------------------------- - # ninfod -+ninfod: CFLAGS:=$(filter-out -Werror,$(CFLAGS)) - ninfod: - @set -e; \ - if [ ! -f ninfod/Makefile ]; then \ diff --git a/SOURCES/iputils-20121221-floodlocale.patch b/SOURCES/iputils-20121221-floodlocale.patch deleted file mode 100644 index 832f21b..0000000 --- a/SOURCES/iputils-20121221-floodlocale.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- iputils-s20121221-orig/ping_common.c 2013-02-01 08:28:29.836191171 +0100 -+++ iputils-s20121221-new/ping_common.c 2013-02-01 08:28:11.013152725 +0100 -@@ -269,7 +269,9 @@ void common_options(int ch) - char *ep; - - errno = 0; -+ setlocale(LC_ALL, "C"); - dbl = strtod(optarg, &ep); -+ setlocale(LC_ALL, ""); - - if (errno || *ep != '\0' || - !finite(dbl) || dbl < 0.0 || dbl >= (double)INT_MAX / 1000 - 1.0) { diff --git a/SOURCES/iputils-20121221-ping-wrong-inet6-host.patch b/SOURCES/iputils-20121221-ping-wrong-inet6-host.patch deleted file mode 100644 index fd4620f..0000000 --- a/SOURCES/iputils-20121221-ping-wrong-inet6-host.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -rup iputils-s20121221/ping.c iputils-s20121221-new/ping.c ---- iputils-s20121221/ping.c 2012-12-21 15:01:07.000000000 +0100 -+++ iputils-s20121221-new/ping.c 2015-04-29 13:40:42.978415476 +0200 -@@ -279,7 +279,7 @@ main(int argc, char **argv) - #else - idn = target; - #endif -- hp = gethostbyname(idn); -+ hp = gethostbyname2(idn, AF_INET); - if (!hp) { - fprintf(stderr, "ping: unknown host %s\n", target); - exit(2); -diff -rup iputils-s20121221/tracepath.c iputils-s20121221-new/tracepath.c ---- iputils-s20121221/tracepath.c 2012-12-21 15:01:07.000000000 +0100 -+++ iputils-s20121221-new/tracepath.c 2015-04-29 13:41:09.506353342 +0200 -@@ -370,9 +370,9 @@ main(int argc, char **argv) - } - #endif - -- he = gethostbyname(p); -+ he = gethostbyname2(p, AF_INET); - if (he == NULL) { -- herror("gethostbyname"); -+ herror("gethostbyname2"); - exit(1); - } - diff --git a/SOURCES/iputils-20121221-tracepath-back-count.patch b/SOURCES/iputils-20121221-tracepath-back-count.patch deleted file mode 100644 index 98debb2..0000000 --- a/SOURCES/iputils-20121221-tracepath-back-count.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -urp iputils-s20071127/tracepath6.c iputils-new/tracepath6.c ---- iputils-s20071127/tracepath6.c 2014-11-18 15:08:22.691677284 +0100 -+++ iputils-new/tracepath6.c 2014-11-18 15:11:42.434034029 +0100 -@@ -183,6 +183,13 @@ restart: - printf("(This broken router returned corrupted payload) "); - } - -+ if (rethops<=64) -+ rethops = 65-rethops; -+ else if (rethops<=128) -+ rethops = 129-rethops; -+ else -+ rethops = 256-rethops; -+ - switch (e->ee_errno) { - case ETIMEDOUT: - printf("\n"); -@@ -208,12 +215,6 @@ restart: - e->ee_type == 3 && - e->ee_code == 0)) { - if (rethops>=0) { -- if (rethops<=64) -- rethops = 65-rethops; -- else if (rethops<=128) -- rethops = 129-rethops; -- else -- rethops = 256-rethops; - if (sndhops>=0 && rethops != sndhops) - printf("asymm %2d ", rethops); - else if (sndhops<0 && rethops != ttl) -diff -urp iputils-s20071127/tracepath.c iputils-new/tracepath.c ---- iputils-s20071127/tracepath.c 2014-11-18 15:08:22.685677303 +0100 -+++ iputils-new/tracepath.c 2014-11-18 15:10:46.531214060 +0100 -@@ -170,6 +170,13 @@ restart: - printf("(This broken router returned corrupted payload) "); - } - -+ if (rethops<=64) -+ rethops = 65-rethops; -+ else if (rethops<=128) -+ rethops = 129-rethops; -+ else -+ rethops = 256-rethops; -+ - switch (e->ee_errno) { - case ETIMEDOUT: - printf("\n"); -@@ -192,12 +199,6 @@ restart: - e->ee_type == 11 && - e->ee_code == 0) { - if (rethops>=0) { -- if (rethops<=64) -- rethops = 65-rethops; -- else if (rethops<=128) -- rethops = 129-rethops; -- else -- rethops = 256-rethops; - if (sndhops>=0 && rethops != sndhops) - printf("asymm %2d ", rethops); - else if (sndhops<0 && rethops != ttl) diff --git a/SOURCES/iputils-arping-doc.patch b/SOURCES/iputils-arping-doc.patch new file mode 100644 index 0000000..7e41a1f --- /dev/null +++ b/SOURCES/iputils-arping-doc.patch @@ -0,0 +1,24 @@ +The -I option is actually optional when a suitable device is found. + +--- iputils-s20160308/arping.c 2016-03-08 13:58:56.000000000 +0100 ++++ iputils-s20160308-new/arping.c 2016-09-05 12:59:22.746617891 +0200 +@@ -1086,7 +1086,7 @@ main(int argc, char **argv) + fprintf(stderr, "arping: Device %s not available.\n", device.name); + exit(2); + } +- fprintf(stderr, "arping: device (option -I) is required.\n"); ++ fprintf(stderr, "arping: Suitable device could not be determined. Please, use option -I.\n"); + usage(); + } + +--- iputils-s20160308/doc/arping.sgml 2016-03-08 13:58:56.000000000 +0100 ++++ iputils-s20160308-new/doc/arping.sgml 2016-09-05 12:58:03.425799308 +0200 +@@ -19,7 +19,7 @@ + -c + -w + -s +--I ++-I + + + diff --git a/SOURCES/iputils-fix-I-setsockopt.patch b/SOURCES/iputils-fix-I-setsockopt.patch new file mode 100644 index 0000000..c2df236 --- /dev/null +++ b/SOURCES/iputils-fix-I-setsockopt.patch @@ -0,0 +1,25 @@ +Resolves: #1351540 + +--- a/ping.c ++++ b/ping.c +@@ -569,6 +569,7 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock) + strncpy(ifr.ifr_name, device, IFNAMSIZ-1); + + enable_capability_raw(); ++ setsockopt(sock->fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1); + rc = setsockopt(probe_fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1); + disable_capability_raw(); + +--- a/ping6_common.c ++++ b/ping6_common.c +@@ -797,8 +797,10 @@ int ping6_run(int argc, char **argv, struct addrinfo *ai, struct socket_st *sock + enable_capability_raw(); + if ( + #ifdef IPV6_RECVPKTINFO ++ setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO, &ipi, sizeof ipi) == -1 && + setsockopt(probe_fd, IPPROTO_IPV6, IPV6_PKTINFO, &ipi, sizeof ipi) == -1 && + #endif ++ setsockopt(sock->fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1) == -1 && + setsockopt(probe_fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1) == -1) { + perror("setsockopt(SO_BINDTODEVICE)"); + exit(2); diff --git a/SOURCES/iputils-oversized-packets.patch b/SOURCES/iputils-oversized-packets.patch new file mode 100644 index 0000000..464b8a0 --- /dev/null +++ b/SOURCES/iputils-oversized-packets.patch @@ -0,0 +1,46 @@ +From 61ed3913790901f2ad4973de60b373150fde01e0 Mon Sep 17 00:00:00 2001 +From: Jan Synacek +Date: Wed, 20 Apr 2016 09:51:12 +0200 +Subject: [PATCH] ping: do not allow oversized packets to root + +The code later fails anyways (as the original comment suggests), which +results in a weird recvmsg() loop that times out eventually. + +Reproducer: + +./ping -c 1 -s 65530 127.0.0.1 +--- + ping.c | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +diff --git a/ping.c b/ping.c +index f435fe2..ea37c4f 100644 +--- a/ping.c ++++ b/ping.c +@@ -80,8 +80,6 @@ ping_func_set_st ping4_func_set = { + #define NROUTES 9 /* number of record route slots */ + #define TOS_MAX 255 /* 8-bit TOS field */ + +-static const int max_ping4_packet = 0x10000; +- + static int ts_type; + static int nroute = 0; + static __u32 route[10]; +@@ -806,12 +804,8 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock) + } + + if (datalen > 0xFFFF - 8 - optlen - 20) { +- if (uid || datalen > max_ping4_packet-8 || datalen > MAXPACKET-8) { +- fprintf(stderr, "Error: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen); +- exit(2); +- } +- /* Allow small oversize to root yet. It will cause EMSGSIZE. */ +- fprintf(stderr, "WARNING: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen); ++ fprintf(stderr, "Error: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen); ++ exit(2); + } + + if (datalen >= sizeof(struct timeval)) /* can we time transfer */ +-- +2.7.4 + diff --git a/SOURCES/iputils-ping-hang.patch b/SOURCES/iputils-ping-hang.patch new file mode 100644 index 0000000..dca8228 --- /dev/null +++ b/SOURCES/iputils-ping-hang.patch @@ -0,0 +1,48 @@ +commit 1c97ab2b9bf401d8c4db9f4f4a4e13e1002c2d64 +Author: Robert Schiele +Date: Mon Mar 14 08:59:56 2016 +0100 + + Revert "ping_common.c: fix message flood when EPERM is encountered in ping" + + This reverts commit a60ad56a18b660ea8158e6ce8d782fb0290329f8. + + The reason for this revert is that while the patch above fixed + https://bugzilla.redhat.com/show_bug.cgi?id=1061867 it had weird behavior + with other types of EPERM responses where it could end up in an endless + loop despite the fact that -c flag was specified. In addition to that the + mentioned bug is also fixed with + commit 8b75f100bbc84aa32a2c35b54c53f48071af6e95 + "ping: ICMP error replies while errno < 0 is a hard error" + by Jason A. Donenfeld + such that this one should no longer be needed anyway. + + Signed-off-by: Robert Schiele + +diff --git a/ping_common.c b/ping_common.c +index fe7d6e3..7ea1fb3 100644 +--- a/ping_common.c ++++ b/ping_common.c +@@ -373,11 +373,10 @@ resend: + if (i > 0) { + /* Apparently, it is some fatal bug. */ + abort(); +- } else if (errno == ENOBUFS || errno == ENOMEM || errno == EPERM) { ++ } else if (errno == ENOBUFS || errno == ENOMEM) { + int nores_interval; + +- /* Device queue overflow, OOM or operation not permitted. +- * Packet is not sent. */ ++ /* Device queue overflow or OOM. Packet is not sent. */ + tokens = 0; + /* Slowdown. This works only in adaptive mode (option -A) */ + rtt_addend += (rtt < 8*50000 ? rtt/8 : 50000); +@@ -386,8 +385,7 @@ resend: + nores_interval = SCHINT(interval/2); + if (nores_interval > 500) + nores_interval = 500; +- if (errno != EPERM) +- oom_count++; ++ oom_count++; + if (oom_count*nores_interval < lingertime) + return nores_interval; + i = 0; diff --git a/SOURCES/iputils-reorder-I-parsing.patch b/SOURCES/iputils-reorder-I-parsing.patch new file mode 100644 index 0000000..e646955 --- /dev/null +++ b/SOURCES/iputils-reorder-I-parsing.patch @@ -0,0 +1,37 @@ +commit 1f6f39b84f81cfa6bc243557a68eebeeac7e8ea3 +Author: Robert Schiele +Date: Mon Mar 14 09:18:08 2016 +0100 + + reorder -I option parsing + + This changes -I option parsing in a way that device is only assigned + if neither an IPv4 nor an IPv6 address is detected. Otherwise those + addresses are misinterpreted as device names and as such will cause + error messages later in the code. + + Signed-off-by: Robert Schiele + +diff --git a/ping.c b/ping.c +index c42d6eb..498c0e8 100644 +--- a/ping.c ++++ b/ping.c +@@ -279,10 +279,6 @@ main(int argc, char **argv) + break; + } + case 'I': +- if (inet_pton(AF_INET, optarg, &source.sin_addr) > 0) +- options |= F_STRICTSOURCE; +- else +- device = optarg; + /* IPv6 */ + if (strchr(optarg, ':')) { + char *p, *addr = strdup(optarg); +@@ -306,6 +302,8 @@ main(int argc, char **argv) + options |= F_STRICTSOURCE; + + free(addr); ++ } else if (inet_pton(AF_INET, optarg, &source.sin_addr) > 0) { ++ options |= F_STRICTSOURCE; + } else { + device = optarg; + } diff --git a/SOURCES/iputils-rh-ping-ipv4-by-default.patch b/SOURCES/iputils-rh-ping-ipv4-by-default.patch new file mode 100644 index 0000000..1804cfe --- /dev/null +++ b/SOURCES/iputils-rh-ping-ipv4-by-default.patch @@ -0,0 +1,31 @@ +RHEL only. + +Resolves: #1317796 + +From b2cc1e501531d5d66988ce8b6ab3e8a7b359f040 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pavel=20=C5=A0imerda?= +Date: Mon, 21 Mar 2016 14:13:56 +0100 +Subject: [PATCH] rhel-7.3: keep good old IPv4 ping + +--- + ping.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ping.c b/ping.c +index 498c0e8..5474b9d 100644 +--- a/ping.c ++++ b/ping.c +@@ -443,6 +443,10 @@ main(int argc, char **argv) + + target = argv[argc-1]; + ++ /* RHEL-7.3 rebase: Disable the new dual-stack feature. */ ++ if (hints.ai_family == AF_UNSPEC) ++ hints.ai_family = AF_INET; ++ + /* Create sockets */ + enable_capability_raw(); + if (hints.ai_family != AF_INET6) +-- +2.7.2 + diff --git a/SOURCES/iputils-rh.patch b/SOURCES/iputils-rh.patch new file mode 100644 index 0000000..f66f885 --- /dev/null +++ b/SOURCES/iputils-rh.patch @@ -0,0 +1,20 @@ +--- iputils-s20160308/Makefile 2016-03-08 13:58:56.000000000 +0100 ++++ iputils-s20160308-new/Makefile 2016-03-09 10:09:02.295409179 +0100 +@@ -36,7 +36,7 @@ WITHOUT_IFADDRS=no + ARPING_DEFAULT_DEVICE= + + # nettle library for ipv6 ping [yes|no|static] +-USE_NETTLE=yes ++USE_NETTLE=no + # libgcrypt library for ipv6 ping [no|yes|static] + USE_GCRYPT=no + # Crypto library for ping6 [shared|static|no] +@@ -53,7 +53,7 @@ ENABLE_RDISC_SERVER=no + # What a pity, all new gccs are buggy and -Werror does not work. Sigh. + # CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g + CFLAGS?=-O3 -g +-CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall ++CFLAGS+=$(RPM_OPT_FLAGS) -fno-strict-aliasing -Wstrict-prototypes -Wall + CPPFLAGS+=-D_GNU_SOURCE + LDLIB= + diff --git a/SPECS/iputils.spec b/SPECS/iputils.spec index 13b7e7c..247666d 100644 --- a/SPECS/iputils.spec +++ b/SPECS/iputils.spec @@ -2,27 +2,30 @@ Summary: Network monitoring tools including ping Name: iputils -Version: 20121221 -Release: 7%{?dist} +Version: 20160308 +Release: 8%{?dist} # some parts are under the original BSD (ping.c) # some are under GPLv2+ (tracepath.c) License: BSD and GPLv2+ -URL: http://www.skbuff.net/iputils +URL: https://github.com/iputils/iputils Group: System Environment/Daemons -Source0: http://www.skbuff.net/iputils/%{name}-s%{version}.tar.bz2 +Source0: https://github.com/iputils/iputils/archive/s%{version}.tar.gz#/%{name}-s%{version}.tar.gz Source1: ifenslave.tar.gz Source3: rdisc.initd Source4: rdisc.service Source5: rdisc.sysconfig Source6: ninfod.service -Patch0: iputils-20020927-rh.patch +Patch0: iputils-rh.patch Patch1: iputils-ifenslave.patch -Patch2: iputils-20121221-floodlocale.patch -Patch3: iputils-20121221-caps.patch -Patch4: iputils-20121221-ping-wrong-inet6-host.patch -Patch5: iputils-20121221-tracepath-back-count.patch +Patch2: iputils-20121221-caps.patch +Patch3: iputils-rh-ping-ipv4-by-default.patch +Patch4: iputils-oversized-packets.patch +Patch5: iputils-reorder-I-parsing.patch +Patch6: iputils-fix-I-setsockopt.patch +Patch7: iputils-ping-hang.patch +Patch8: iputils-arping-doc.patch BuildRequires: docbook-utils perl-SGMLSpm BuildRequires: glibc-kernheaders >= 2.4-8.19 @@ -70,12 +73,15 @@ Queries. %prep %setup -q -a 1 -n %{name}-s%{version} -%patch0 -p1 -b .rh -%patch1 -p1 -b .addr -%patch2 -p1 -b .floc -%patch3 -p1 -b .caps -%patch4 -p1 -b .wrong-inet6-host -%patch5 -p1 -b .tracepath-back-count +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 %build %ifarch s390 s390x @@ -85,7 +91,7 @@ Queries. %endif export LDFLAGS="-pie -Wl,-z,relro,-z,now" -make %{?_smp_mflags} arping clockdiff ping ping6 rdisc tracepath tracepath6 \ +make %{?_smp_mflags} arping clockdiff ping rdisc tracepath tracepath6 \ ninfod gcc -Wall $RPM_OPT_FLAGS ifenslave.c -o ifenslave make -C doc man @@ -101,13 +107,13 @@ install -cp arping ${RPM_BUILD_ROOT}%{_sbindir}/ install -cp ping ${RPM_BUILD_ROOT}%{_bindir}/ install -cp ifenslave ${RPM_BUILD_ROOT}%{_sbindir}/ install -cp rdisc ${RPM_BUILD_ROOT}%{_sbindir}/ -install -cp ping6 ${RPM_BUILD_ROOT}%{_bindir}/ install -cp tracepath ${RPM_BUILD_ROOT}%{_bindir}/ install -cp tracepath6 ${RPM_BUILD_ROOT}%{_bindir}/ install -cp ninfod/ninfod ${RPM_BUILD_ROOT}%{_sbindir}/ mkdir -p ${RPM_BUILD_ROOT}%{_bindir} -ln -sf ../bin/ping6 ${RPM_BUILD_ROOT}%{_sbindir} +ln -sf ping ${RPM_BUILD_ROOT}%{_bindir}/ping6 +ln -sf ../bin/ping ${RPM_BUILD_ROOT}%{_sbindir}/ping6 ln -sf ../bin/tracepath ${RPM_BUILD_ROOT}%{_sbindir} ln -sf ../bin/tracepath6 ${RPM_BUILD_ROOT}%{_sbindir} @@ -158,9 +164,9 @@ mv -f RELNOTES.tmp RELNOTES %attr(0755,root,root) %caps(cap_net_raw=p cap_net_admin=p) %{_bindir}/ping %{_sbindir}/ifenslave %{_sbindir}/rdisc -%attr(0755,root,root) %caps(cap_net_raw=p cap_net_admin=p) %{_bindir}/ping6 %{_bindir}/tracepath %{_bindir}/tracepath6 +%{_bindir}/ping6 %{_sbindir}/ping6 %{_sbindir}/tracepath %{_sbindir}/tracepath6 @@ -183,6 +189,34 @@ mv -f RELNOTES.tmp RELNOTES %attr(644,root,root) %{_mandir}/man8/ninfod.8.gz %changelog +* Mon Sep 5 2016 Jan Synáček - 20160308-8 +- arping documentation inconsistency (#1351704) + +* Mon Aug 29 2016 Jan Synáček - 20160308-7 +- ping hung when it cannot receive echo reply (#1362463) +- arping documentation inconsistency (#1351704) + +* Fri Jul 29 2016 Jan Synáček - 20160308-6 +- ping does not use device specified with -I parameter (#1351540) + +* Tue Jul 12 2016 Jan Synáček - 20160308-5 +- add missing /bin/ping6 (#1355674) + +* Fri Jun 3 2016 Jan Synáček - 20160308-4 +- reorder -I option parsing (#1337598) + +* Wed May 11 2016 Jan Synáček - 20160308-3 +- inconsistent ping behaviour and hang with too large packet size (#1172084) + +* Tue Mar 29 2016 Jan Synáček - 20160308-2 +- ping IPv4 addresses by default when given a name (#1317796) + +* Mon Mar 14 2016 Jan Synáček - 20160308-1 +- Update to iputils-s20160308 (#1273336) + +* Tue Mar 1 2016 Jan Synáček - 20150815-1 +- Update to iputils-s20150815 (#1273336) + * Wed Apr 29 2015 Jan Synáček - 20121221-7 - ping returns odd results with options inet6 in resolv.conf (#1210331) - count of "back" is not correct in tracepath (#1208372)