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

Reply via email to