Hello community,
here is the log from the commit of package iputils for openSUSE:Factory checked in at 2016-06-03 16:36:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iputils (Old)
and /work/SRC/openSUSE:Factory/.iputils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iputils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/iputils/iputils.changes 2015-04-27 22:07:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.iputils.new/iputils.changes 2016-06-03 16:37:00.000000000 +0200
@@ -1,0 +2,128 @@
+Tue May 24 09:28:43 UTC 2016 - meissner@suse.com
+
+- do not install rarpd and rarpd.8 manpage (comes from rarpd rpm currently)
+
+-------------------------------------------------------------------
+Tue May 17 16:15:24 UTC 2016 - mchandras@suse.de
+
+- Update to version s20160308 (Changes taken from the RELNOTES file)
+ * use syntax compatible with busybox date in Makefile
+ * 'admin prohibited' should print !X not !S.
+ * Makefile: use #define as in previous code changes
+ * doc/Makefile: require bash, because we use pushd and popd
+ * doc: don't timestamp manpages by default
+ * ping: status() now returns received/transmitted instead of trans/recv
+ * ping: don't mess with internals of struct msghdr
+ * ping: ICMP error replies while errno < 0 is a hard error
+ * ping: always use POSIX locale when parsing -i
+ * ping: link against libm
+ * made ping functions protocol independent
+ * ping: perform dual-stack ping by default
+ * ping: remove obsolete preprocessor directives
+ * ping: avoid name clashes between IPv4 and IPv6 code
+ * ping: merge all ping header files into a single one
+ * ping: merge `ping6` command into `ping`
+ * ping: refactor ping options
+ * ping: refactor ping socket code
+ * ping: merge IPv4 and IPv6 `pr_addr()`
+ * ping: fix defines and libs in Makefile
+ * ping: handle single protocol systems
+ * iputils ping/ping6: Add a function to check if a packet is ours
+ * ping: Add to fix compilation error.
+ * ping6: Use GNUTLS API directly for MD5. (v2)
+ * ping6: Use libgcrypt instead of gnutls for MD5.
+ * Allow ping to use IPv6 addresses
+ * ping,ping6 doc: More description on CAP_NET_RAW usage.
+ * if IPv4 resolving fails fallback to ping6
+ * ping: in usage print the 'ping -6' options as well
+ * ping: allow option -4 which forces IPv4
+ * combine sock and errno into a single structure
+ * This patch allows running ping and ping6 without root privileges on
+ * use better names for socket variables
+ * tracepath,doc: fix corrupted tag
+ * doc: ping: add missing options and remove ping6
+ * ninfod: remove unused variables
+ * ninfod: Regenerate configure by autoconf-2.69.
+ * ninfod: libgcrypt support.
+ * Fix building with musl
+ * travis.yml: install nettle-dev
+ * Allow using nettle instead of libgcrypt for MD5
+ * avoid compiler warning caused by snapshot.h
+ * make `getaddrinfo()` and `getnameinfo()` usage consistent
+ * enable IDN by default
+ * remove IPV4_TARGETS and IPV6_TARGETS
+ * Use svg instead of png to get better image quality
+ * spec: Configure before building ninfod.
+ * spec: Fix date in %changelog.
+ * make,spec: Add rpm target.
+- Refreshed patches
+ * iputils-ping-interrupt.diff
+ * iputils-sec-ping-unblock.diff
+- Remove ifenslave.c. It has been removed in the linux kernel commit
+ b1098bbe1b24("bonding: remove ifenslave.c from kernel source").
+ bonding can be done via iproute (netlink)
+- dropped iputils-ifenslave.diff
+- Append our CFLAGS to the upstream ones instead of overriding them.
+- Cleanup old make command since the upstream Makefile does things right
+ it seems.
+- Use Provides: for old /{,s}bin utils to satisfy reverse dependencies.
+- Install utilities to /bin and /sbin until reverse dependencies are
+ properly fixed.
+- Do not install tftp and traceroute to avoid conflicts with the tftp and
+ traceroute packages. Stick to what iputils used to provide in the past.
+- Remove iputils-traceroute6-stdint.diff patch since we are not building
+ the traceroute* utilities.
+- Install tracepath to /usr/bin. (boo#795788)
+
+-------------------------------------------------------------------
+Tue Dec 1 13:39:07 UTC 2015 - p.drouand@gmail.com
+
+- Update to version s20150815
+ * use syntax compatible with busybox date in Makefile
+ * Makefile: use #define as in previous code changes
+ * ping: status() now returns received/transmitted instead of trans/recv
+ * ping: don't mess with internals of struct msghdr
+ * tracepath,doc: fix corrupted tag
+ * made ping functions protocol independent
+ * Allow ping to use IPv6 addresses
+ * if IPv4 resolving fails fallback to ping6
+ * ping: in usage print the 'ping -6' options as well
+ * ping: allow option -4 which forces IPv4
+ * combine sock and errno into a single structure
+ * This patch allows running ping and ping6 without root privileges on
+ * use better names for socket variables
+ * travis.yml: install nettle-dev
+ * Allow using nettle instead of libgcrypt for MD5
+ * avoid compiler warning caused by snapshot.h
+ * make `getaddrinfo()` and `getnameinfo()` usage consistent
+ * enable IDN by default
+ * ping: perform dual-stack ping by default
+ * remove IPV4_TARGETS and IPV6_TARGETS
+ * ping: remove obsolete preprocessor directives
+ * ping: avoid name clashes between IPv4 and IPv6 code
+ * ping: merge all ping header files into a single one
+ * ping: merge `ping6` command into `ping`
+ * ping: refactor ping options
+ * ping: refactor ping socket code
+ * ping: merge IPv4 and IPv6 `pr_addr()`
+ * Use svg instead of png to get better image quality
+ * iputils ping/ping6: Add a function to check if a packet is ours
+ * ping: Add to fix compilation error.
+ * ping6: Use GNUTLS API directly for MD5. (v2)
+ * ping6: Use libgcrypt instead of gnutls for MD5.
+ * ninfod: Regenerate configure by autoconf-2.69.
+ * ninfod: libgcrypt support.
+ * spec: Configure before building ninfod.
+ * spec: Fix date in %changelog.
+ * make,spec: Add rpm target.
+ * ping,ping6 doc: More description on CAP_NET_RAW usage.
+- Update patches
+ * iputils-s20101006-ping-interrupt.diff > iputils-ping-interrupt.diff
+ * iputils-s20101006-sec-ping-unblock.diff > iputils-sec-ping-unblock.diff
+ * iputils-remove-bogus-check-required-for-2.4.9-kernels.patch
+- Update home project page and download Url
+- Remove obsolete %clean section
+- Remove UsrMerge process; it has been done for more than two
+ openSUSE releases now
+
+-------------------------------------------------------------------
Old:
----
ifenslave.c
iputils-ifenslave.diff
iputils-s20101006-ping-interrupt.diff
iputils-s20101006-sec-ping-unblock.diff
iputils-s20121221.tar.bz2
iputils-traceroute6-stdint.diff
New:
----
iputils-ping-interrupt.diff
iputils-sec-ping-unblock.diff
s20160308.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iputils.spec ++++++
--- /var/tmp/diff_new_pack.D6uXVP/_old 2016-06-03 16:37:01.000000000 +0200
+++ /var/tmp/diff_new_pack.D6uXVP/_new 2016-06-03 16:37:01.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package iputils
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,104 +23,107 @@
BuildRequires: libopenssl-devel
BuildRequires: opensp
BuildRequires: perl-SGMLS
+BuildRequires: pkgconfig(libidn)
+# For Makefile modifications
+BuildRequires: sed
Summary: IPv4 and IPv6 Networking Utilities
License: BSD-3-Clause and GPL-2.0+
Group: Productivity/Networking/Other
-Version: s20121221
+Version: s20160308
Release: 0
-Url: http://www.skbuff.net/iputils
-Source: http://www.skbuff.net/iputils/iputils-%{version}.tar.bz2
-# XXX: from linux/Documentation/networking/ifenslave.c
-Source1: ifenslave.c
-Patch2: iputils-traceroute6-stdint.diff
-Patch3: iputils-ifenslave.diff
-Patch8: iputils-s20101006-sec-ping-unblock.diff
-Patch9: iputils-s20101006-ping-interrupt.diff
+Url: https://github.com/iputils/iputils
+Source: https://github.com/iputils/iputils/archive/%{version}.tar.gz
+Patch8: iputils-sec-ping-unblock.diff
+Patch9: iputils-ping-interrupt.diff
# PATCH-FIX-UPSTREAM iputils-remove-bogus-check-required-for-2.4.9-kernels.patch tiwai@suse.de - boo#927831
Patch10: iputils-remove-bogus-check-required-for-2.4.9-kernels.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: permissions
+# I have spotted at least two packages (yast-printer and dhcp-client) that need
+# /bin/ping and /sbin/arping but they do not seem to use them with absolute
+# paths so we may be lukcy and no further changes are necessary.
+Provides: /bin/ping
+Provides: /sbin/arping
%description
This package contains some small network tools for IPv4 and IPv6 like
-rdisc, ping6, traceroute6, tracepath, and tracepath6.
+rdisc, ping, arping, tracepath and tracepath6.
%prep
%setup -q
-cp -a %SOURCE1 .
-%patch2 -p1
-%patch3
%patch8 -p1
%patch9 -p1
%patch10 -p1
%build
-make %{?_smp_mflags} KERNEL_INCLUDE=$PWD \
- CCOPT='%optflags -fno-strict-aliasing -fpie -D_GNU_SOURCE' \
- LDLIBS='-Wl,-z,relro,-z,now -pie -lcap -lresolv' \
- CAPABILITIES=1 LDFLAG_GNUTLS='-lcrypto -lssl'
-gcc $RPM_OPT_FLAGS -o ifenslave ifenslave.c
+# Drop LASTTAG variable since it needs git and it's not used for regular
+# building
+sed -i '/^LASTTAG:=/d' Makefile
+# Do not link against nettle
+sed -i '/^USE_NETTLE/s/yes/no/' Makefile
+
+# Export CFLAGS so we can also benefit from the ones the Makefile sets for us
+# Instead of overriding all of them.
+export CFLAGS='%{optflags} -fpie'
+# Pulled-in by the LINK.o variable.
+export LDFLAGS='-pie -Wl,-z,relro,-z,now'
+
+# Build only selected apps
+make %{?_smp_mflags} arping clockdiff ping rdisc tracepath \
+ tracepath6 rarpd
make man
%install
mkdir -p $RPM_BUILD_ROOT/%_sbindir
mkdir -p $RPM_BUILD_ROOT/%_bindir
install arping $RPM_BUILD_ROOT/%{_sbindir}
-install ifenslave $RPM_BUILD_ROOT/%{_sbindir}
install clockdiff $RPM_BUILD_ROOT/%{_sbindir}
install rdisc $RPM_BUILD_ROOT/%{_sbindir}/in.rdisc
-install tracepath $RPM_BUILD_ROOT/%{_sbindir}
-install tracepath6 $RPM_BUILD_ROOT/%{_sbindir}
+# boo#795788
+install tracepath $RPM_BUILD_ROOT/%{_bindir}
+install tracepath6 $RPM_BUILD_ROOT/%{_bindir}
install ping $RPM_BUILD_ROOT/%{_bindir}
-install ping6 $RPM_BUILD_ROOT/%{_bindir}
-install ipg $RPM_BUILD_ROOT/%{_bindir}
+#install rarpd $RPM_BUILD_ROOT/%{_bindir}
#UsrMerge
+# We still have reverse dependencies using /sbin/* or /bin/*
+# so keep these symlinks for now. They are slowly being fixed
+# but lets not just break them yet.
mkdir -p $RPM_BUILD_ROOT/{bin,sbin}
ln -sf %{_sbindir}/arping $RPM_BUILD_ROOT/sbin
-ln -sf %{_sbindir}/ifenslave $RPM_BUILD_ROOT/sbin
ln -sf %{_sbindir}/clockdiff $RPM_BUILD_ROOT/sbin
ln -sf %{_sbindir}/in.rdisc $RPM_BUILD_ROOT/sbin
-ln -sf %{_sbindir}/tracepath $RPM_BUILD_ROOT/sbin
-ln -sf %{_sbindir}/tracepath6 $RPM_BUILD_ROOT/sbin
+ln -sf %{_bindir}/tracepath $RPM_BUILD_ROOT/bin
+ln -sf %{_bindir}/tracepath6 $RPM_BUILD_ROOT/bin
ln -sf %{_bindir}/ping $RPM_BUILD_ROOT/bin
-ln -sf %{_bindir}/ping6 $RPM_BUILD_ROOT/bin
-ln -sf %{_bindir}/ipg $RPM_BUILD_ROOT/bin
#EndUsrMerge
-mkdir -p $RPM_BUILD_ROOT%_mandir/man8
-install -m 644 doc/arping.8 $RPM_BUILD_ROOT%_mandir/man8/
-install -m 644 doc/clockdiff.8 $RPM_BUILD_ROOT%_mandir/man8/
-install -m 644 doc/tracepath.8 $RPM_BUILD_ROOT%_mandir/man8/
-install -m 644 doc/ping.8 $RPM_BUILD_ROOT%_mandir/man8/
-install -m 644 doc/ping.8 $RPM_BUILD_ROOT%_mandir/man8/ping6.8
-install -m 644 doc/pg3.8 $RPM_BUILD_ROOT%_mandir/man8/
-install -m 644 doc/rdisc.8 $RPM_BUILD_ROOT%_mandir/man8/
-%clean
-rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man8
+# Remove conflicting manpages
+rm doc/tftpd* doc/traceroute* doc/rarpd*
+# Install the rest
+install -m 644 doc/*.8 $RPM_BUILD_ROOT%_mandir/man8/
%post
-%set_permissions %{_bindir}/ping %{_bindir}/ping6
+%set_permissions %{_bindir}/ping
%verifyscript
-%verify_permissions %{_bindir}/ping %{_bindir}/ping6
+%verify_permissions -e %{_bindir}/ping
%files
%defattr(-,root,root)
%doc RELNOTES
+%verify(not mode) %attr(0755,root,root) %{_bindir}/ping
+#%{_bindir}/rarpd
%{_sbindir}/arping
-%{_sbindir}/ifenslave
%{_sbindir}/clockdiff
-%verify(not mode caps) %attr(4755,root,root) %{_bindir}/ping
-%verify(not mode caps) %attr(4755,root,root) %{_bindir}/ping6
-%{_bindir}/ipg
-%{_sbindir}/tracepath
-%{_sbindir}/tracepath6
+%{_bindir}/tracepath
+%{_bindir}/tracepath6
%{_sbindir}/in.rdisc
+%attr(644,root,root) %_mandir/man8/*
#UsrMerge
/bin/*
/sbin/*
#EndUsrMerge
-%attr(644,root,root) %_mandir/man8/*
%changelog
++++++ iputils-ping-interrupt.diff ++++++
From 41e442fea26f20ceb815306777d36361575825cc Mon Sep 17 00:00:00 2001
From: Hannes Reinecke
Date: Mon, 26 Aug 2013 13:05:01 +0200
Subject: Allow ping to be interrupted
Signed-off-by: Hannes Reinecke
---
ping.c | 9 +++++++++
1 file changed, 9 insertions(+)
Index: iputils/ping.c
===================================================================
--- iputils.orig/ping.c
+++ iputils/ping.c
@@ -96,6 +96,7 @@ static void usage(void) __attribute__((n
static unsigned short in_cksum(const unsigned short *addr, int len, unsigned short salt);
static void pr_icmph(__u8 type, __u8 code, __u32 info, struct icmphdr *icp);
static int parsetos(char *str);
+static void doexit (int);
static struct {
struct cmsghdr cm;
@@ -514,6 +515,8 @@ int ping4_run(int argc, char **argv, str
options |= F_SOURCEROUTE;
}
}
+ set_signal(SIGINT, doexit);
+
while (argc > 0) {
target = *argv;
@@ -1627,3 +1630,9 @@ void usage(void)
ping6_usage(1);
exit(2);
}
+
+static void doexit(int signo)
+{
+ exit (1);
+}
+
++++++ iputils-remove-bogus-check-required-for-2.4.9-kernels.patch ++++++
--- /var/tmp/diff_new_pack.D6uXVP/_old 2016-06-03 16:37:01.000000000 +0200
+++ /var/tmp/diff_new_pack.D6uXVP/_new 2016-06-03 16:37:01.000000000 +0200
@@ -12,45 +12,24 @@
index b9d649531621..f9f4a28f5dc1 100644
--- a/ping.c
+++ b/ping.c
-@@ -654,17 +654,6 @@ int receive_error_msg()
+@ -898,17 +898,6 @@
acknowledge(ntohs(icmph.un.echo.sequence));
-- if (!working_recverr) {
+- if (sock->socktype == SOCK_RAW && !sock->working_recverr) {
- struct icmp_filter filt;
-- working_recverr = 1;
+- sock->working_recverr = 1;
- /* OK, it works. Add stronger filter. */
-- filt.data = ~((1<fd, SOL_RAW, ICMP_FILTER, (char*)&filt, sizeof(filt)) == -1)
- perror("\rWARNING: setsockopt(ICMP_FILTER)");
- }
-
net_errors++;
nerrors++;
if (options & F_QUIET)
-@@ -820,19 +809,7 @@ parse_reply(struct msghdr *msg, int cc, void *addr, struct timeval *tv)
- icp->type != ICMP_SOURCE_QUENCH);
- if (error_pkt) {
- acknowledge(ntohs(icp1->un.echo.sequence));
-- if (working_recverr) {
-- return 0;
-- } else {
-- static int once;
-- /* Sigh, IP_RECVERR for raw socket
-- * was broken until 2.4.9. So, we ignore
-- * the first error and warn on the second.
-- */
-- if (once++ == 1)
-- fprintf(stderr, "\rWARNING: kernel is not very fresh, upgrade is recommended.\n");
-- if (once == 1)
-- return 0;
-- }
-+ return 0;
- }
- nerrors+=error_pkt;
- if (options&F_QUIET)
--
2.3.5
++++++ iputils-sec-ping-unblock.diff ++++++
From bf83678619dd0286f7a66f2ab02763751b0e8ca9 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke
Date: Mon, 26 Aug 2013 13:02:36 +0200
Subject: Block SIGALRM in ping.c
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
ping depends on SIGALRM to exit eventually, so we need to mask
it with UNBLOCK.
Signed-off-by: Marcus Schäfer
Signed-off-by: Hannes Reinecke
---
ping.c | 10 ++++++++++
1 file changed, 10 insertions(+)
Index: iputils/ping.c
===================================================================
--- iputils.orig/ping.c
+++ iputils/ping.c
@@ -443,6 +443,17 @@ main(int argc, char **argv)
/* Create sockets */
enable_capability_raw();
+
+ /*
+ * ping depend on SIGALARM to exit sometimes,
+ * but to popen, system, fork carry on parent signal handler
+ * so we mask it ourself.
+ */
+ sigset_t s;
+ sigaddset(&s, SIGALRM);
+ sigprocmask(SIG_UNBLOCK, &s, NULL);
+ set_signal(SIGALRM, doexit);
+
if (hints.ai_family != AF_INET6)
create_socket(&sock4, AF_INET, hints.ai_socktype, IPPROTO_ICMP, hints.ai_family == AF_INET);
if (hints.ai_family != AF_INET)