Hello community, here is the log from the commit of package wicked for openSUSE:Factory checked in at 2014-08-20 17:53:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wicked (Old) and /work/SRC/openSUSE:Factory/.wicked.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wicked" Changes: -------- --- /work/SRC/openSUSE:Factory/wicked/wicked.changes 2014-08-07 08:08:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.wicked.new/wicked.changes 2014-08-20 17:53:45.000000000 +0200 @@ -2 +2,11 @@ -Wed Aug 6 18:06:58 UTC 2014 - km...@suse.com +Mon Aug 18 12:14:08 UTC 2014 - m...@suse.de + +- version 0.6.2 +- nanny: disable nanny use by default again (bnc#891045) +- fsm: generate default configs for ports/slaves (bnc#889666) +- dbus: increase signal/default call timeouts (bnc#890084) +- dhcp4: pad dhcp4 packet to correct minimal len (bnc#882561) +- dhcp4: apply interface MTU provided by server (bnc#890230) + +------------------------------------------------------------------- +Wed Aug 6 18:02:32 UTC 2014 - km...@suse.com Old: ---- wicked-0.6.1.tar.bz2 New: ---- wicked-0.6.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wicked.spec ++++++ --- /var/tmp/diff_new_pack.FeCeSv/_old 2014-08-20 17:53:46.000000000 +0200 +++ /var/tmp/diff_new_pack.FeCeSv/_new 2014-08-20 17:53:46.000000000 +0200 @@ -18,7 +18,7 @@ %define release_prefix %{?snapshot:%{snapshot}}%{!?snapshot:0} Name: wicked -Version: 0.6.1 +Version: 0.6.2 Release: %{release_prefix}.0.0 Summary: Network configuration infrastructure License: GPL-2.0 ++++++ wicked-0.6.1.tar.bz2 -> wicked-0.6.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/ChangeLog new/wicked-0.6.2/ChangeLog --- old/wicked-0.6.1/ChangeLog 2014-08-06 20:15:15.000000000 +0200 +++ new/wicked-0.6.2/ChangeLog 2014-08-18 13:47:24.000000000 +0200 @@ -1,3 +1,75 @@ +commit acb36beecf324419f439e622af0324a1c4544fec +Author: Marius Tomaschewski <m...@suse.de> +Date: Mon Aug 18 13:44:27 2014 +0200 + + version 0.6.2 + +commit b626f96223ee99988ca806721351e9fa188f9c0c +Author: Marius Tomaschewski <m...@suse.de> +Date: Mon Aug 18 13:32:33 2014 +0200 + + nanny: disable nanny by default again (bnc#891045) + +commit 5c6d23aac355920012b7e82b769eec503f3f1140 +Author: Olaf Hering <o...@aepfle.de> +Date: Fri Aug 15 11:49:44 2014 +0200 + + Pad DHCP4 packet to correct len (bnc#882561) + + Signed-off-by: Olaf Hering <o...@aepfle.de> + +commit d250d98fbcd713371198865c12e12dca2c9eb9e2 +Author: Olaf Hering <o...@aepfle.de> +Date: Wed Aug 13 12:38:21 2014 +0200 + + Increase signal call_timeout for dbus from 5 to 10 seconds (bnc#890084) + + Signed-off-by: Olaf Hering <o...@aepfle.de> + +commit fc8b2d06a1368e37d42bcc36d1a8e27c19a2981a +Author: Olaf Hering <o...@aepfle.de> +Date: Wed Aug 13 12:36:40 2014 +0200 + + Increase default call_timeout for dbus from 10 to 60 seconds (bnc#890084) + + Signed-off-by: Olaf Hering <o...@aepfle.de> + +commit 62f9999b9f9d9bf3e3425d3acb5e8c90045e7eb4 +Author: Olaf Hering <o...@aepfle.de> +Date: Wed Aug 13 10:09:57 2014 +0200 + + Check return value instead of input in ni_dbus_connection_call + + Signed-off-by: Olaf Hering <o...@aepfle.de> + +commit 4a7927bc1df278ef81c65e77723a225945971594 +Author: Olaf Hering <o...@aepfle.de> +Date: Fri Aug 8 15:29:12 2014 +0200 + + remove extra newline in nanny debug output + + Signed-off-by: Olaf Hering <o...@aepfle.de> + +commit dfc62645fb3303071b1c07bce163ae70ea86eb51 +Author: Pawel Wieczorkiewicz <pwieczorkiew...@suse.de> +Date: Thu Aug 7 15:55:16 2014 +0200 + + fsm: Generate default configs for ports/slaves (bnc#889666) + +commit cb1cba87f637941cf5e183f6a5f84cf3f757174f +Author: Pawel Wieczorkiewicz <pwieczorkiew...@suse.de> +Date: Thu Aug 7 15:54:51 2014 +0200 + + fsm: Add ni_ifworker_iftype_from_xml() + +commit 022606e41bcbc615a488dc6f60bfb068d7cba338 +Author: Olaf Hering <o...@aepfle.de> +Date: Wed Aug 6 16:51:02 2014 +0200 + + Apply interface MTU provided by DHCP4 (bnc#890230) + + Signed-off-by: Olaf Hering <o...@aepfle.de> + commit 44d951dd7f831f04f5e3552d4dd5ad85f249cd2e Author: Karol Mroz <km...@suse.de> Date: Wed Aug 6 20:10:20 2014 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/VERSION new/wicked-0.6.2/VERSION --- old/wicked-0.6.1/VERSION 2014-08-06 20:07:33.000000000 +0200 +++ new/wicked-0.6.2/VERSION 2014-08-18 13:44:18.000000000 +0200 @@ -1 +1 @@ -0.6.1 +0.6.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/aclocal.m4 new/wicked-0.6.2/aclocal.m4 --- old/wicked-0.6.1/aclocal.m4 2014-08-06 20:14:25.000000000 +0200 +++ new/wicked-0.6.2/aclocal.m4 2014-08-18 13:45:05.000000000 +0200 @@ -1326,7 +1326,7 @@ rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext @@ -1340,10 +1340,7 @@ x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) + ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -1362,10 +1359,7 @@ x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) + ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/configure new/wicked-0.6.2/configure --- old/wicked-0.6.1/configure 2014-08-06 20:14:26.000000000 +0200 +++ new/wicked-0.6.2/configure 2014-08-18 13:45:06.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for wicked 0.6.1. +# Generated by GNU Autoconf 2.69 for wicked 0.6.2. # # Report bugs to <http://bugs.opensuse.org>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='wicked' PACKAGE_TARNAME='wicked' -PACKAGE_VERSION='0.6.1' -PACKAGE_STRING='wicked 0.6.1' +PACKAGE_VERSION='0.6.2' +PACKAGE_STRING='wicked 0.6.2' PACKAGE_BUGREPORT='http://bugs.opensuse.org' PACKAGE_URL='https://github.com/openSUSE/wicked' @@ -1378,7 +1378,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures wicked 0.6.1 to adapt to many kinds of systems. +\`configure' configures wicked 0.6.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1448,7 +1448,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of wicked 0.6.1:";; + short | recursive ) echo "Configuration of wicked 0.6.2:";; esac cat <<\_ACEOF @@ -1598,7 +1598,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -wicked configure 0.6.1 +wicked configure 0.6.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2197,7 +2197,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by wicked $as_me 0.6.1, which was +It was created by wicked $as_me 0.6.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3060,7 +3060,7 @@ # Define the identity of the package. PACKAGE='wicked' - VERSION='0.6.1' + VERSION='0.6.2' cat >>confdefs.h <<_ACEOF @@ -8093,7 +8093,7 @@ rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext @@ -8111,10 +8111,7 @@ x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) + ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -8133,10 +8130,7 @@ x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) + ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) @@ -14790,7 +14784,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by wicked $as_me 0.6.1, which was +This file was extended by wicked $as_me 0.6.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14857,7 +14851,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -wicked config.status 0.6.1 +wicked config.status 0.6.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/dhcp4/protocol.h new/wicked-0.6.2/dhcp4/protocol.h --- old/wicked-0.6.1/dhcp4/protocol.h 2014-08-06 19:57:18.000000000 +0200 +++ new/wicked-0.6.2/dhcp4/protocol.h 2014-08-18 13:42:08.000000000 +0200 @@ -139,7 +139,7 @@ #define SERVERNAME_LEN 64 #define BOOTFILE_LEN 128 -#define BOOTP_MESSAGE_LENGTH_MIN 300 +#define BOOTP_MESSAGE_LENGTH_MIN (20 + 8 + 300) struct ni_dhcp4_message { unsigned char op; /* message type */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/etc/common.xml.in new/wicked-0.6.2/etc/common.xml.in --- old/wicked-0.6.1/etc/common.xml.in 2014-08-06 19:57:18.000000000 +0200 +++ new/wicked-0.6.2/etc/common.xml.in 2014-08-18 13:42:19.000000000 +0200 @@ -7,7 +7,19 @@ <dbus name="org.opensuse.Network" /> <schema name="@wicked_schemadir@/wicked.xml"/> - <!-- Set to 'false' to disable nanny use and - apply the config directly into wickedd --> - <use-nanny>true</use-nanny> + <!-- + Use nanny or not: + + 'false': causes ifup (and ifreload) to apply the config + directly into wickedd without nanny involved + (one shot setup). + + 'true': causes ifup (and ifreload) to apply a policy + with the effective config to nanny and nanny + configures wickedd then; with hotplug support. + + After a change, restart wickedd.service and execute + "wicked ifup all" to (re)apply the config / policies. + --> + <use-nanny>false</use-nanny> </config> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/include/wicked/fsm.h new/wicked-0.6.2/include/wicked/fsm.h --- old/wicked-0.6.1/include/wicked/fsm.h 2014-08-06 19:57:55.000000000 +0200 +++ new/wicked-0.6.2/include/wicked/fsm.h 2014-08-18 13:42:08.000000000 +0200 @@ -117,6 +117,7 @@ char * name; ni_ifworker_type_t type; + ni_iftype_t iftype; ni_dbus_object_t * object; char * object_path; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/include/wicked/netinfo.h new/wicked-0.6.2/include/wicked/netinfo.h --- old/wicked-0.6.1/include/wicked/netinfo.h 2014-08-06 19:57:18.000000000 +0200 +++ new/wicked-0.6.2/include/wicked/netinfo.h 2014-08-18 13:42:08.000000000 +0200 @@ -38,6 +38,8 @@ char * qdisc; char * kind; + unsigned int saved_mtu; + ni_link_stats_t * stats; ni_ethtool_stats_t * ethtool_stats; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/samples/Makefile new/wicked-0.6.2/samples/Makefile --- old/wicked-0.6.1/samples/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ new/wicked-0.6.2/samples/Makefile 2014-06-27 16:46:48.000000000 +0200 @@ -0,0 +1,159 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The program to use to edit the cache. +CMAKE_EDIT_COMMAND = /usr/bin/ccmake + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /space/mt/work/wicked/git + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /space/mt/work/wicked/git + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /space/mt/work/wicked/git && $(CMAKE_COMMAND) -E cmake_progress_start /space/mt/work/wicked/git/CMakeFiles /space/mt/work/wicked/git/samples/CMakeFiles/progress.marks + cd /space/mt/work/wicked/git && $(MAKE) -f CMakeFiles/Makefile2 samples/all + $(CMAKE_COMMAND) -E cmake_progress_start /space/mt/work/wicked/git/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /space/mt/work/wicked/git && $(MAKE) -f CMakeFiles/Makefile2 samples/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /space/mt/work/wicked/git && $(MAKE) -f CMakeFiles/Makefile2 samples/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /space/mt/work/wicked/git && $(MAKE) -f CMakeFiles/Makefile2 samples/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /space/mt/work/wicked/git && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... list_install_components" + @echo "... rebuild_cache" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /space/mt/work/wicked/git && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/src/client/ifconfig.h new/wicked-0.6.2/src/client/ifconfig.h --- old/wicked-0.6.1/src/client/ifconfig.h 2014-08-06 19:57:18.000000000 +0200 +++ new/wicked-0.6.2/src/client/ifconfig.h 2014-08-18 13:42:08.000000000 +0200 @@ -27,6 +27,13 @@ #define NI_CLIENT_IFCONFIG "interface" #define NI_CLIENT_IFCONFIG_MATCH_NAME "name" +#define NI_CLIENT_IFCONFIG_CONTROL "control" +#define NI_CLIENT_IFCONFIG_MODE "mode" +#define NI_CLIENT_IFCONFIG_LINK "link" +#define NI_CLIENT_IFCONFIG_IPV4 "ipv4" +#define NI_CLIENT_IFCONFIG_IPV6 "ipv6" +#define NI_CLIENT_IFCONFIG_IP_ENABLED "enabled" +#define NI_CLIENT_IFCONFIG_ARP_VERIFY "arp-verify" #define NI_NANNY_IFPOLICY "policy" #define NI_NANNY_IFTEMPLATE "template" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/src/dbus-client.c new/wicked-0.6.2/src/dbus-client.c --- old/wicked-0.6.1/src/dbus-client.c 2014-08-06 19:57:18.000000000 +0200 +++ new/wicked-0.6.2/src/dbus-client.c 2014-08-18 13:42:08.000000000 +0200 @@ -63,7 +63,7 @@ dbc = xcalloc(1, sizeof(*dbc)); ni_string_dup(&dbc->bus_name, bus_name); dbc->connection = busconn; - dbc->call_timeout = 10000; + dbc->call_timeout = 1000 * 60; return dbc; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/src/dbus-connection.c new/wicked-0.6.2/src/dbus-connection.c --- old/wicked-0.6.1/src/dbus-connection.c 2014-08-06 19:57:18.000000000 +0200 +++ new/wicked-0.6.2/src/dbus-connection.c 2014-08-18 13:42:08.000000000 +0200 @@ -309,7 +309,7 @@ ni_dbus_message_t *call, unsigned int call_timeout, DBusError *error) { DBusPendingCall *pending; - DBusMessage *reply = NULL; + DBusMessage *reply; int msgtype; if (!dbus_connection_send_with_reply(connection->conn, call, &pending, call_timeout)) { @@ -327,7 +327,7 @@ reply = dbus_pending_call_steal_reply(pending); - if (call == NULL) { + if (reply == NULL) { dbus_set_error(error, DBUS_ERROR_FAILED, "dbus: no reply"); return NULL; } @@ -464,7 +464,7 @@ if (!dbus_message_append_args(call, DBUS_TYPE_STRING, &arg, 0)) goto failed; - if ((reply = ni_dbus_connection_call(connection, call, 5000, &error)) == NULL) + if ((reply = ni_dbus_connection_call(connection, call, 1000 * 10, &error)) == NULL) goto out; sigact = __ni_sigaction_new(object_interface, callback, user_data); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/src/fsm.c new/wicked-0.6.2/src/fsm.c --- old/wicked-0.6.1/src/fsm.c 2014-08-06 19:57:55.000000000 +0200 +++ new/wicked-0.6.2/src/fsm.c 2014-08-18 13:42:08.000000000 +0200 @@ -1002,6 +1002,115 @@ return child; } +static xml_node_t * +__ni_generate_default_config(const char *ifname, ni_iftype_t ptype, xml_node_t *control) +{ + xml_node_t *ipv4, *ipv6, *config = NULL; + + if (ni_string_empty(ifname) || xml_node_is_empty(control) || !ptype) + goto error; + + /* Create <interface> */ + if (!(config = xml_node_new(NI_CLIENT_IFCONFIG, NULL))) + goto error; + /* Add <name>$ifname</name> */ + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_MATCH_NAME, config, ifname)) + goto error; + /* Add <link></link> */ + if (!xml_node_new(NI_CLIENT_IFCONFIG_LINK, config)) + goto error; + /* Add <ipv4></ipv4> and <ipv6></ipv6> */ + if (!(ipv4 = xml_node_new(NI_CLIENT_IFCONFIG_IPV4, config))) + goto error; + if (!(ipv6 = xml_node_new(NI_CLIENT_IFCONFIG_IPV6, config))) + goto error; + + switch (ptype) { + /* for slaves */ + case NI_IFTYPE_BOND: + /* + * STARTMODE="hotplug" + * BOOTPROTO="none" + */ + + /* Add <control></control> */ + if (!(control = xml_node_new(NI_CLIENT_IFCONFIG_CONTROL, config))) + goto error; + /* Add <mode>hotplug</mode> */ + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_MODE, control, "hotplug")) + goto error; + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_IP_ENABLED, ipv4, "false")) + goto error; + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_IP_ENABLED, ipv6, "false")) + goto error; + break; + + case NI_IFTYPE_BRIDGE: + /* + * STARTMODE="$pstartmode" + * BOOTPROTO="none" + */ + + /* Clone <control> */ + if (!xml_node_clone(control, config)) + goto error; + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_IP_ENABLED, ipv4, "false")) + goto error; + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_IP_ENABLED, ipv6, "false")) + goto error; + break; + + /* lowerdevs */ + case NI_IFTYPE_VLAN: + case NI_IFTYPE_MACVLAN: + case NI_IFTYPE_MACVTAP: + /* + * STARTMODE="$pstartmode" + * BOOTPROTO="static" + */ + + /* Clone <control> */ + if (!xml_node_clone(control, config)) + goto error; + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_IP_ENABLED, ipv4, "true")) + goto error; + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_ARP_VERIFY, ipv4, "true")) + goto error; + if (!xml_node_new_element(NI_CLIENT_IFCONFIG_IP_ENABLED, ipv6, "true")) + goto error; + break; + + default: + goto error; + } + + return config; + +error: + ni_error("%s: Unable to generate default XML config (parent type %s)", + ifname, ni_linktype_type_to_name(ptype)); + xml_node_free(config); + return NULL; +} + +static void +ni_ifworker_generate_default_config(ni_ifworker_t *parent, ni_ifworker_t *child) +{ + xml_node_t *control, *config; + + if (!parent || !child) + return; + + ni_debug_application("%s: generating default config for %s child", + parent->name, child->name); + + control = xml_node_get_child(parent->config.node, + NI_CLIENT_IFCONFIG_CONTROL); + config = __ni_generate_default_config(child->name, parent->iftype, control); + + ni_ifworker_set_config(child, config, parent->config.meta.origin); +} + static ni_bool_t ni_ifworker_add_child(ni_ifworker_t *parent, ni_ifworker_t *child, xml_node_t *devnode, ni_bool_t shared) { @@ -1053,6 +1162,9 @@ child->masterdev = parent; } + if (xml_node_is_empty(child->config.node)) + ni_ifworker_generate_default_config(parent, child); + ni_ifworker_array_append(&parent->children, child); return TRUE; } @@ -1504,6 +1616,26 @@ w->extra_waittime = (extra_timeout*1000); } +static ni_iftype_t +ni_ifworker_iftype_from_xml(xml_node_t *config) +{ + ni_iftype_t iftype; + + if (!xml_node_is_empty(config)) { + for (iftype = 0; iftype < __NI_IFTYPE_MAX; iftype++) { + const char *iftype_name = ni_linktype_type_to_name(iftype); + + if (ni_string_empty(iftype_name)) + continue; + + if (xml_node_get_child(config, iftype_name)) + return iftype; + } + } + + return NI_IFTYPE_UNKNOWN; +} + void ni_ifworker_set_config(ni_ifworker_t *w, xml_node_t *ifnode, const char *config_origin) { @@ -1526,6 +1658,7 @@ xml_node_detach(child); } + w->iftype = ni_ifworker_iftype_from_xml(ifnode); ni_ifworker_extra_waittime_from_xml(w); } @@ -2243,6 +2376,9 @@ for (i = 0; i < w->children.count; i++) { ni_ifworker_t *child = w->children.data[i]; + if (xml_node_is_empty(child->config.node)) + ni_ifworker_generate_default_config(w, child); + if (xml_node_is_empty(child->config.node)) { ni_debug_application("%s: ignoring dependent child %s - no config", w->name, child->name); @@ -2823,7 +2959,7 @@ __ni_ifworker_print_tree(const char *arrow, const ni_ifworker_t *w, const char *branches) { if (w->children.count == 0) { - ni_debug_application("%s%s\n", arrow, w->name); + ni_debug_application("%s%s", arrow, w->name); } else { char buffer[128]; unsigned int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/src/ifconfig.c new/wicked-0.6.2/src/ifconfig.c --- old/wicked-0.6.1/src/ifconfig.c 2014-08-06 19:57:55.000000000 +0200 +++ new/wicked-0.6.2/src/ifconfig.c 2014-08-18 13:42:08.000000000 +0200 @@ -78,6 +78,9 @@ static int __ni_netdev_update_routes(ni_netconfig_t *nc, ni_netdev_t *dev, const ni_addrconf_lease_t *old_lease, ni_addrconf_lease_t *new_lease); +static int __ni_netdev_update_mtu(ni_netconfig_t *nc, ni_netdev_t *dev, + const ni_addrconf_lease_t *old_lease, + ni_addrconf_lease_t *new_lease); static int __ni_rtnl_link_create(const ni_netdev_t *cfg); static int __ni_rtnl_link_change(ni_netdev_t *dev, const ni_netdev_t *cfg); @@ -275,6 +278,19 @@ if ((res = __ni_system_refresh_interface_routes(nc, dev)) < 0) goto out; + /* Update the device MTU. + */ + if (lease->state == NI_ADDRCONF_STATE_GRANTED) + res = __ni_netdev_update_mtu(nc, dev, old_lease, lease); + else + res = __ni_netdev_update_mtu(nc, dev, old_lease, NULL); + if (res < 0) { + ni_error("%s: error updating interface config from %s lease", + dev->name, + ni_addrconf_type_to_name(lease->type)); + goto out; + } + if (lease->state == NI_ADDRCONF_STATE_GRANTED) { ni_netdev_set_lease(dev, lease); *lease_p = NULL; @@ -2838,6 +2854,92 @@ } /* + * Get the MTU specified by this lease + */ +static ni_bool_t +__ni_lease_get_mtu(const ni_addrconf_lease_t *lease, unsigned int *mtu_p) +{ + if (lease->type != NI_ADDRCONF_DHCP || lease->family != AF_INET) + return 0; + + *mtu_p = lease->dhcp4.mtu; + if (*mtu_p == 0) + return 0; + + return 1; +} + +static ni_bool_t +__ni_netdev_get_minimum_lease_mtu(const ni_netdev_t *dev, unsigned int *mtu_p) +{ + ni_addrconf_lease_t *lp; + unsigned int min_mtu; + + min_mtu = 65535; + for (lp = dev->leases; lp; lp = lp->next) { + unsigned int lease_mtu; + + if (__ni_lease_get_mtu(lp, &lease_mtu) && lease_mtu < min_mtu) + min_mtu = lease_mtu; + } + + *mtu_p = min_mtu; + return min_mtu < 65535; +} + +/* + * Update the MTU of an interface based on the data we received + * through some addrconf protocol. + * Currently, only DHCP4 provides this sort of information. + */ +static int +__ni_netdev_update_mtu(ni_netconfig_t *nc, ni_netdev_t *dev, + const ni_addrconf_lease_t *old_lease, + ni_addrconf_lease_t *new_lease) +{ + unsigned int req_mtu, req_mtu_min; + + if (new_lease != NULL) { + /* New lease granted */ + if (!__ni_lease_get_mtu(new_lease, &req_mtu)) { + /* FIXME: the device may be in a misconfigured state + * due to somebody messing with the MTU. + * We should really set the MTU to a sane value here, + * e.g. like: + * + * req_mtu = ni_netdev_default_mtu(dev); + * + * where ni_netdev_default_mtu specifies some sane default + * MTU based on dev->link.type. + */ + return 0; + } + + /* No matter what we do, save the current device MTU value for later */ + if (dev->link.saved_mtu == 0) + dev->link.saved_mtu = dev->link.mtu; + + /* If more than one lease specifies a MTU, pick the minimum value given */ + if (__ni_netdev_get_minimum_lease_mtu(dev, &req_mtu_min) && req_mtu_min < req_mtu) + return 0; + } else { + /* Lease is being revoked. + * Restore the MTU to the minimum of all MTUs specified by + * leases, and the saved device MTU + */ + if (dev->link.saved_mtu == 0) + return 0; + + __ni_netdev_get_minimum_lease_mtu(dev, &req_mtu); + if (dev->link.saved_mtu < req_mtu) + req_mtu = dev->link.saved_mtu; + } + + return __ni_rtnl_link_change_mtu(dev, req_mtu); +} + + +/* * Initialialize a netdev of a just created inteface. * * The purpose of this function is to initialize the interface diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wicked-0.6.1/wicked.spec new/wicked-0.6.2/wicked.spec --- old/wicked-0.6.1/wicked.spec 2014-08-06 20:14:34.000000000 +0200 +++ new/wicked-0.6.2/wicked.spec 2014-08-18 13:45:12.000000000 +0200 @@ -18,7 +18,7 @@ %define release_prefix %{?snapshot:%{snapshot}}%{!?snapshot:0} Name: wicked -Version: 0.6.1 +Version: 0.6.2 Release: %{release_prefix}.0.0 Summary: Network configuration infrastructure License: GPL-2.0 -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org