Update to iputils-s20140519 (#1096617)

This commit is contained in:
Jan Synacek 2014-05-20 10:55:50 +02:00
parent f47c6dffe6
commit 8111296ad2
7 changed files with 73 additions and 135 deletions

View File

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

View File

@ -1,26 +0,0 @@
--- iputils-s20121221/ping_common.c 2014-03-26 10:41:49.905136743 +0100
+++ iputils-s20121221-new/ping_common.c 2014-03-26 10:57:38.259918104 +0100
@@ -525,10 +525,11 @@ resend:
if (i > 0) {
/* Apparently, it is some fatal bug. */
abort();
- } else if (errno == ENOBUFS || errno == ENOMEM) {
+ } else if (errno == ENOBUFS || errno == ENOMEM || errno == EPERM) {
int nores_interval;
- /* Device queue overflow or OOM. Packet is not sent. */
+ /* Device queue overflow, OOM or operation not permitted.
+ * Packet is not sent. */
tokens = 0;
/* Slowdown. This works only in adaptive mode (option -A) */
rtt_addend += (rtt < 8*50000 ? rtt/8 : 50000);
@@ -537,7 +538,8 @@ resend:
nores_interval = SCHINT(interval/2);
if (nores_interval > 500)
nores_interval = 500;
- oom_count++;
+ if (errno != EPERM)
+ oom_count++;
if (oom_count*nores_interval < lingertime)
return nores_interval;
i = 0;

View File

@ -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) {

View File

@ -1,32 +0,0 @@
Author: Rui Prior <rprior@dcc.fc.up.pt>
Resolves: #1085971
--- iputils-s20121221-orig/arping.c 2014-04-10 15:41:29.158243387 +0100
+++ iputils-s20121221-new/arping.c 2014-04-10 16:02:06.000000000 +0100
@@ -1215,16 +1215,22 @@ main(int argc, char **argv)
socklen_t alen = sizeof(from);
int cc;
+ sigemptyset(&sset);
+ sigaddset(&sset, SIGALRM);
+ sigaddset(&sset, SIGINT);
+ /* Unblock SIGALRM so that the previously called alarm()
+ * can prevent recvfrom from blocking forever in case the
+ * inherited procmask is blocking SIGALRM and no packet
+ * is received. */
+ sigprocmask(SIG_UNBLOCK, &sset, &osset);
+
if ((cc = recvfrom(s, packet, sizeof(packet), 0,
(struct sockaddr *)&from, &alen)) < 0) {
perror("arping: recvfrom");
continue;
}
- sigemptyset(&sset);
- sigaddset(&sset, SIGALRM);
- sigaddset(&sset, SIGINT);
- sigprocmask(SIG_BLOCK, &sset, &osset);
+ sigprocmask(SIG_BLOCK, &sset, NULL);
recv_pack(packet, cc, (struct sockaddr_ll *)&from);
sigprocmask(SIG_SETMASK, &osset, NULL);
}

37
iputils-rh.patch Normal file
View File

@ -0,0 +1,37 @@
--- iputils-s20140519-dist/Makefile 2014-05-19 23:35:28.000000000 +0200
+++ iputils-s20140519-new/Makefile 2014-05-20 10:51:07.388527442 +0200
@@ -26,7 +26,7 @@ USE_CAP=yes
# 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
@@ -34,7 +34,7 @@ WITHOUT_IFADDRS=no
ARPING_DEFAULT_DEVICE=
# GNU TLS library for ping6 [yes|no|static]
-USE_GNUTLS=yes
+USE_GNUTLS=no
# Crypto library for ping6 [shared|static|no]
USE_CRYPTO=shared
# Resolv library for ping6 [yes|static]
@@ -49,7 +49,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 -Werror
CPPFLAGS+=-D_GNU_SOURCE
LDLIB=
@@ -188,6 +188,7 @@ tftpd.o tftpsubs.o: tftp.h
# -------------------------------------
# ninfod
+ninfod: CFLAGS:=$(filter-out -Werror,$(CFLAGS))
ninfod:
@set -e; \
if [ ! -f ninfod/Makefile ]; then \

View File

@ -0,0 +1,19 @@
commit 51aad205e5e8289b52241cd41b15e0f116c4442a
Author: Jan Synacek <jsynacek@redhat.com>
Date: Tue May 20 11:17:00 2014 +0200
tracepath,doc: fix corrupted tag
diff --git a/doc/tracepath.sgml b/doc/tracepath.sgml
index 8048c80..756572f 100644
--- a/doc/tracepath.sgml
+++ b/doc/tracepath.sgml
@@ -69,7 +69,7 @@ Sets the initial packet length to <replaceable/pktlen/ instead of
</varlistentry>
<varlistentry>
- <term><option/-m</term>
+ <term><option>-m</option></term>
<listitem><para>
Set maximum hops (or maximum TTLs) to <replaceable/max_hops/
instead of 30.

View File

@ -2,24 +2,23 @@
Summary: Network monitoring tools including ping
Name: iputils
Version: 20121221
Release: 10%{?dist}
Version: 20140519
Release: 1%{?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
Source4: rdisc.service
Source6: ninfod.service
Source2: rdisc.service
Source3: ninfod.service
Patch0: iputils-20020927-rh.patch
Patch0: iputils-rh.patch
Patch1: iputils-ifenslave.patch
Patch2: iputils-20121221-floodlocale.patch
Patch3: iputils-20121221-eperm-flood.patch
Patch4: iputils-20121221-sigalrm-unblock.patch
# pending upstream inclusion
Patch2: iputils-tracepath-doc.patch
BuildRequires: docbook-utils perl-SGMLSpm
BuildRequires: glibc-kernheaders >= 2.4-8.19
@ -57,11 +56,9 @@ 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 .eperm
%patch4 -p1 -b .sigalrm
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
%ifarch s390 s390x
@ -108,8 +105,8 @@ ln -s ping.8.gz ${RPM_BUILD_ROOT}%{_mandir}/man8/ping6.8.gz
ln -s tracepath.8.gz ${RPM_BUILD_ROOT}%{_mandir}/man8/tracepath6.8.gz
install -dp ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d
install -m 644 %SOURCE4 ${RPM_BUILD_ROOT}/%{_unitdir}
install -m 644 %SOURCE6 ${RPM_BUILD_ROOT}/%{_unitdir}
install -m 644 %SOURCE2 ${RPM_BUILD_ROOT}/%{_unitdir}
install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}/%{_unitdir}
iconv -f ISO88591 -t UTF8 RELNOTES -o RELNOTES.tmp
touch -r RELNOTES RELNOTES.tmp
@ -162,6 +159,9 @@ mv -f RELNOTES.tmp RELNOTES
%attr(644,root,root) %{_mandir}/man8/ninfod.8.gz
%changelog
* Tue May 20 2014 Jan Synáček <jsynacek@redhat.com> - 20140519-1
- Update to iputils-s20140519 (#1096617)
* Fri Apr 11 2014 Jan Synáček <jsynacek@redhat.com> - 20121221-10
- Fix arping hang if SIGALRM is blocked (#1085971)