Hello community,
here is the log from the commit of package wicked for openSUSE:Factory checked in at 2019-04-08 20:51:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wicked (Old)
and /work/SRC/openSUSE:Factory/.wicked.new.3908 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wicked"
Mon Apr 8 20:51:05 2019 rev:75 rq:691820 version:0.6.54
Changes:
--------
--- /work/SRC/openSUSE:Factory/wicked/wicked.changes 2019-01-26 22:21:22.350906327 +0100
+++ /work/SRC/openSUSE:Factory/.wicked.new.3908/wicked.changes 2019-04-08 20:51:06.722461716 +0200
@@ -1,0 +2,11 @@
+Fri Apr 5 13:17:07 UTC 2019 - mt@suse.de
+
+- version 0.6.54
+- switch to use systemd notify and prevent event backlog at start
+ by calling udevadm settle before starting wickedd (bsc#1118206)
+- dhcp6: don't discard confirm reply without status (bsc#1127340)
+- ethtool: set lro legacy flag and not txvlan (bsc#1123555)
+- init memory before use in ioctl
+- fsm: fix find pending worker loop segfault (boo#1106809)
+
+-------------------------------------------------------------------
Old:
----
wicked-0.6.53.tar.bz2
New:
----
wicked-0.6.54.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wicked.spec ++++++
--- /var/tmp/diff_new_pack.duuThA/_old 2019-04-08 20:51:07.386462202 +0200
+++ /var/tmp/diff_new_pack.duuThA/_new 2019-04-08 20:51:07.390462205 +0200
@@ -18,10 +18,10 @@
%define release_prefix %{?snapshot:%{snapshot}}%{!?snapshot:0}
Name: wicked
-Version: 0.6.53
+Version: 0.6.54
Release: %{release_prefix}.0.0
Summary: Network configuration infrastructure
-License: GPL-2.0
+License: GPL-2.0-only
Group: System/Management
Url: https://github.com/openSUSE/wicked
Source0: %{name}-%{version}.tar.bz2
@@ -83,6 +83,8 @@
%endif
%if %{with systemd}
+BuildRequires: systemd-devel
+BuildRequires: systemd-rpm-macros
%{?systemd_requires}
%if 0%{?suse_version:1}
Requires(pre): %fillup_prereq
++++++ wicked-0.6.53.tar.bz2 -> wicked-0.6.54.tar.bz2 ++++++
++++ 25743 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/ChangeLog new/wicked-0.6.54/ChangeLog
--- old/wicked-0.6.53/ChangeLog 2019-01-24 18:56:13.000000000 +0100
+++ new/wicked-0.6.54/ChangeLog 2019-04-05 15:26:43.000000000 +0200
@@ -1,3 +1,107 @@
+commit d4465ef03ab1d70e2e7fb292807e9152443ab5ca
+Author: Marius Tomaschewski
+Date: Fri Apr 5 15:10:50 2019 +0200
+
+ version 0.6.54
+
+commit d0c5848efed70bb34cb2c70bca0cf095c0711fc7
+Merge: 526989d1 6b1f8ed1
+Author: Marius Tomaschewski
+Date: Fri Apr 5 15:08:01 2019 +0200
+
+ Merge pull request #791 from mtomaschewski/bug-1118206-1
+
+ use systemd notify and prevent backlog at start by calling udevadm settle (bsc#1118206)
+
+commit 6b1f8ed18f254b3ba237ab0d9135c9a7b4892852
+Author: Rubén Torrero Marijnissen
+Date: Wed Mar 13 18:26:21 2019 +0000
+
+ systemd: ask udev to settle before wickedd runs
+
+commit 996051cab7ca9e27548b66cd94bfe27cb5045667
+Author: Marius Tomaschewski
+Date: Thu Mar 7 12:03:46 2019 +0100
+
+ systemd: remove bus-name from type=notify services
+
+commit 8a125d47a4e066e77cd560c8d814ac1495b2a0bb
+Author: Marius Tomaschewski
+Date: Mon Mar 4 12:52:29 2019 +0100
+
+ daemons: change services to use systemd notify
+
+commit 33ea8d283584988e039d7f4ca3ba87b7c78828dd
+Author: Marius Tomaschewski
+Date: Tue Mar 5 17:17:59 2019 +0100
+
+ rpm: add systemd-devel build requires to spec file
+
+commit d92f62fae954b8e33ae004c1eb22c9d832aa399b
+Author: Marius Tomaschewski
+Date: Fri Feb 1 12:05:01 2019 +0100
+
+ fsm: do not process events while refreshing state
+
+commit c4fb741b6304beb8508f719bf7598a97978314ac
+Author: Marius Tomaschewski
+Date: Fri Feb 1 12:15:26 2019 +0100
+
+ nanny: block event processing while init and start
+
+commit 19e388bd76c1c0e6ae442ab17e49d0a1277bb514
+Author: Marius Tomaschewski
+Date: Fri Feb 1 12:14:46 2019 +0100
+
+ fsm: expose methods to block and process events
+
+commit 46d43b9e8517b2f9427022de6c5cabf7e0be55d0
+Author: Marius Tomaschewski
+Date: Fri Feb 1 12:13:22 2019 +0100
+
+ nanny: background first, then init and start
+
+commit 33270b565c0caf27e2b377ed6dd31613343cdd53
+Author: Marius Tomaschewski
+Date: Tue Apr 2 14:44:10 2019 +0200
+
+ dhcp6: don't discard confirm reply without status (bsc#1127340)
+
+commit 0ad333f513982cbb05098db633bfe0fca81c958d
+Author: Marius Tomaschewski
+Date: Mon Feb 18 14:39:03 2019 +0100
+
+ ethtool: set lro legacy flag and not txvlan
+
+commit a03519320080f3dcaaddf8abf170186bbddbdcd9
+Author: Paul Zirnik
+Date: Mon Feb 18 14:35:25 2019 +0100
+
+ ethtool: log correct legacy flag name on error
+
+commit 784dac00dab0155f23675a8f2c2d2fdcd4264e4a
+Author: Clemens Famulla-Conrad
+Date: Thu Feb 14 11:23:17 2019 +0100
+
+ Init memory before use in ioctl
+
+ Pointed by valgrind.
+
+commit 2e3416835f0fe2d90682ce1186d755d3a19741c5
+Merge: b14f7753 9062a11c
+Author: Rubén Torrero Marijnissen
+Date: Wed Jan 30 11:36:07 2019 +0000
+
+ Merge pull request #786 from mtomaschewski/rename-segfault
+
+ fsm: fix find pending worker loop segfault (boo#1106809)
+
+commit 9062a11cd20d3e09d5525cb3db29f6aad0131afa
+Author: Marius Tomaschewski
+Date: Wed Jan 30 12:25:05 2019 +0100
+
+ fsm: fix find pending worker loop segfault (boo#1106809)
+
commit b14f77532d7b83a37731eb1826779519bbf7b228
Author: Rubén Torrero Marijnissen
Date: Thu Jan 24 16:36:11 2019 +0000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/VERSION new/wicked-0.6.54/VERSION
--- old/wicked-0.6.53/VERSION 2019-01-24 17:50:43.000000000 +0100
+++ new/wicked-0.6.54/VERSION 2019-04-05 15:24:23.000000000 +0200
@@ -1 +1 @@
-0.6.53
+0.6.54
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/autoip4/Makefile.am new/wicked-0.6.54/autoip4/Makefile.am
--- old/wicked-0.6.53/autoip4/Makefile.am 2015-10-05 19:14:29.000000000 +0200
+++ new/wicked-0.6.54/autoip4/Makefile.am 2019-04-05 15:22:33.000000000 +0200
@@ -10,17 +10,19 @@
wickedd_auto4_CFLAGS = $(LIBNL_CFLAGS) \
$(LIBDBUS_CFLAGS) \
- $(LIBGCRYPT_CFLAGS)
+ $(LIBGCRYPT_CFLAGS) \
+ $(LIBSYSTEMD_CFLAGS)
-wickedd_auto4_LDFLAGS = -rdynamic
-wickedd_auto4_LDADD = $(top_builddir)/src/libwicked.la
-wickedd_auto4_SOURCES = \
- dbus-api.c \
- device.c \
- fsm.c \
+wickedd_auto4_LDFLAGS = -rdynamic \
+ $(LIBSYSTEMD_LIBS)
+wickedd_auto4_LDADD = $(top_builddir)/src/libwicked.la
+wickedd_auto4_SOURCES = \
+ dbus-api.c \
+ device.c \
+ fsm.c \
main.c
-noinst_HEADERS = \
+noinst_HEADERS = \
autoip.h
# vim: ai
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/autoip4/main.c new/wicked-0.6.54/autoip4/main.c
--- old/wicked-0.6.53/autoip4/main.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/autoip4/main.c 2019-04-05 15:22:33.000000000 +0200
@@ -17,6 +17,9 @@
#include
#include
#include
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+#include
+#endif
#include
#include
@@ -429,6 +432,12 @@
ni_fatal("unable to background server");
}
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+ if (opt_systemd) {
+ sd_notify(0, "READY=1");
+ }
+#endif
+
while (!ni_caught_terminal_signal()) {
long timeout;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/compile new/wicked-0.6.54/compile
--- old/wicked-0.6.53/compile 1970-01-01 01:00:00.000000000 +0100
+++ new/wicked-0.6.54/compile 2019-04-05 15:26:36.000000000 +0200
@@ -0,0 +1,348 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2016-01-11.22; # UTC
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Written by Tom Tromey .
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see http://www.gnu.org/licenses/.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to or send patches to
+# .
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to .
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/config.h.in new/wicked-0.6.54/config.h.in
--- old/wicked-0.6.53/config.h.in 2019-01-24 18:55:11.000000000 +0100
+++ new/wicked-0.6.54/config.h.in 2019-04-05 15:26:35.000000000 +0200
@@ -149,6 +149,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_SYSLOG_H
+/* Define to 1 if you have the header file. */
+#undef HAVE_SYSTEMD_SD_DAEMON_H
+
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_IOCTL_H
@@ -182,8 +185,7 @@
/* Define to 1 if `vfork' works. */
#undef HAVE_WORKING_VFORK
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
/* Enable to use rfc4361 DHCPv4 client-id by default */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/configure.ac new/wicked-0.6.54/configure.ac
--- old/wicked-0.6.53/configure.ac 2019-01-24 17:32:33.000000000 +0100
+++ new/wicked-0.6.54/configure.ac 2019-04-05 15:22:33.000000000 +0200
@@ -261,6 +261,12 @@
PKG_CHECK_MODULES(LIBNL, [libnl-3.0 libnl-route-3.0])
PKG_CHECK_MODULES(LIBDBUS, [dbus-1])
+# Check for systemd modules.
+if test "X$enable_systemd" = Xyes; then
+ PKG_CHECK_MODULES(LIBSYSTEMD, [libsystemd])
+ AC_CHECK_HEADERS([systemd/sd-daemon.h],[],[AC_MSG_ERROR([Cannot find sd-daemon.h header file])])
+fi
+
# Checks for header files.
AC_CHECK_HEADER([iwlib.h],[],[AC_MSG_ERROR([Please install libiw-devel to get wireless.h])])
AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/dhcp4/Makefile.am new/wicked-0.6.54/dhcp4/Makefile.am
--- old/wicked-0.6.53/dhcp4/Makefile.am 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/dhcp4/Makefile.am 2019-04-05 15:22:33.000000000 +0200
@@ -10,12 +10,14 @@
wickedd_dhcp4_CFLAGS = $(LIBNL_CFLAGS) \
$(LIBDBUS_CFLAGS) \
- $(LIBGCRYPT_CFLAGS)
+ $(LIBGCRYPT_CFLAGS) \
+ $(LIBSYSTEMD_CFLAGS)
-wickedd_dhcp4_LDFLAGS = -rdynamic
-wickedd_dhcp4_LDADD = $(top_builddir)/src/libwicked.la
-wickedd_dhcp4_SOURCES = \
- dbus-api.c \
+wickedd_dhcp4_LDFLAGS = -rdynamic \
+ $(LIBSYSTEMD_LIBS)
+wickedd_dhcp4_LDADD = $(top_builddir)/src/libwicked.la
+wickedd_dhcp4_SOURCES = \
+ dbus-api.c \
main.c
# vim: ai
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/dhcp4/main.c new/wicked-0.6.54/dhcp4/main.c
--- old/wicked-0.6.53/dhcp4/main.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/dhcp4/main.c 2019-04-05 15:22:33.000000000 +0200
@@ -16,6 +16,9 @@
#include
#include
#include
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+#include
+#endif
#include
#include
@@ -482,6 +485,12 @@
if (opt_recover_state)
dhcp4_recover_state(opt_state_file);
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+ if (opt_systemd) {
+ sd_notify(0, "READY=1");
+ }
+#endif
+
while (!ni_caught_terminal_signal()) {
long timeout;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/dhcp6/Makefile.am new/wicked-0.6.54/dhcp6/Makefile.am
--- old/wicked-0.6.53/dhcp6/Makefile.am 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/dhcp6/Makefile.am 2019-04-05 15:22:33.000000000 +0200
@@ -10,15 +10,17 @@
wickedd_dhcp6_CFLAGS = $(LIBNL_CFLAGS) \
$(LIBDBUS_CFLAGS) \
- $(LIBGCRYPT_CFLAGS)
+ $(LIBGCRYPT_CFLAGS) \
+ $(LIBSYSTEMD_CFLAGS)
-wickedd_dhcp6_LDFLAGS = -rdynamic
-wickedd_dhcp6_LDADD = $(top_builddir)/src/libwicked.la
-wickedd_dhcp6_SOURCES = \
- dbus-api.c \
+wickedd_dhcp6_LDFLAGS = -rdynamic \
+ $(LIBSYSTEMD_LIBS)
+wickedd_dhcp6_LDADD = $(top_builddir)/src/libwicked.la
+wickedd_dhcp6_SOURCES = \
+ dbus-api.c \
main.c
-noinst_HEADERS = \
+noinst_HEADERS = \
dbus-api.h
# vim: ai
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/dhcp6/main.c new/wicked-0.6.54/dhcp6/main.c
--- old/wicked-0.6.53/dhcp6/main.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/dhcp6/main.c 2019-04-05 15:22:33.000000000 +0200
@@ -33,6 +33,9 @@
#include
#include
#include
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+#include
+#endif
#include
#include
@@ -458,6 +461,12 @@
if (opt_recover_state)
dhcp6_recover_state(opt_state_file);
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+ if (opt_systemd) {
+ sd_notify(0, "READY=1");
+ }
+#endif
+
while (!ni_caught_terminal_signal()) {
long timeout;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/etc/systemd/wickedd-auto4.service.in new/wicked-0.6.54/etc/systemd/wickedd-auto4.service.in
--- old/wicked-0.6.53/etc/systemd/wickedd-auto4.service.in 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/etc/systemd/wickedd-auto4.service.in 2019-04-05 15:22:33.000000000 +0200
@@ -6,8 +6,7 @@
PartOf=wickedd.service
[Service]
-Type=dbus
-BusName=org.opensuse.Network.AUTO4
+Type=notify
LimitCORE=infinity
EnvironmentFile=-/etc/sysconfig/network/config
ExecStart=@wicked_supplicantdir@/wickedd-auto4 --systemd --foreground
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/etc/systemd/wickedd-dhcp4.service.in new/wicked-0.6.54/etc/systemd/wickedd-dhcp4.service.in
--- old/wicked-0.6.53/etc/systemd/wickedd-dhcp4.service.in 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/etc/systemd/wickedd-dhcp4.service.in 2019-04-05 15:22:33.000000000 +0200
@@ -6,8 +6,7 @@
PartOf=wickedd.service
[Service]
-Type=dbus
-BusName=org.opensuse.Network.DHCP4
+Type=notify
LimitCORE=infinity
EnvironmentFile=-/etc/sysconfig/network/config
ExecStart=@wicked_supplicantdir@/wickedd-dhcp4 --systemd --foreground
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/etc/systemd/wickedd-dhcp6.service.in new/wicked-0.6.54/etc/systemd/wickedd-dhcp6.service.in
--- old/wicked-0.6.53/etc/systemd/wickedd-dhcp6.service.in 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/etc/systemd/wickedd-dhcp6.service.in 2019-04-05 15:22:33.000000000 +0200
@@ -6,8 +6,7 @@
PartOf=wickedd.service
[Service]
-Type=dbus
-BusName=org.opensuse.Network.DHCP6
+Type=notify
LimitCORE=infinity
EnvironmentFile=-/etc/sysconfig/network/config
ExecStart=@wicked_supplicantdir@/wickedd-dhcp6 --systemd --foreground
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/etc/systemd/wickedd-nanny.service.in new/wicked-0.6.54/etc/systemd/wickedd-nanny.service.in
--- old/wicked-0.6.53/etc/systemd/wickedd-nanny.service.in 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/etc/systemd/wickedd-nanny.service.in 2019-04-05 15:22:33.000000000 +0200
@@ -6,8 +6,7 @@
PartOf=wickedd.service
[Service]
-Type=dbus
-BusName=org.opensuse.Network.Nanny
+Type=notify
LimitCORE=infinity
EnvironmentFile=-/etc/sysconfig/network/config
ExecStart=@wicked_sbindir@/wickedd-nanny --systemd --foreground
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/etc/systemd/wickedd.service.in new/wicked-0.6.54/etc/systemd/wickedd.service.in
--- old/wicked-0.6.53/etc/systemd/wickedd.service.in 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/etc/systemd/wickedd.service.in 2019-04-05 15:22:33.000000000 +0200
@@ -6,10 +6,10 @@
Before=wickedd-nanny.service wicked.service network.target
[Service]
-Type=dbus
-BusName=org.opensuse.Network
+Type=notify
LimitCORE=infinity
EnvironmentFile=-/etc/sysconfig/network/config
+ExecStartPre=-/usr/bin/udevadm settle
ExecStart=@wicked_sbindir@/wickedd --systemd --foreground
StandardError=null
Restart=on-abort
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/include/wicked/fsm.h new/wicked-0.6.54/include/wicked/fsm.h
--- old/wicked-0.6.53/include/wicked/fsm.h 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/include/wicked/fsm.h 2019-04-05 15:22:33.000000000 +0200
@@ -280,6 +280,10 @@
extern ni_fsm_t * ni_fsm_new(void);
extern void ni_fsm_free(ni_fsm_t *);
+extern void ni_fsm_events_block(ni_fsm_t *);
+extern void ni_fsm_process_events(ni_fsm_t *);
+extern void ni_fsm_events_unblock(ni_fsm_t *);
+
extern ni_fsm_policy_t * ni_fsm_policy_new(ni_fsm_t *, const char *, xml_node_t *);
extern ni_fsm_policy_t * ni_fsm_policy_ref(ni_fsm_policy_t *);
extern void ni_fsm_policy_free(ni_fsm_policy_t *);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/missing new/wicked-0.6.54/missing
--- old/wicked-0.6.53/missing 2019-01-24 18:55:12.000000000 +0100
+++ new/wicked-0.6.54/missing 2019-04-05 15:26:36.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
@@ -210,6 +210,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/nanny/Makefile.am new/wicked-0.6.54/nanny/Makefile.am
--- old/wicked-0.6.53/nanny/Makefile.am 2015-10-05 19:14:29.000000000 +0200
+++ new/wicked-0.6.54/nanny/Makefile.am 2019-04-05 15:22:33.000000000 +0200
@@ -10,19 +10,21 @@
wickedd_nanny_CFLAGS = $(LIBNL_CFLAGS) \
$(LIBDBUS_CFLAGS) \
- $(LIBGCRYPT_CFLAGS)
+ $(LIBGCRYPT_CFLAGS) \
+ $(LIBSYSTEMD_CFLAGS)
-wickedd_nanny_LDFLAGS = -rdynamic
+wickedd_nanny_LDFLAGS = -rdynamic \
+ $(LIBSYSTEMD_LIBS)
wickedd_nanny_LDADD = $(top_builddir)/src/libwicked.la
wickedd_nanny_SOURCES = \
- device.c \
- interface.c \
- main.c \
- modem.c \
- nanny.c \
+ device.c \
+ interface.c \
+ main.c \
+ modem.c \
+ nanny.c \
policy.c
-noinst_HEADERS = \
+noinst_HEADERS = \
nanny.h
# vim: ai
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/nanny/main.c new/wicked-0.6.54/nanny/main.c
--- old/wicked-0.6.53/nanny/main.c 2016-02-15 12:47:42.000000000 +0100
+++ new/wicked-0.6.54/nanny/main.c 2019-04-05 15:22:33.000000000 +0200
@@ -17,6 +17,9 @@
#include
#include
#include
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+#include
+#endif
#include
#include
@@ -259,8 +262,6 @@
if (ni_init_ex("nanny", ni_nanny_config_callback, mgr) < 0)
ni_fatal("error in configuration file");
- ni_nanny_start(mgr);
-
if (!opt_foreground) {
ni_daemon_close_t close_flags = NI_DAEMON_CLOSE_STD;
@@ -271,6 +272,8 @@
ni_fatal("unable to background server");
}
+ ni_nanny_start(mgr);
+
if (ni_config_use_nanny()) {
ni_rfkill_open(handle_rfkill_event, mgr);
ni_nanny_discover_state(mgr);
@@ -279,6 +282,12 @@
else
ni_file_remove_recursively(ni_nanny_statedir());
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+ if (opt_systemd) {
+ sd_notify(0, "READY=1");
+ }
+#endif
+
while (!ni_caught_terminal_signal()) {
long timeout = NI_IFWORKER_INFINITE_TIMEOUT;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/nanny/nanny.c new/wicked-0.6.54/nanny/nanny.c
--- old/wicked-0.6.53/nanny/nanny.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/nanny/nanny.c 2019-04-05 15:22:33.000000000 +0200
@@ -93,6 +93,7 @@
mgr->fsm = ni_fsm_new();
mgr->fsm->worker_timeout = NI_IFWORKER_INFINITE_TIMEOUT;
+ ni_fsm_events_block(mgr->fsm);
ni_fsm_set_user_prompt_fn(mgr->fsm, ni_nanny_prompt, mgr);
ni_fsm_set_process_event_callback(mgr->fsm, ni_nanny_process_fsm_event, mgr);
@@ -117,6 +118,7 @@
if (!ni_fsm_create_client(mgr->fsm))
ni_fatal("Unable to create FSM client");
}
+ ni_fsm_events_unblock(mgr->fsm);
}
void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/server/Makefile.am new/wicked-0.6.54/server/Makefile.am
--- old/wicked-0.6.53/server/Makefile.am 2015-10-05 19:14:29.000000000 +0200
+++ new/wicked-0.6.54/server/Makefile.am 2019-04-05 15:22:33.000000000 +0200
@@ -10,9 +10,11 @@
wickedd_CFLAGS = $(LIBNL_CFLAGS) \
$(LIBDBUS_CFLAGS) \
- $(LIBGCRYPT_CFLAGS)
+ $(LIBGCRYPT_CFLAGS) \
+ $(LIBSYSTEMD_CFLAGS)
-wickedd_LDFLAGS = -rdynamic
+wickedd_LDFLAGS = -rdynamic \
+ $(LIBSYSTEMD_LIBS)
wickedd_LDADD = $(top_builddir)/src/libwicked.la
wickedd_SOURCES = \
main.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/server/main.c new/wicked-0.6.54/server/main.c
--- old/wicked-0.6.53/server/main.c 2018-11-16 13:26:34.000000000 +0100
+++ new/wicked-0.6.54/server/main.c 2019-04-05 15:22:33.000000000 +0200
@@ -19,6 +19,9 @@
#include
#include
#include
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+#include
+#endif
#include
#include
@@ -279,6 +282,12 @@
if (opt_recover_state)
recover_state(opt_state_file);
+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+ if (opt_systemd) {
+ sd_notify(0, "READY=1");
+ }
+#endif
+
while (!ni_caught_terminal_signal()) {
long timeout;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/src/dhcp6/fsm.c new/wicked-0.6.54/src/dhcp6/fsm.c
--- old/wicked-0.6.53/src/dhcp6/fsm.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/src/dhcp6/fsm.c 2019-04-05 15:22:33.000000000 +0200
@@ -768,6 +768,98 @@
return rv;
}
+static const ni_dhcp6_ia_addr_t *
+ni_fsm_confirm_process_find_ia_addrs_status(const ni_dhcp6_ia_addr_t *addrs, unsigned int status)
+{
+ const ni_dhcp6_ia_addr_t *iaddr;
+
+ for (iaddr = addrs; iaddr; iaddr = iaddr->next) {
+ if (ni_dhcp6_status_code(&iaddr->status) == status)
+ return iaddr;
+ }
+ return NULL;
+}
+
+static const ni_dhcp6_ia_t *
+ni_fsm_confirm_process_find_ia_status(const ni_dhcp6_ia_t *ia_list, unsigned int status,
+ const ni_dhcp6_ia_addr_t **iaddr)
+{
+ const ni_dhcp6_ia_t *ia;
+
+ for (ia = ia_list; ia; ia = ia->next) {
+ if ((*iaddr = ni_fsm_confirm_process_find_ia_addrs_status(ia->addrs, status)))
+ return ia;
+ else if (ni_dhcp6_status_code(&ia->status) == status)
+ return ia;
+ }
+ return NULL;
+}
+
+static int
+ni_fsm_confirm_process_reply_status(ni_dhcp6_device_t *dev, const ni_addrconf_lease_t *lease, char **hint)
+{
+ const ni_dhcp6_ia_addr_t *iaddr = NULL;
+ const ni_dhcp6_status_t *status;
+ const ni_dhcp6_ia_t *ia;
+ const char *message;
+
+ if ((ia = ni_fsm_confirm_process_find_ia_status(lease->dhcp6.ia_list, NI_DHCP6_STATUS_NOTONLINK, &iaddr))) {
+ status = iaddr ? &iaddr->status : &ia->status;
+ message = ni_dhcp6_status_message(status);
+
+ ni_note("%s: link change confirmation in reply with status %s", dev->ifname,
+ message ? message : ni_dhcp6_status_name(status->code));
+
+ return NI_DHCP6_STATUS_NOTONLINK;
+ } else if (ni_dhcp6_status_code(lease->dhcp6.status) == NI_DHCP6_STATUS_NOTONLINK) {
+ status = lease->dhcp6.status;
+ message = ni_dhcp6_status_message(status);
+
+ ni_note("%s: link change confirmation in reply with status %s", dev->ifname,
+ message ? message : ni_dhcp6_status_name(status->code));
+ return NI_DHCP6_STATUS_NOTONLINK;
+ }
+
+ if (ni_fsm_confirm_process_find_ia_status(lease->dhcp6.ia_list, NI_DHCP6_STATUS_FAILURE, &iaddr)) {
+ status = iaddr ? &iaddr->status : &ia->status;
+ message = ni_dhcp6_status_message(status);
+
+ ni_string_printf(hint, "link confirmation failure from server with status %s",
+ message ? message : ni_dhcp6_status_name(status->code));
+ return NI_DHCP6_STATUS_FAILURE;
+ } else if (ni_dhcp6_status_code(lease->dhcp6.status) == NI_DHCP6_STATUS_FAILURE) {
+ status = lease->dhcp6.status;
+ message = ni_dhcp6_status_message(status);
+
+ ni_string_printf(hint, "link confirmation failure from server with status %s",
+ message ? message : ni_dhcp6_status_name(status->code));
+ return NI_DHCP6_STATUS_FAILURE;
+ }
+
+ if (ni_fsm_confirm_process_find_ia_status(lease->dhcp6.ia_list, NI_DHCP6_STATUS_SUCCESS, &iaddr)) {
+ status = iaddr ? &iaddr->status : &ia->status;
+ message = ni_dhcp6_status_message(status);
+
+ ni_note("%s: link confirmation in reply with status %s", dev->ifname,
+ message ? message : ni_dhcp6_status_name(status->code));
+ } else if (ni_dhcp6_status_code(lease->dhcp6.status) == NI_DHCP6_STATUS_SUCCESS) {
+ status = lease->dhcp6.status;
+ message = ni_dhcp6_status_message(status);
+
+ ni_note("%s: link confirmation in reply with status %s", dev->ifname,
+ message ? message : ni_dhcp6_status_name(status->code));
+ } else {
+ status = lease->dhcp6.status;
+ message = ni_dhcp6_status_message(status);
+ if (!message)
+ message = ni_dhcp6_status_name(ni_dhcp6_status_code(status));
+
+ ni_note("%s: link confirmation reply without link change indication from server%s%s",
+ dev->ifname, message ? " with status " : "", message ? message : "");
+ }
+ return NI_DHCP6_STATUS_SUCCESS;
+}
+
static int
__fsm_confirm_process_msg(ni_dhcp6_device_t *dev, struct ni_dhcp6_message *msg, ni_buffer_t *opts, char **hint)
{
@@ -780,58 +872,53 @@
/*
* http://tools.ietf.org/html/rfc3315#section-18.1.8
* "[...]
+ * If the client receives a Reply message with a Status Code containing
+ * UnspecFail, the server is indicating that it was unable to process
+ * the message due to an unspecified failure condition. If the client
+ * retransmits [...] client MUST limit the rate [..] and [..] duration
+ * [...]
* When the client receives a NotOnLink status from the server in
* response to a Confirm message, the client performs DHCP server
* solicitation, as described in section 17, and client-initiated
* configuration as described in section 18. If the client receives
* any Reply messages that do not indicate a NotOnLink status, the
* client can use the addresses in the IA and ignore any messages
- * that indicate a NotOnLink status.[...]"
+ * that indicate a NotOnLink status.
+ * [...]"
*/
if (!dev->lease) {
ni_string_printf(hint, "confirm reply without a lease?!");
goto cleanup;
}
-
- if (msg->lease->dhcp6.status == NULL) {
- ni_string_printf(hint, "confirm reply without status");
- goto cleanup;
- } else
- if (msg->lease->dhcp6.status->code == NI_DHCP6_STATUS_NOTONLINK) {
- ni_note("%s: link change confirmation in reply with status %s - %s",
- dev->ifname,
- ni_dhcp6_status_name(msg->lease->dhcp6.status->code),
- msg->lease->dhcp6.status->message);
-
+ switch (ni_fsm_confirm_process_reply_status(dev, msg->lease, hint)) {
+ case NI_DHCP6_STATUS_NOTONLINK:
+ /* NotOnLink: confirmation that link changed ==>> re-solicit */
ni_dhcp6_fsm_reset(dev);
ni_dhcp6_device_drop_lease(dev);
ni_dhcp6_fsm_solicit(dev);
rv = 0;
goto cleanup;
- } else
- if (msg->lease->dhcp6.status->code != NI_DHCP6_STATUS_SUCCESS) {
- ni_debug_dhcp("%s: no link change indication in reply with status %s - %s",
- dev->ifname,
- ni_dhcp6_status_name(msg->lease->dhcp6.status->code),
- msg->lease->dhcp6.status->message);
- } else {
- ni_note("%s: link confirmed in reply with status %s - %s",
- dev->ifname,
- ni_dhcp6_status_name(msg->lease->dhcp6.status->code),
- msg->lease->dhcp6.status->message);
- }
- ni_dhcp6_fsm_reset(dev);
- ni_address_list_destroy(&dev->lease->addrs);
- if (ni_dhcp6_ia_copy_to_lease_addrs(dev, dev->lease)) {
- ni_dhcp6_fsm_commit_lease(dev, dev->lease);
- } else {
- /* expired in the meantime */
- ni_dhcp6_fsm_solicit(dev);
- }
+ case NI_DHCP6_STATUS_FAILURE:
+ /* UnspecFail: rate/duration already limitted, ignore & go on */
+ goto cleanup;
- rv = 0;
+ case NI_DHCP6_STATUS_SUCCESS:
+ /* Success: explicit confirmation that link did not changed */
+ default:
+ /* Any another failures do not signal link change (NotOnLink) */
+ ni_dhcp6_fsm_reset(dev);
+ ni_address_list_destroy(&dev->lease->addrs);
+ if (ni_dhcp6_ia_copy_to_lease_addrs(dev, dev->lease)) {
+ ni_dhcp6_fsm_commit_lease(dev, dev->lease);
+ } else {
+ /* expired in the meantime */
+ ni_dhcp6_fsm_solicit(dev);
+ }
+ rv = 0;
+ goto cleanup;
+ }
break;
default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/src/ethtool.c new/wicked-0.6.54/src/ethtool.c
--- old/wicked-0.6.53/src/ethtool.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/src/ethtool.c 2019-04-05 15:22:33.000000000 +0200
@@ -2618,7 +2618,7 @@
ret = ni_ethtool_set_value(ref, ethtool,
NI_ETHTOOL_SUPP_SET_LEGACY_FLAGS,
- &NI_ETHTOOL_CMD_SFLAGS, "lro", value);
+ &NI_ETHTOOL_CMD_SFLAGS, name, value);
}
return ret;
}
@@ -2727,7 +2727,7 @@
"%s: ethtool request to set feature '%s' to %s",
ref->name, feature->map.name, value ? "on" : "off");
ni_ethtool_set_legacy_flag_bit(ref, ethtool, "lro",
- ETH_FLAG_TXVLAN, value);
+ ETH_FLAG_LRO, value);
break;
case NI_ETHTOOL_FEATURE_F_LEGACY_HW_VLAN_CTAG_TX:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/src/fsm.c new/wicked-0.6.54/src/fsm.c
--- old/wicked-0.6.53/src/fsm.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/src/fsm.c 2019-04-05 15:22:33.000000000 +0200
@@ -68,10 +68,7 @@
static inline void ni_ifworker_update_client_state_config(ni_ifworker_t *w);
static void ni_ifworker_update_client_state_scripts(ni_ifworker_t *w);
static void ni_fsm_events_destroy(ni_fsm_event_t **);
-static inline void ni_fsm_events_block(ni_fsm_t *);
-static inline void ni_fsm_events_unblock(ni_fsm_t *);
static void ni_fsm_process_event(ni_fsm_t *, ni_fsm_event_t *);
-static void ni_fsm_process_events(ni_fsm_t *);
ni_fsm_t *
@@ -161,7 +158,7 @@
}
}
-static inline void
+void
ni_fsm_events_block(ni_fsm_t *fsm)
{
ni_debug_verbose(NI_LOG_DEBUG3, NI_TRACE_EVENTS, "block fsm events %u -> %u",
@@ -169,7 +166,7 @@
fsm->block_events++;
}
-static inline void
+void
ni_fsm_events_unblock(ni_fsm_t *fsm)
{
ni_debug_verbose(NI_LOG_DEBUG3, NI_TRACE_EVENTS, "unblock fsm events %u -> %u",
@@ -178,7 +175,7 @@
fsm->block_events--;
}
-static void
+void
ni_fsm_process_events(ni_fsm_t *fsm)
{
ni_fsm_event_t *ev;
@@ -3918,6 +3915,7 @@
ni_ifworker_t *w;
unsigned int i;
+ ni_fsm_events_block(fsm);
for (i = 0; i < fsm->workers.count; ++i) {
w = fsm->workers.data[i];
@@ -3952,6 +3950,7 @@
if (w->object != NULL)
ni_ifworker_update_state(w, NI_FSM_STATE_DEVICE_EXISTS, __NI_FSM_STATE_MAX);
}
+ ni_fsm_events_unblock(fsm);
return TRUE;
}
@@ -5571,7 +5570,7 @@
ni_ifworker_t *c;
unsigned int i;
- for (i = 0; fsm->workers.count; ++i) {
+ for (i = 0; i < fsm->workers.count; ++i) {
c = fsm->workers.data[i];
if (!c || c == w || c->type != w->type || c->device)
continue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/src/kernel.c new/wicked-0.6.54/src/kernel.c
--- old/wicked-0.6.53/src/kernel.c 2018-11-16 13:26:09.000000000 +0100
+++ new/wicked-0.6.54/src/kernel.c 2019-04-05 15:22:33.000000000 +0200
@@ -98,6 +98,7 @@
{
struct ifreq ifr;
+ memset(&ifr, 0, sizeof(ifr));
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
((struct ethtool_cmd *) data)->cmd = cmd;
ifr.ifr_data = data;
@@ -116,6 +117,7 @@
{
struct iwreq iwr;
+ memset(&iwr, 0, sizeof(iwr));
strncpy(iwr.ifr_name, dev->name, IFNAMSIZ);
iwr.u.data.pointer = data;
iwr.u.data.length = data_len;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/wicked.spec new/wicked-0.6.54/wicked.spec
--- old/wicked-0.6.53/wicked.spec 2019-01-24 18:55:18.000000000 +0100
+++ new/wicked-0.6.54/wicked.spec 2019-04-05 15:26:41.000000000 +0200
@@ -18,7 +18,7 @@
%define release_prefix %{?snapshot:%{snapshot}}%{!?snapshot:0}
Name: wicked
-Version: 0.6.53
+Version: 0.6.54
Release: %{release_prefix}.0.0
Summary: Network configuration infrastructure
License: GPL-2.0
@@ -83,6 +83,8 @@
%endif
%if %{with systemd}
+BuildRequires: systemd-devel
+BuildRequires: systemd-rpm-macros
%{?systemd_requires}
%if 0%{?suse_version:1}
Requires(pre): %fillup_prereq
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/wicked-0.6.53/wicked.spec.in new/wicked-0.6.54/wicked.spec.in
--- old/wicked-0.6.53/wicked.spec.in 2018-11-16 13:43:16.000000000 +0100
+++ new/wicked-0.6.54/wicked.spec.in 2019-04-05 15:22:33.000000000 +0200
@@ -83,6 +83,8 @@
%endif
%if %{with systemd}
+BuildRequires: systemd-devel
+BuildRequires: systemd-rpm-macros
%{?systemd_requires}
%if 0%{?suse_version:1}
Requires(pre): %fillup_prereq