Hello community, here is the log from the commit of package iputils for openSUSE:Factory checked in at 2019-07-15 22:42:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/iputils (Old) and /work/SRC/openSUSE:Factory/.iputils.new.1887 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iputils" Mon Jul 15 22:42:48 2019 rev:47 rq:714410 version:s20190709 Changes: -------- --- /work/SRC/openSUSE:Factory/iputils/iputils.changes 2019-06-18 14:54:54.641458568 +0200 +++ /work/SRC/openSUSE:Factory/.iputils.new.1887/iputils.changes 2019-07-15 22:42:48.911919402 +0200 @@ -1,0 +2,10 @@ +Wed Jul 10 08:27:00 UTC 2019 - Petr Vorel <[email protected]> + +- Update to version s20190709 +- Removed patches included in this upstream release: + ping-Fix-unwanted-bell-on-unreachable-address.patch + 0001-build-sys-doc-Fix-the-dependency-on-xsltproc.patch + meson-remove-setcap-setuid.sh.patch +- Add libcap-progs as a build dependency (setcap is needed) + +------------------------------------------------------------------- Old: ---- 0001-build-sys-doc-Fix-the-dependency-on-xsltproc.patch meson-remove-setcap-setuid.sh.patch ping-Fix-unwanted-bell-on-unreachable-address.patch s20190515.tar.gz New: ---- s20190709.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ iputils.spec ++++++ --- /var/tmp/diff_new_pack.V2IxMq/_old 2019-07-15 22:42:49.639919229 +0200 +++ /var/tmp/diff_new_pack.V2IxMq/_new 2019-07-15 22:42:49.639919229 +0200 @@ -17,7 +17,7 @@ Name: iputils -Version: s20190515 +Version: s20190709 Release: 0 Summary: IPv4 and IPv6 Networking Utilities License: BSD-3-Clause AND GPL-2.0-or-later @@ -27,13 +27,11 @@ Source1: rarpd.service Patch1: iputils-sec-ping-unblock.diff Patch2: iputils-ping-interrupt.diff -Patch3: 0001-build-sys-doc-Fix-the-dependency-on-xsltproc.patch -Patch4: meson-remove-setcap-setuid.sh.patch -Patch5: ping-Fix-unwanted-bell-on-unreachable-address.patch BuildRequires: docbook5-xsl-stylesheets BuildRequires: docbook_5 BuildRequires: iso_ent BuildRequires: libcap-devel +BuildRequires: libcap-progs BuildRequires: libidn2-devel BuildRequires: libopenssl-devel BuildRequires: meson @@ -69,9 +67,6 @@ %setup -q %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 %build # Export CFLAGS so we can also benefit from the ones the Makefile sets for us @@ -124,11 +119,11 @@ %service_add_pre rdisc.service %post +%service_add_post rdisc.service %set_permissions %{_bindir}/ping %verifyscript %verify_permissions -e %{_bindir}/ping -%service_add_post rdisc.service %preun %service_del_preun rdisc.service ++++++ s20190515.tar.gz -> s20190709.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/.travis.yml new/iputils-s20190709/.travis.yml --- old/iputils-s20190515/.travis.yml 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/.travis.yml 2019-07-09 22:55:49.000000000 +0200 @@ -14,7 +14,6 @@ - "libidn2-0-dev" - "nettle-dev" - "xsltproc" - - "docbook-xsl" - "docbook-xsl-ns" matrix: include: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/Documentation/README.maintainer new/iputils-s20190709/Documentation/README.maintainer --- old/iputils-s20190515/Documentation/README.maintainer 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/Documentation/README.maintainer 2019-07-09 22:55:49.000000000 +0200 @@ -24,3 +24,47 @@ trying to understand why something was done. It is also nice when commit id of the change that caused a bug is referred in commit message. That helps understanding what versions are impacted by an issue. + +# How to make a release + +Go to release listings https://github.com/iputils/iputils/releases and check +what was said in previous release message. Draft release message - remember +if you have nothing to say then you don't have good enough reason to publish +release. + +Create release commit and tag. + + date_str=$(date +s%Y%m%d) && + sed --in-place "s/version : '.*')/version : '$date_str')/" meson.build && + git add meson.build && + git commit --signoff --message "release: iputils-$date_str" && + git tag --sign --annotate $date_str --message iputils-$date_str + +Check that the commit and tag looks ok. + + git show $date_str --show-signature + +Assuming things are great push to github. + + git push origin master:master && + git push origin --tags + +Go to github https://github.com/iputils/iputils/releases and paste the +release message you drafted earlier to text box. Choose the tag you just +created. Download the release files and sign them. + + for file in iputils-$date_str ; do gpg --sign --armor --detach-sign $file ; done + +Upload the .asc files to release as additional files. The release should be +ready. People tend to react to releases, so expect bug reports and pull +requests after release. Assuming release has fatal flaw(s) make another one +sometime soon. + +# Branches in git + +The upstream repository has exactly one branch and it is `master`. If a +maintainer wants to use work in progress branches they need to be kept in +personal clone. There are two reasons to do this. For contributors it is +nice not to see random branches when cloning upstream repo. Secondly when +maintainer wants to add a contributor repo as additional remote it is easier +to see what is going on there. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/arping.c new/iputils-s20190709/arping.c --- old/iputils-s20190515/arping.c 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/arping.c 2019-07-09 22:55:49.000000000 +0200 @@ -37,15 +37,6 @@ #include "iputils_common.h" -#ifdef USE_IDN -# ifndef AI_IDN -# define AI_IDN 0x0040 -# endif -# ifndef AI_CANONIDN -# define AI_CANONIDN 0x0080 -# endif -#endif - #ifdef DEFAULT_DEVICE # define DEFAULT_DEVICE_STR DEFAULT_DEVICE #else @@ -801,7 +792,7 @@ close(tfd); freeifaddrs(ctl->ifa0); rc |= finish(ctl); - rc |= !(ctl->brd_sent != ctl->received); + rc |= (ctl->sent != ctl->received); return rc; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/build-aux/setcap-setuid.sh new/iputils-s20190709/build-aux/setcap-setuid.sh --- old/iputils-s20190515/build-aux/setcap-setuid.sh 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/build-aux/setcap-setuid.sh 2019-07-09 22:55:49.000000000 +0200 @@ -16,8 +16,8 @@ # https://github.com/iputils/iputils/issues/175 ;; 'caps') - echo "$0: calling: $setcap cap_net_raw+ep $exec_path" - "$setcap" 'cap_net_raw+ep' "$exec_path" || true + echo "$0: calling: $setcap cap_net_raw+p $exec_path" + "$setcap" 'cap_net_raw+p' "$exec_path" || true ;; 'setuid') echo "$0: changing $exec_path to be setuid root executable" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/doc/meson.build new/iputils-s20190709/doc/meson.build --- old/iputils-s20190515/doc/meson.build 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/doc/meson.build 2019-07-09 22:55:49.000000000 +0200 @@ -38,7 +38,7 @@ manpages += ['ninfod'] endif -xsltproc = find_program('xsltproc', required : true) +xsltproc = find_program('xsltproc', required : build_mans or build_html_mans) xsltproc_args = [ '--nonet', '--stringparam', 'man.output.quietly', '1', @@ -48,19 +48,26 @@ ] if xsltproc.found() - xsl = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl' - testrun = run_command([xsltproc, '--nonet', xsl]) - xsltproc_works = testrun.returncode() == 0 - if xsltproc_works == false - warning('xsltproc: cannot process ' + xsl) + doc_targets = [] + if build_mans + doc_targets += ['manpages'] endif -else - warning('No docbook stylesheet found for generating man pages') - xsltproc_works = false + if build_html_mans + doc_targets += ['html'] + endif + xsltproc_works = true + foreach doc_target : doc_targets + xsl = 'http://docbook.sourceforge.net/release/xsl-ns/current/' + doc_target + '/docbook.xsl' + testrun = run_command([xsltproc, '--nonet', xsl]) + if testrun.returncode() != 0 + xsltproc_works = false + message('WARNING: xsltproc: cannot process ' + xsl) + endif + endforeach endif if xsltproc_works == false - error('Man pages cannot be built: xsltproc does not work correctly') + error('Docs cannot be built: xsltproc does not work correctly') endif if build_mans diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/iputils_common.h new/iputils-s20190709/iputils_common.h --- old/iputils-s20190515/iputils_common.h 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/iputils_common.h 2019-07-09 22:55:49.000000000 +0200 @@ -24,6 +24,31 @@ # define _(Text) Text #endif +#ifdef USE_IDN +# include <idn2.h> + +# include <netdb.h> +# ifndef AI_IDN +# define AI_IDN 0x0040 +# endif +# ifndef AI_CANONIDN +# define AI_CANONIDN 0x0080 +# endif +# ifndef NI_IDN +# define NI_IDN 32 +# endif +#endif /* #ifdef USE_IDN */ + +#ifndef SOL_IPV6 +# define SOL_IPV6 IPPROTO_IPV6 +#endif +#ifndef IP_PMTUDISC_DO +# define IP_PMTUDISC_DO 2 +#endif +#ifndef IPV6_PMTUDISC_DO +# define IPV6_PMTUDISC_DO 2 +#endif + #ifdef HAVE_ERROR_H # include <error.h> #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/meson.build new/iputils-s20190709/meson.build --- old/iputils-s20190515/meson.build 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/meson.build 2019-07-09 22:55:49.000000000 +0200 @@ -3,7 +3,8 @@ 'c_std=c99', 'warning_level=3', ], - version : 's20190515') # keep in sync with: git describe | awk -F- '{print $1}' + meson_version : '>=0.39', + version : 's20190709') # keep in sync with: git describe | awk -F- '{print $1}' cc = meson.get_compiler('c') @@ -76,6 +77,8 @@ conf.set_quoted('DEFAULT_DEVICE', opt, description : 'arping default device.') endif +# Some systems needs intl for gettext +intl_dep = [] opt = get_option('USE_GETTEXT') if opt == true prefix = get_option('prefix') @@ -85,6 +88,7 @@ conf.set('ENABLE_NLS', 1, description : 'If set enable I18N.') conf.set_quoted('LOCALEDIR', join_paths(prefix, localedir)) subdir ('po') + intl_dep += cc.find_library('intl', required : false) endif opt = get_option('USE_IDN') @@ -100,20 +104,22 @@ endif crypto = get_option('USE_CRYPTO') +crypto_dep = [] if crypto == 'nettle' - crypto_dep = dependency('nettle') + crypto_dep += dependency('nettle') conf.set('USE_NETTLE', 1, description : 'If set use nettle crypto library.') elif crypto == 'gcrypt' - crypto_dep = cc.find_library('gcrypt') + crypto_dep += cc.find_library('gcrypt') + crypto_dep += dependency('gpg-error', required : true) conf.set('USE_GCRYPT', 1, description : 'If set use gcrypt crypto library.') elif crypto == 'openssl' - crypto_dep = dependency('openssl') + crypto_dep += dependency('openssl') conf.set('USE_OPENSSL', 1, description : 'if set use openssl crypto library.') elif crypto == 'kernel' - crypto_dep = dependency('disabler-appears-to-disable-executable-build', required : false) + crypto_dep += dependency('disabler-appears-to-disable-executable-build', required : false) conf.set('USE_KERNEL_CRYPTO_API', 1, description : 'if set use Linux kernel Crypto API.') elif crypto == 'none' - crypto_dep = dependency('disabler-appears-to-disable-executable-build', required : false) + crypto_dep += dependency('disabler-appears-to-disable-executable-build', required : false) conf.set('PING6_NONCE_MEMORY', 1, description : 'If set RFC6744 random does not use any CRYPTO lib.') endif @@ -211,7 +217,8 @@ git_version_h = vcs_tag( input : 'git-version.h.meson', - output : 'git-version.h' + output : 'git-version.h', + fallback : meson.project_version() ) config_h = configure_file( @@ -221,10 +228,13 @@ setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false) if get_option('NO_SETCAP_OR_SUID') perm_type = 'none' + setcap_path = '/dev/null' elif cap_dep.found() and setcap.found() perm_type = 'caps' + setcap_path = setcap.path() else perm_type = 'setuid' + setcap_path = '/dev/null' endif ############################################################ @@ -236,47 +246,47 @@ if build_ping == true executable('ping', ['ping.c', 'ping_common.c', 'ping6_common.c', git_version_h], - dependencies : [m_dep, cap_dep, idn_dep, crypto_dep, resolv_dep], + dependencies : [m_dep, cap_dep, idn_dep, intl_dep, crypto_dep, resolv_dep], link_with : [libcommon], install: true) meson.add_install_script('build-aux/setcap-setuid.sh', join_paths(get_option('prefix'), get_option('bindir')), 'ping', perm_type, - setcap.path() + setcap_path ) endif if build_tracepath == true executable('tracepath', ['tracepath.c', git_version_h], - dependencies : idn_dep, + dependencies : [idn_dep, intl_dep], link_with : [libcommon], install: true) endif if build_traceroute6 == true executable('traceroute6', ['traceroute6.c', git_version_h], - dependencies : [cap_dep, idn_dep], + dependencies : [cap_dep, intl_dep, idn_dep], link_with : [libcommon], install: true) meson.add_install_script('build-aux/setcap-setuid.sh', join_paths(get_option('prefix'), get_option('bindir')), 'traceroute6', perm_type, - setcap.path() + setcap_path ) endif if build_clockdiff == true executable('clockdiff', ['clockdiff.c', git_version_h], - dependencies : [cap_dep], + dependencies : [cap_dep, intl_dep], link_with : [libcommon], install: true) meson.add_install_script('build-aux/setcap-setuid.sh', join_paths(get_option('prefix'), get_option('bindir')), 'clockdiff', perm_type, - setcap.path() + setcap_path ) endif @@ -299,14 +309,14 @@ if build_arping == true executable('arping', ['arping.c', git_version_h], - dependencies : [rt_dep, cap_dep, idn_dep], + dependencies : [rt_dep, cap_dep, idn_dep, intl_dep], link_with : [libcommon], install: true) meson.add_install_script('build-aux/setcap-setuid.sh', join_paths(get_option('prefix'), get_option('bindir')), 'arping', perm_type, - setcap.path() + setcap_path ) endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/ninfod/ninfod_name.c new/iputils-s20190709/ninfod/ninfod_name.c --- old/iputils-s20190515/ninfod/ninfod_name.c 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/ninfod/ninfod_name.c 2019-07-09 22:55:49.000000000 +0200 @@ -95,7 +95,7 @@ #include <arpa/inet.h> -#if defined(HAVE_GCRYPT_H) || defined(USE_KERNEL_CRYPTO_API) +#if defined(HAVE_GCRYPT_H) || defined(USE_KERNEL_CRYPTO_API) || defined(USE_NETTLE) # include "iputils_md5dig.h" #elif defined(HAVE_GNUTLS_OPENSSL_H) # include <gnutls/openssl.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/ping.c new/iputils-s20190709/ping.c --- old/iputils-s20190515/ping.c 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/ping.c 2019-07-09 22:55:49.000000000 +0200 @@ -877,6 +877,16 @@ acknowledge(ntohs(icmph.un.echo.sequence)); + if (sock->socktype == SOCK_RAW) { + struct icmp_filter filt; + + filt.data = ~((1 << ICMP_SOURCE_QUENCH) | + (1 << ICMP_REDIRECT) | + (1 << ICMP_ECHOREPLY)); + if (setsockopt(sock->fd, SOL_RAW, ICMP_FILTER, (const void *)&filt, + sizeof(filt)) == -1) + error(2, errno, "setsockopt(ICMP_FILTER)"); + } net_errors++; nerrors++; if (options & F_QUIET) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/ping.h new/iputils-s20190709/ping.h --- old/iputils-s20190515/ping.h 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/ping.h 2019-07-09 22:55:49.000000000 +0200 @@ -38,16 +38,6 @@ #include "iputils_ni.h" #ifdef USE_IDN -# include <idn2.h> -# ifndef AI_IDN -# define AI_IDN 0x0040 -# endif -# ifndef AI_CANONIDN -# define AI_CANONIDN 0x0080 -# endif -# ifndef NI_IDN -# define NI_IDN 32 -# endif # define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN) # define getnameinfo_flags NI_IDN #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/ping6_common.c new/iputils-s20190709/ping6_common.c --- old/iputils-s20190515/ping6_common.c 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/ping6_common.c 2019-07-09 22:55:49.000000000 +0200 @@ -726,6 +726,10 @@ if (!(packet = (unsigned char *)malloc((unsigned int)packlen))) error(2, errno, _("memory allocation failed")); + hold = 1; + if (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVERR, (const void *)&hold, sizeof hold)) + error(2, errno, "IPV6_RECVERR"); + /* Estimate memory eaten by single packet. It is rough estimate. * Actually, for small datalen's it depends on kernel side a lot. */ hold = datalen + 8; @@ -754,11 +758,6 @@ ICMP6_FILTER_SETBLOCKALL(&filter); - ICMP6_FILTER_SETPASS(ICMP6_DST_UNREACH, &filter); - ICMP6_FILTER_SETPASS(ICMP6_PACKET_TOO_BIG, &filter); - ICMP6_FILTER_SETPASS(ICMP6_TIME_EXCEEDED, &filter); - ICMP6_FILTER_SETPASS(ICMP6_PARAM_PROB, &filter); - if (niquery_is_enabled()) ICMP6_FILTER_SETPASS(IPUTILS_NI_ICMP6_REPLY, &filter); else @@ -1254,13 +1253,7 @@ !is_ours(sock, icmph1->icmp6_id)) return 1; acknowledge(ntohs(icmph1->icmp6_seq)); - nerrors++; - if (options & F_FLOOD) { - write_stdout("\bE", 2); - return 0; - } - print_timestamp(); - printf(_("From %s: icmp_seq=%u "), pr_addr(from, sizeof *from), ntohs(icmph1->icmp6_seq)); + return 0; } else { /* We've got something other than an ECHOREPLY */ if (!(options & F_VERBOSE) || uid) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/tracepath.c new/iputils-s20190709/tracepath.c --- old/iputils-s20190515/tracepath.c 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/tracepath.c 2019-07-09 22:55:49.000000000 +0200 @@ -35,28 +35,11 @@ #include "iputils_common.h" #ifdef USE_IDN -# ifndef AI_IDN -# define AI_IDN 0x0040 -# endif -# ifndef NI_IDN -# define NI_IDN 32 -# endif # define getnameinfo_flags NI_IDN #else # define getnameinfo_flags 0 #endif -#ifndef SOL_IPV6 -# define SOL_IPV6 IPPROTO_IPV6 -#endif - -#ifndef IP_PMTUDISC_DO -# define IP_PMTUDISC_DO 3 -#endif -#ifndef IPV6_PMTUDISC_DO -# define IPV6_PMTUDISC_DO 3 -#endif - enum { MAX_PROBES = 10, @@ -551,7 +534,7 @@ error(1, errno, "IPV6_MTU_DISCOVER"); on = 1; if (setsockopt(ctl.socket_fd, SOL_IPV6, IPV6_RECVERR, &on, sizeof(on))) - error(1, errno, "IPV6_IPV6_RECVERR"); + error(1, errno, "IPV6_RECVERR"); if (setsockopt(ctl.socket_fd, SOL_IPV6, IPV6_HOPLIMIT, &on, sizeof(on)) #ifdef IPV6_RECVHOPLIMIT && setsockopt(ctl.socket_fd, SOL_IPV6, IPV6_2292HOPLIMIT, &on, sizeof(on)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iputils-s20190515/traceroute6.c new/iputils-s20190709/traceroute6.c --- old/iputils-s20190515/traceroute6.c 2019-05-15 22:14:10.000000000 +0200 +++ new/iputils-s20190709/traceroute6.c 2019-07-09 22:55:49.000000000 +0200 @@ -254,9 +254,6 @@ #include "iputils_common.h" #ifdef USE_IDN -# ifndef NI_IDN -# define NI_IDN 32 -# endif # define ADDRINFO_IDN_FLAGS AI_IDN # define getnameinfo_flags NI_IDN #else @@ -264,10 +261,6 @@ # define ADDRINFO_IDN_FLAGS 0 #endif -#ifndef SOL_IPV6 -# define SOL_IPV6 IPPROTO_IPV6 -#endif - enum { DEFAULT_PROBES = 3, DEFAULT_HOPS = 30,
