Hello community,

here is the log from the commit of package dleyna-core for openSUSE:Factory 
checked in at 2014-08-27 07:46:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dleyna-core (Old)
 and      /work/SRC/openSUSE:Factory/.dleyna-core.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dleyna-core"

Changes:
--------
--- /work/SRC/openSUSE:Factory/dleyna-core/dleyna-core.changes  2013-08-27 
20:40:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dleyna-core.new/dleyna-core.changes     
2014-08-27 07:47:07.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Aug 25 20:46:50 UTC 2014 - [email protected]
+
+- Update to version 0.4.0:
+  + Minor bug fixes.
+- Rename libdleyna-core-1_0-1 subpackage to libdleyna-core-1_0-3,
+  following upstreams soname bump.
+
+-------------------------------------------------------------------

Old:
----
  dleyna-core-0.1.0.tar.gz

New:
----
  dleyna-core-0.4.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dleyna-core.spec ++++++
--- /var/tmp/diff_new_pack.E4FcJY/_old  2014-08-27 07:47:08.000000000 +0200
+++ /var/tmp/diff_new_pack.E4FcJY/_new  2014-08-27 07:47:08.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package
+# spec file for package dleyna-core
 #
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,18 +15,19 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           dleyna-core
-Version:        0.1.0
+Version:        0.4.0
 Release:        0
-License:        LGPL-2.1
 Summary:        Utility functions used by higher level dLeyna libraries
-Url:            http://01.org/dleyna
+License:        LGPL-2.1
 Group:          System/Libraries
-Source:         
https://01.org/dleyna/sites/default/files/downloads/dleyna-core-0.1.0.tar.gz
+Url:            http://01.org/dleyna
+Source:         
https://01.org/sites/default/files/downloads/dleyna/%{name}-%{version}.tar.gz
 BuildRequires:  pkgconfig(gio-2.0) >= 2.28
 BuildRequires:  pkgconfig(glib-2.0) >= 2.28
 BuildRequires:  pkgconfig(gmodule-2.0) >= 2.28
-BuildRequires:  pkgconfig(gupnp-1.0) >= 0.19.1
+BuildRequires:  pkgconfig(gupnp-1.0) >= 0.20.5
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -35,11 +36,11 @@
 
 In brief, it provides APIs for logging, error, settings and task management 
and an IPC abstraction API.
 
-%package -n libdleyna-core-1_0-1
+%package -n libdleyna-core-1_0-3
 Summary:        Utility functions used by higher level dLeyna libraries
 Group:          System/Libraries
 
-%description -n libdleyna-core-1_0-1
+%description -n libdleyna-core-1_0-3
 dleyna-core is a library of utility functions that are used by the higher 
level dLeyna libraries that
 communicate with DLNA devices, e.g., dleyna-server.
 
@@ -48,7 +49,7 @@
 %package devel
 Summary:        Utility functions used by higher level dLeyna libraries -- 
Development files
 Group:          Development/Languages/C and C++
-Requires:       libdleyna-core-1_0-1 = %{version}
+Requires:       libdleyna-core-1_0-3 = %{version}
 
 %description devel
 dleyna-core is a library of utility functions that are used by the higher 
level dLeyna libraries that
@@ -67,11 +68,11 @@
 %make_install
 find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print
 
-%post -n libdleyna-core-1_0-1 -p /sbin/ldconfig
+%post -n libdleyna-core-1_0-3 -p /sbin/ldconfig
 
-%postun -n libdleyna-core-1_0-1 -p /sbin/ldconfig
+%postun -n libdleyna-core-1_0-3 -p /sbin/ldconfig
 
-%files -n libdleyna-core-1_0-1
+%files -n libdleyna-core-1_0-3
 %defattr(-,root,root)
 %doc ChangeLog README COPYING
 %{_libdir}/libdleyna-core-1.0.so.*
@@ -82,5 +83,4 @@
 %{_libdir}/libdleyna-core-1.0.so
 %{_libdir}/pkgconfig/dleyna-core-1.0.pc
 
-
 %changelog

++++++ dleyna-core-0.1.0.tar.gz -> dleyna-core-0.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/ChangeLog 
new/dleyna-core-0.4.0/ChangeLog
--- old/dleyna-core-0.1.0/ChangeLog     2013-06-03 16:02:13.000000000 +0200
+++ new/dleyna-core-0.4.0/ChangeLog     2013-10-03 14:13:40.000000000 +0200
@@ -1,3 +1,15 @@
+version 0.4.0
+       - Logs: print correct service name & version
+       - Fix a bug in the task queue cancellation
+       - Update coding style documentation
+       - Settings: new APIs to save quit and white list options
+       - Remove settings file monitoring 
+
+version 0.2.2
+       - Change connector publish_object() signature
+       - Add network filtering support
+       - Code cleanup
+
 version 0.1.0
        - Prepare for first stable branch
        
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/Makefile.am 
new/dleyna-core-0.4.0/Makefile.am
--- old/dleyna-core-0.1.0/Makefile.am   2013-06-03 15:15:32.000000000 +0200
+++ new/dleyna-core-0.4.0/Makefile.am   2013-10-03 14:20:49.000000000 +0200
@@ -2,7 +2,7 @@
 connectordir = $(libdir)/dleyna-1.0/connectors
 sysconfigdir = $(sysconfdir)
 
-DLEYNA_CORE_VERSION = 1:2:0
+DLEYNA_CORE_VERSION = 3:0:0
 
 AM_CFLAGS =    $(GLIB_CFLAGS)                          \
                $(GIO_CFLAGS)                           \
@@ -25,7 +25,8 @@
                                libdleyna/core/service-task.h   \
                                libdleyna/core/settings.h       \
                                libdleyna/core/task-atom.h      \
-                               libdleyna/core/task-processor.h
+                               libdleyna/core/task-processor.h \
+                               libdleyna/core/white-list.h
 
 
 libdleyna_core_1_0_la_LDFLAGS =        -version-info $(DLEYNA_CORE_VERSION) \
@@ -38,7 +39,8 @@
                                libdleyna/core/main-loop.c      \
                                libdleyna/core/service-task.c   \
                                libdleyna/core/settings.c       \
-                               libdleyna/core/task-processor.c
+                               libdleyna/core/task-processor.c \
+                               libdleyna/core/white-list.c
 
 libdleyna_core_1_0_la_LIBADD = $(GLIB_LIBS)    \
                                $(GIO_LIBS)     \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/Makefile.in 
new/dleyna-core-0.4.0/Makefile.in
--- old/dleyna-core-0.1.0/Makefile.in   2013-06-06 11:08:10.000000000 +0200
+++ new/dleyna-core-0.4.0/Makefile.in   2013-10-03 14:22:11.000000000 +0200
@@ -115,7 +115,7 @@
        libdleyna/core/connector-mgr.lo libdleyna/core/error.lo \
        libdleyna/core/log.lo libdleyna/core/main-loop.lo \
        libdleyna/core/service-task.lo libdleyna/core/settings.lo \
-       libdleyna/core/task-processor.lo
+       libdleyna/core/task-processor.lo libdleyna/core/white-list.lo
 libdleyna_core_1_0_la_OBJECTS = $(am_libdleyna_core_1_0_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -309,7 +309,7 @@
 libdleyna_coreincdir = $(includedir)/dleyna-1.0/libdleyna/core
 connectordir = $(libdir)/dleyna-1.0/connectors
 sysconfigdir = $(sysconfdir)
-DLEYNA_CORE_VERSION = 1:2:0
+DLEYNA_CORE_VERSION = 3:0:0
 AM_CFLAGS = $(GLIB_CFLAGS)                             \
                $(GIO_CFLAGS)                           \
                $(GMODULE_CFLAGS)                       \
@@ -329,7 +329,8 @@
                                libdleyna/core/service-task.h   \
                                libdleyna/core/settings.h       \
                                libdleyna/core/task-atom.h      \
-                               libdleyna/core/task-processor.h
+                               libdleyna/core/task-processor.h \
+                               libdleyna/core/white-list.h
 
 libdleyna_core_1_0_la_LDFLAGS = -version-info $(DLEYNA_CORE_VERSION) \
                                -no-undefined
@@ -341,7 +342,8 @@
                                libdleyna/core/main-loop.c      \
                                libdleyna/core/service-task.c   \
                                libdleyna/core/settings.c       \
-                               libdleyna/core/task-processor.c
+                               libdleyna/core/task-processor.c \
+                               libdleyna/core/white-list.c
 
 libdleyna_core_1_0_la_LIBADD = $(GLIB_LIBS)    \
                                $(GIO_LIBS)     \
@@ -470,6 +472,8 @@
        libdleyna/core/$(DEPDIR)/$(am__dirstamp)
 libdleyna/core/task-processor.lo: libdleyna/core/$(am__dirstamp) \
        libdleyna/core/$(DEPDIR)/$(am__dirstamp)
+libdleyna/core/white-list.lo: libdleyna/core/$(am__dirstamp) \
+       libdleyna/core/$(DEPDIR)/$(am__dirstamp)
 libdleyna-core-1.0.la: $(libdleyna_core_1_0_la_OBJECTS) 
$(libdleyna_core_1_0_la_DEPENDENCIES) 
$(EXTRA_libdleyna_core_1_0_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(libdleyna_core_1_0_la_LINK) -rpath $(libdir) 
$(libdleyna_core_1_0_la_OBJECTS) $(libdleyna_core_1_0_la_LIBADD) $(LIBS)
 
@@ -489,6 +493,8 @@
        -rm -f libdleyna/core/settings.lo
        -rm -f libdleyna/core/task-processor.$(OBJEXT)
        -rm -f libdleyna/core/task-processor.lo
+       -rm -f libdleyna/core/white-list.$(OBJEXT)
+       -rm -f libdleyna/core/white-list.lo
 
 distclean-compile:
        -rm -f *.tab.c
@@ -500,6 +506,7 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@libdleyna/core/$(DEPDIR)/service-task.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@libdleyna/core/$(DEPDIR)/settings.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@libdleyna/core/$(DEPDIR)/task-processor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ 
@am__quote@libdleyna/core/$(DEPDIR)/white-list.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 
's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/build-aux/ltmain.sh 
new/dleyna-core-0.4.0/build-aux/ltmain.sh
--- old/dleyna-core-0.1.0/build-aux/ltmain.sh   2013-06-06 11:08:08.000000000 
+0200
+++ new/dleyna-core-0.4.0/build-aux/ltmain.sh   2013-10-03 14:22:08.000000000 
+0200
@@ -70,7 +70,7 @@
 #         compiler:            $LTCC
 #         compiler flags:              $LTCFLAGS
 #         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu2
+#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1.2ubuntu1
 #         automake:    $automake_version
 #         autoconf:    $autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1ubuntu2"
+VERSION="2.4.2 Debian-2.4.2-1.2ubuntu1"
 TIMESTAMP=""
 package_revision=1.3337
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/configure 
new/dleyna-core-0.4.0/configure
--- old/dleyna-core-0.1.0/configure     2013-06-06 11:08:10.000000000 +0200
+++ new/dleyna-core-0.4.0/configure     2013-10-03 14:22:10.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dleyna-core 0.1.0.
+# Generated by GNU Autoconf 2.69 for dleyna-core 0.4.0.
 #
 # Report bugs to <https://github.com/01org/dleyna-core/issues/new>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='dleyna-core'
 PACKAGE_TARNAME='dleyna-core'
-PACKAGE_VERSION='0.1.0'
-PACKAGE_STRING='dleyna-core 0.1.0'
+PACKAGE_VERSION='0.4.0'
+PACKAGE_STRING='dleyna-core 0.4.0'
 PACKAGE_BUGREPORT='https://github.com/01org/dleyna-core/issues/new'
 PACKAGE_URL='https://01.org/dleyna/'
 
@@ -1345,7 +1345,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 dleyna-core 0.1.0 to adapt to many kinds of systems.
+\`configure' configures dleyna-core 0.4.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1415,7 +1415,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of dleyna-core 0.1.0:";;
+     short | recursive ) echo "Configuration of dleyna-core 0.4.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1543,7 +1543,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-dleyna-core configure 0.1.0
+dleyna-core configure 0.4.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2020,7 +2020,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by dleyna-core $as_me 0.1.0, which was
+It was created by dleyna-core $as_me 0.4.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2843,7 +2843,7 @@
 
 # Define the identity of the package.
  PACKAGE='dleyna-core'
- VERSION='0.1.0'
+ VERSION='0.4.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4986,7 +4986,8 @@
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
@@ -5387,10 +5388,6 @@
   fi
   ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 haiku*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -5429,7 +5426,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -6527,7 +6524,14 @@
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
+           case `/usr/bin/file conftest.o` in
+             *x86-64*)
+               LD="${LD-ld} -m elf32_x86_64"
+               ;;
+             *)
+               LD="${LD-ld} -m elf_i386"
+               ;;
+           esac
            ;;
          ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
@@ -8354,7 +8358,7 @@
       lt_prog_compiler_static='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -10524,17 +10528,6 @@
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
@@ -10651,7 +10644,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
@@ -12102,12 +12095,12 @@
     pkg_cv_GUPNP_CFLAGS="$GUPNP_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gupnp-1.0 >= 0.19.1\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gupnp-1.0 >= 0.19.1") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gupnp-1.0 >= 0.20.5\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gupnp-1.0 >= 0.20.5") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GUPNP_CFLAGS=`$PKG_CONFIG --cflags "gupnp-1.0 >= 0.19.1" 2>/dev/null`
+  pkg_cv_GUPNP_CFLAGS=`$PKG_CONFIG --cflags "gupnp-1.0 >= 0.20.5" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -12119,12 +12112,12 @@
     pkg_cv_GUPNP_LIBS="$GUPNP_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gupnp-1.0 >= 0.19.1\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gupnp-1.0 >= 0.19.1") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"gupnp-1.0 >= 0.20.5\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gupnp-1.0 >= 0.20.5") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GUPNP_LIBS=`$PKG_CONFIG --libs "gupnp-1.0 >= 0.19.1" 2>/dev/null`
+  pkg_cv_GUPNP_LIBS=`$PKG_CONFIG --libs "gupnp-1.0 >= 0.20.5" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -12145,14 +12138,14 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GUPNP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "gupnp-1.0 >= 0.19.1" 2>&1`
+               GUPNP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "gupnp-1.0 >= 0.20.5" 2>&1`
         else
-               GUPNP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"gupnp-1.0 >= 0.19.1" 2>&1`
+               GUPNP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"gupnp-1.0 >= 0.20.5" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GUPNP_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (gupnp-1.0 >= 0.19.1) were not met:
+       as_fn_error $? "Package requirements (gupnp-1.0 >= 0.20.5) were not met:
 
 $GUPNP_PKG_ERRORS
 
@@ -13220,7 +13213,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by dleyna-core $as_me 0.1.0, which was
+This file was extended by dleyna-core $as_me 0.4.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13287,7 +13280,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-dleyna-core config.status 0.1.0
+dleyna-core config.status 0.4.0
 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/dleyna-core-0.1.0/configure.ac 
new/dleyna-core-0.4.0/configure.ac
--- old/dleyna-core-0.1.0/configure.ac  2013-06-03 17:17:32.000000000 +0200
+++ new/dleyna-core-0.4.0/configure.ac  2013-10-03 14:14:04.000000000 +0200
@@ -1,7 +1,7 @@
 AC_PREREQ([2.66])
 
 AC_INIT([dleyna-core],
-       [0.1.0],
+       [0.4.0],
        [https://github.com/01org/dleyna-core/issues/new],
        ,
        [https://01.org/dleyna/])
@@ -39,7 +39,7 @@
 PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28])
 PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28])
 PKG_CHECK_MODULES([GMODULE], [gmodule-2.0 >= 2.28])
-PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.19.1])
+PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5])
 
 # Checks for header files.
 AC_CHECK_HEADERS([stdlib.h string.h syslog.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/connector-mgr.c 
new/dleyna-core-0.4.0/libdleyna/core/connector-mgr.c
--- old/dleyna-core-0.1.0/libdleyna/core/connector-mgr.c        2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/connector-mgr.c        2013-08-29 
10:51:40.000000000 +0200
@@ -26,7 +26,7 @@
 #include "connector-mgr.h"
 #include "log.h"
 
-static GHashTable *g_connectors = NULL;
+static GHashTable *g_connectors;
 
 const dleyna_connector_t *dleyna_connector_mgr_load(const gchar *name)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/connector.h 
new/dleyna-core-0.4.0/libdleyna/core/connector.h
--- old/dleyna-core-0.1.0/libdleyna/core/connector.h    2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/connector.h    2013-08-29 
10:51:40.000000000 +0200
@@ -67,7 +67,7 @@
                        dleyna_connector_id_t connection,
                        const gchar *object_path,
                        gboolean root,
-                       guint interface_index,
+                       const gchar *interface_name,
                        const dleyna_connector_dispatch_cb_t *cb_table_1);
 typedef guint (*dleyna_connector_publish_subtree_t)(
                                dleyna_connector_id_t connection,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/control-point.h 
new/dleyna-core-0.4.0/libdleyna/core/control-point.h
--- old/dleyna-core-0.1.0/libdleyna/core/control-point.h        2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/control-point.h        2013-10-03 
13:58:05.000000000 +0200
@@ -38,6 +38,7 @@
 typedef const gchar *(*dleyna_control_point_server_name_t)(void);
 typedef const gchar *(*dleyna_control_point_server_introspection_t)(void);
 typedef const gchar *(*dleyna_control_point_root_introspection_t)(void);
+typedef const gchar *(*dleyna_control_point_get_version_t)(void);
 
 typedef gboolean (*dleyna_control_point_start_service_t)(
                                        dleyna_connector_id_t connection);
@@ -52,6 +53,7 @@
        dleyna_control_point_root_introspection_t root_introspection;
        dleyna_control_point_start_service_t start_service;
        dleyna_control_point_stop_service_t stop_service;
+       dleyna_control_point_get_version_t get_version;
 };
 
 #endif /* DLEYNA_CONTROL_POINT_H__ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/log.c 
new/dleyna-core-0.4.0/libdleyna/core/log.c
--- old/dleyna-core-0.1.0/libdleyna/core/log.c  2013-05-31 14:28:02.000000000 
+0200
+++ new/dleyna-core-0.4.0/libdleyna/core/log.c  2013-10-03 13:58:05.000000000 
+0200
@@ -132,7 +132,7 @@
        (void) setlogmask(mask);
 }
 
-void dleyna_log_init(const char *program)
+void dleyna_log_init(const char *program, const char *version)
 {
        int option = LOG_NDELAY | LOG_PID;
        int old;
@@ -148,7 +148,8 @@
        openlog(basename(program), option, LOG_DAEMON);
 
        old = setlogmask(LOG_MASK(LOG_INFO));
-       syslog(LOG_INFO, "dLeyna version %s", VERSION);
+       syslog(LOG_INFO, "dLeyna core version %s", VERSION);
+       syslog(LOG_INFO, "%s version %s", program, version);
        (void) setlogmask(s_log_context.mask);
 
        s_log_context.old_mask = old;
@@ -157,8 +158,10 @@
                                                        &s_log_context);
 
 #if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_INFO
-       if (s_log_context.log_type != DLEYNA_LOG_TYPE_SYSLOG)
-               DLEYNA_LOG_INFO("dLeyna version %s", VERSION);
+       if (s_log_context.log_type != DLEYNA_LOG_TYPE_SYSLOG) {
+               DLEYNA_LOG_INFO("dLeyna core version %s", VERSION);
+               DLEYNA_LOG_INFO("%s version %s", program, version);
+       }
 #endif
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/log.h 
new/dleyna-core-0.4.0/libdleyna/core/log.h
--- old/dleyna-core-0.1.0/libdleyna/core/log.h  2013-05-31 14:28:02.000000000 
+0200
+++ new/dleyna-core-0.4.0/libdleyna/core/log.h  2013-08-29 10:51:40.000000000 
+0200
@@ -33,7 +33,7 @@
 };
 typedef enum dleyna_log_type_t_ dleyna_log_type_t;
 
-void dleyna_log_init(const char *program);
+void dleyna_log_init(const char *program, const char *version);
 
 void dleyna_log_finalize(void);
 
@@ -47,15 +47,11 @@
  */
 #ifdef DLEYNA_DEBUG_ENABLED
        #define DLEYNA_LOG_HELPER(priority, flags, fmt, ...)    \
-               do { \
                        dleyna_log_trace(priority, flags, "%s : %s() --- " fmt,\
-                                     __FILE__, __func__, ## __VA_ARGS__); \
-               } while (0)
+                                     __FILE__, __func__, ## __VA_ARGS__);
 #else
        #define DLEYNA_LOG_HELPER(priority, flags, fmt, ...) \
-               do { \
-                       dleyna_log_trace(priority, flags, fmt, ## __VA_ARGS__);\
-               } while (0)
+                       dleyna_log_trace(priority, flags, fmt, ## __VA_ARGS__);
 #endif
 
 
@@ -126,9 +122,7 @@
  */
 #if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
        #define DLEYNA_LOG_DEBUG_NL() \
-               do { \
-                       dleyna_log_trace(LOG_DEBUG, G_LOG_LEVEL_DEBUG, " "); \
-               } while (0)
+                       dleyna_log_trace(LOG_DEBUG, G_LOG_LEVEL_DEBUG, " ");
 #else
        #define DLEYNA_LOG_DEBUG_NL()
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/main-loop.c 
new/dleyna-core-0.4.0/libdleyna/core/main-loop.c
--- old/dleyna-core-0.1.0/libdleyna/core/main-loop.c    2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/main-loop.c    2013-10-03 
13:58:05.000000000 +0200
@@ -119,15 +119,17 @@
                dleyna_settings_delete(g_context.settings);
 }
 
-int dleyna_main_loop_start(char *server,
+int dleyna_main_loop_start(const char *server,
                           const dleyna_control_point_t *control_point,
                           gpointer user_data)
 {
        int retval = 1;
 
+#if !GLIB_CHECK_VERSION(2, 35, 0)
        g_type_init();
+#endif
 
-       dleyna_log_init(server);
+       dleyna_log_init(server, control_point->get_version());
 
        if (!prv_context_init(server, control_point))
                goto out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/main-loop.h 
new/dleyna-core-0.4.0/libdleyna/core/main-loop.h
--- old/dleyna-core-0.1.0/libdleyna/core/main-loop.h    2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/main-loop.h    2013-10-03 
13:58:05.000000000 +0200
@@ -26,7 +26,7 @@
 #include "connector.h"
 #include "control-point.h"
 
-int dleyna_main_loop_start(char *server,
+int dleyna_main_loop_start(const char *server,
                           const dleyna_control_point_t *control_point,
                           gpointer user_data);
 void dleyna_main_loop_quit(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/service-task.c 
new/dleyna-core-0.4.0/libdleyna/core/service-task.c
--- old/dleyna-core-0.1.0/libdleyna/core/service-task.c 2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/service-task.c 2013-08-29 
10:51:40.000000000 +0200
@@ -92,7 +92,8 @@
 
        if (failed)
                dleyna_task_processor_cancel_queue(task->base.queue_id);
-       else if (!task->p_action)
+
+       if (!task->p_action)
                dleyna_task_queue_task_completed(task->base.queue_id);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/settings.c 
new/dleyna-core-0.4.0/libdleyna/core/settings.c
--- old/dleyna-core-0.1.0/libdleyna/core/settings.c     2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/settings.c     2013-10-03 
13:58:05.000000000 +0200
@@ -25,13 +25,12 @@
 
 #include "log.h"
 #include "settings.h"
+#include "white-list.h"
 
 struct dleyna_settings_t_ {
        GKeyFile *keyfile;
-       GFileMonitor *monitor;
-       gulong handler_id;
-       guint ev_id;
        gchar *file_name;
+       gchar *file_path;
 
        /* Global section */
        gboolean never_quit;
@@ -40,37 +39,60 @@
        /* Log section */
        dleyna_log_type_t log_type;
        int log_level;
+
+       /* netf section */
+       gboolean netf_enabled;
+       GVariant *netf_entries;
 };
 
 #define DLEYNA_SETTINGS_GROUP_GENERAL          "general"
 #define DLEYNA_SETTINGS_KEY_NEVER_QUIT         "never-quit"
 #define DLEYNA_SETTINGS_KEY_CONNECTOR_NAME     "connector-name"
 
-#define DLEYNA_SETTINGS_GROUP_LOG      "log"
-#define DLEYNA_SETTINGS_KEY_LOG_TYPE   "log-type"
-#define DLEYNA_SETTINGS_KEY_LOG_LEVEL  "log-level"
+#define DLEYNA_SETTINGS_GROUP_LOG              "log"
+#define DLEYNA_SETTINGS_KEY_LOG_TYPE           "log-type"
+#define DLEYNA_SETTINGS_KEY_LOG_LEVEL          "log-level"
+
+#define DLEYNA_SETTINGS_GROUP_NETF             "netf"
+#define DLEYNA_SETTINGS_KEY_NETF_ENABLED       "netf-enabled"
+#define DLEYNA_SETTINGS_KEY_NETF_LIST          "netf-list"
 
 #define DLEYNA_SETTINGS_DEFAULT_NEVER_QUIT     DLEYNA_NEVER_QUIT
 #define DLEYNA_SETTINGS_DEFAULT_CONNECTOR_NAME DLEYNA_CONNECTOR_NAME
 #define DLEYNA_SETTINGS_DEFAULT_LOG_TYPE       DLEYNA_LOG_TYPE
 #define DLEYNA_SETTINGS_DEFAULT_LOG_LEVEL      DLEYNA_LOG_LEVEL
 
+#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_INFO
 #define DLEYNA_SETTINGS_LOG_KEYS(sys, loc, settings) \
 do { \
+       gchar *str = NULL; \
+       \
+       DLEYNA_LOG_DEBUG_NL(); \
+       DLEYNA_LOG_INFO("Load file [%s]", (settings)->file_path); \
        DLEYNA_LOG_DEBUG_NL(); \
-       DLEYNA_LOG_INFO("Load file [%s]", loc ? loc : sys); \
+       \
+       DLEYNA_LOG_INFO("[General settings]"); \
+       DLEYNA_LOG_INFO("Never Quit: %s", (settings)->never_quit ? "T" : "F");\
        DLEYNA_LOG_DEBUG_NL(); \
-       DLEYNA_LOG_DEBUG("[General settings]"); \
-       DLEYNA_LOG_DEBUG("Never Quit: %s", (settings)->never_quit ? "T" : "F");\
+       DLEYNA_LOG_INFO("Connector Name: %s", (settings)->connector_name);\
        DLEYNA_LOG_DEBUG_NL(); \
-       DLEYNA_LOG_DEBUG("Connector Name: %s", (settings)->connector_name);\
+       \
+       DLEYNA_LOG_INFO("[Logging settings]"); \
+       DLEYNA_LOG_INFO("Log Type : %d", (settings)->log_type); \
+       DLEYNA_LOG_INFO("Log Level: 0x%02X", (settings)->log_level); \
        DLEYNA_LOG_DEBUG_NL(); \
-       DLEYNA_LOG_DEBUG("[Logging settings]"); \
-       DLEYNA_LOG_DEBUG("Log Type : %d", (settings)->log_type); \
-       DLEYNA_LOG_DEBUG("Log Level: 0x%02X", (settings)->log_level); \
+       \
+       if ((settings)->netf_entries != NULL) \
+               str = g_variant_print((settings)->netf_entries, FALSE); \
+       DLEYNA_LOG_INFO("[Network filtering settings]"); \
+       DLEYNA_LOG_INFO("Enabled : %s", (settings)->netf_enabled ? "T" : "F");\
+       DLEYNA_LOG_INFO("Entries: %s", str); \
+       g_free(str); \
        DLEYNA_LOG_DEBUG_NL(); \
 } while (0)
-
+#else
+#define DLEYNA_SETTINGS_LOG_KEYS(sys, loc, settings)
+#endif
 
 static void prv_get_keyfile_path(const gchar *file, gchar **sys_path,
                                 gchar **loc_path)
@@ -138,7 +160,8 @@
 
        keyfile = g_key_file_new();
 
-       if (!g_key_file_load_from_file(keyfile, filepath, G_KEY_FILE_NONE,
+       if (!g_key_file_load_from_file(keyfile, filepath,
+                                      G_KEY_FILE_KEEP_COMMENTS,
                                       NULL)) {
                g_key_file_free(keyfile);
                keyfile = NULL;
@@ -148,6 +171,25 @@
        return keyfile;
 }
 
+static GVariant *prv_to_netf_entries(char **list)
+{
+       GVariantBuilder vb;
+       GVariant *result = NULL;
+
+       if ((list != NULL) && (*list != NULL)) {
+               g_variant_builder_init(&vb, G_VARIANT_TYPE("as"));
+
+               while (*list != NULL) {
+                       g_variant_builder_add(&vb, "s", *list);
+                       list++;
+               }
+
+               result = g_variant_ref_sink(g_variant_builder_end(&vb));
+       }
+
+       return result;
+}
+
 static int prv_to_log_level(gint *int_list, gsize length)
 {
        gsize i;
@@ -205,6 +247,7 @@
        gchar *s_val;
        gint *int_star;
        gsize length;
+       gchar **list;
 
        b_val = g_key_file_get_boolean(keyfile,
                                       DLEYNA_SETTINGS_GROUP_GENERAL,
@@ -252,13 +295,38 @@
                                               &error);
 
        if (error == NULL) {
-               settings->log_level = prv_to_log_level(int_star,
-                                                                   length);
+               settings->log_level = prv_to_log_level(int_star, length);
                g_free(int_star);
        } else {
                g_error_free(error);
                error = NULL;
        }
+
+       b_val = g_key_file_get_boolean(keyfile,
+                                      DLEYNA_SETTINGS_GROUP_NETF,
+                                      DLEYNA_SETTINGS_KEY_NETF_ENABLED,
+                                      &error);
+
+       if (error == NULL) {
+               settings->netf_enabled = b_val;
+       } else {
+               g_error_free(error);
+               error = NULL;
+       }
+
+       list = g_key_file_get_string_list(keyfile,
+                                         DLEYNA_SETTINGS_GROUP_NETF,
+                                         DLEYNA_SETTINGS_KEY_NETF_LIST,
+                                         NULL,
+                                         &error);
+
+       if (error == NULL) {
+               settings->netf_entries = prv_to_netf_entries(list);
+               g_strfreev(list);
+       } else {
+               g_error_free(error);
+               error = NULL;
+       }
 }
 
 static void prv_init_default(dleyna_settings_t *settings)
@@ -269,112 +337,112 @@
 
        settings->log_type = DLEYNA_SETTINGS_DEFAULT_LOG_TYPE;
        settings->log_level = DLEYNA_SETTINGS_DEFAULT_LOG_LEVEL;
+
+       settings->netf_enabled = FALSE;
+       settings->netf_entries = NULL;
 }
 
 static void prv_keyfile_init(dleyna_settings_t *settings,
                             const gchar *sys_path,
                             const gchar *loc_path)
 {
+       const gchar *path = loc_path;
+
        settings->keyfile = prv_load_keyfile(loc_path);
 
-       if (settings->keyfile == NULL)
+       if (settings->keyfile == NULL) {
+               path = sys_path;
                settings->keyfile = prv_load_keyfile(sys_path);
+       }
 
        if (settings->keyfile != NULL) {
                prv_read_keys(settings);
                dleyna_log_update_type_level(settings->log_type,
                                             settings->log_level);
+               settings->file_path = g_strdup(path);
        }
 }
 
 static void prv_keyfile_finalize(dleyna_settings_t *settings)
 {
+       if (settings->netf_entries != NULL) {
+               g_variant_unref(settings->netf_entries);
+               settings->netf_entries = NULL;
+       }
+
        if (settings->keyfile != NULL) {
                g_key_file_free(settings->keyfile);
                settings->keyfile = NULL;
        }
+
+       g_free(settings->file_path);
+       settings->file_path = NULL;
 }
 
-static void prv_reload(dleyna_settings_t *settings)
+void dleyna_settings_new(const gchar *server, dleyna_settings_t **settings)
 {
        gchar *sys_path = NULL;
        gchar *loc_path = NULL;
+       const gchar *server_name;
 
-       DLEYNA_LOG_INFO("Reload local configuration file");
+       *settings = g_malloc0(sizeof(**settings));
 
-       prv_keyfile_finalize(settings);
-       prv_init_default(settings);
-       prv_get_keyfile_path(settings->file_name, &sys_path, &loc_path);
+       server_name = strrchr(server, '/');
+       if (server_name)
+               server_name++;
+       else
+               server_name = server;
+
+       (*settings)->file_name = g_strdup_printf("%s%s", server_name, ".conf");
+
+       prv_init_default(*settings);
+
+       prv_get_keyfile_path((*settings)->file_name, &sys_path, &loc_path);
+
+       if (loc_path)
+               prv_check_local_keyfile(sys_path, loc_path);
 
        if (sys_path || loc_path)
-               prv_keyfile_init(settings, sys_path, loc_path);
+               prv_keyfile_init(*settings, sys_path, loc_path);
 
-       DLEYNA_SETTINGS_LOG_KEYS(sys_path, loc_path, settings);
+       DLEYNA_SETTINGS_LOG_KEYS(sys_path, loc_path, *settings);
 
        g_free(sys_path);
        g_free(loc_path);
 }
 
-static gboolean prv_monitor_timout_cb(gpointer user_data)
+void dleyna_settings_delete(dleyna_settings_t *settings)
 {
-       dleyna_settings_t *data = (dleyna_settings_t *)user_data;
+       g_free(settings->connector_name);
+       g_free(settings->file_name);
 
-       DLEYNA_LOG_INFO("Change in local settings file: Reload");
+       prv_keyfile_finalize(settings);
 
-       prv_reload(data);
+       g_free(settings);
+}
 
-       data->ev_id = 0;
-       return FALSE;
+const gchar *dleyna_settings_connector_name(dleyna_settings_t *settings)
+{
+       return settings->connector_name;
 }
 
-static void prv_monitor_keyfile_cb(GFileMonitor *monitor,
-                                  GFile *file,
-                                  GFile *other_file,
-                                  GFileMonitorEvent event_type,
-                                  gpointer user_data)
+static void prv_save_settings_to_file(dleyna_settings_t *settings,
+                                     GError **error)
 {
-       dleyna_settings_t *data = (dleyna_settings_t *)user_data;
+       gchar *data;
+       gsize length;
 
-       switch (event_type) {
-       case G_FILE_MONITOR_EVENT_CHANGED:
-       case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
-       case G_FILE_MONITOR_EVENT_DELETED:
-       case G_FILE_MONITOR_EVENT_CREATED:
-       case G_FILE_MONITOR_EVENT_MOVED:
-               /* Reset the timer to prevent running the cb if monitoring
-                * event are raised 1 sec after the timer has been set */
-               if (data->ev_id != 0)
-                       (void) g_source_remove(data->ev_id);
+       DLEYNA_LOG_DEBUG("Enter");
 
-               data->ev_id = g_timeout_add_seconds(1,
-                                                   prv_monitor_timout_cb,
-                                                   user_data);
-               break;
-       default:
-               break;
-       }
-}
+       data = g_key_file_to_data(settings->keyfile, &length , NULL);
 
-static void prv_monitor_local_keyfile(dleyna_settings_t *settings,
-                                     const gchar *loc_path)
-{
-       GFile *loc_file;
-       GFileMonitor *monitor = NULL;
-       gulong handler_id;
+       DLEYNA_LOG_DEBUG_NL();
+       DLEYNA_LOG_DEBUG("\n%s", data);
+       DLEYNA_LOG_DEBUG_NL();
 
-       loc_file = g_file_new_for_path(loc_path);
-       monitor = g_file_monitor_file(loc_file, G_FILE_MONITOR_SEND_MOVED, NULL,
-                                       NULL);
-       g_object_unref(loc_file);
-
-       if (monitor != NULL) {
-               handler_id = g_signal_connect(monitor, "changed",
-                               G_CALLBACK(prv_monitor_keyfile_cb),
-                               settings);
+       (void) g_file_set_contents(settings->file_path, data, length, error);
 
-               settings->monitor = monitor;
-               settings->handler_id = handler_id;
-       }
+       g_free(data);
 }
 
 gboolean dleyna_settings_is_never_quit(dleyna_settings_t *settings)
@@ -382,58 +450,107 @@
        return settings->never_quit;
 }
 
-const gchar *dleyna_settings_connector_name(dleyna_settings_t *settings)
+void dleyna_settings_set_never_quit(dleyna_settings_t *settings,
+                                   gboolean never_quit,
+                                   GError **error)
 {
-       return settings->connector_name;
+       DLEYNA_LOG_DEBUG("Enter");
+
+       g_key_file_set_boolean(settings->keyfile,
+                              DLEYNA_SETTINGS_GROUP_GENERAL,
+                              DLEYNA_SETTINGS_KEY_NEVER_QUIT,
+                              never_quit);
+
+       prv_save_settings_to_file(settings, error);
+
+       if (*error == NULL)
+               settings->never_quit = never_quit;
+
+       DLEYNA_LOG_DEBUG("Exit");
 }
 
-void dleyna_settings_new(const gchar *server, dleyna_settings_t **settings)
+gboolean dleyna_settings_is_white_list_enabled(dleyna_settings_t *settings)
 {
-       gchar *sys_path = NULL;
-       gchar *loc_path = NULL;
-       const gchar *server_name;
+       return settings->netf_enabled;
+}
 
-       *settings = g_malloc0(sizeof(**settings));
+void dleyna_settings_set_white_list_enabled(dleyna_settings_t *settings,
+                                           gboolean enabled,
+                                           GError **error)
+{
+       DLEYNA_LOG_DEBUG("Enter");
 
-       server_name = strrchr(server, '/');
-       if (server_name)
-               server_name++;
-       else
-               server_name = server;
-       (*settings)->file_name = g_strdup_printf("%s%s", server_name, ".conf");
+       g_key_file_set_boolean(settings->keyfile,
+                              DLEYNA_SETTINGS_GROUP_NETF,
+                              DLEYNA_SETTINGS_KEY_NETF_ENABLED,
+                              enabled);
 
-       prv_init_default(*settings);
+       prv_save_settings_to_file(settings, error);
 
-       prv_get_keyfile_path((*settings)->file_name, &sys_path, &loc_path);
+       if (*error == NULL)
+               settings->netf_enabled = enabled;
 
-       if (loc_path) {
-               prv_check_local_keyfile(sys_path, loc_path);
-               prv_monitor_local_keyfile(*settings, loc_path);
-       }
+       DLEYNA_LOG_DEBUG("Exit");
+}
 
-       if (sys_path || loc_path)
-               prv_keyfile_init(*settings, sys_path, loc_path);
+GVariant *dleyna_settings_white_list_entries(dleyna_settings_t *settings)
+{
+       return settings->netf_entries;
+}
 
-       DLEYNA_SETTINGS_LOG_KEYS(sys_path, loc_path, *settings);
+static const gchar **prv_filter_null_str(const gchar **orig_strv,
+                                        gsize orig_len,
+                                        gsize *new_len)
+{
+       const gchar **strv = NULL;
+       gsize i;
+       gsize n = 0;
 
-       g_free(sys_path);
-       g_free(loc_path);
+       if (orig_strv && orig_len) {
+               strv = g_new(const gchar *, orig_len + 1);
+
+               for (i = 0; i < orig_len; i++) {
+                       if (*orig_strv[i])
+                               strv[n++] = orig_strv[i];
+               }
+
+               strv[n] = NULL;
+       }
+
+       *new_len = n;
+
+       return strv;
 }
 
-void dleyna_settings_delete(dleyna_settings_t *settings)
+void dleyna_settings_set_white_list_entries(dleyna_settings_t *settings,
+                                           GVariant *entries,
+                                           GError **error)
 {
-       if (settings->monitor) {
-               if (settings->handler_id)
-                       g_signal_handler_disconnect(settings->monitor,
-                                                   settings->handler_id);
+       const gchar **list;
+       gsize length;
+       const gchar **list2;
+       gsize length2;
+
+       DLEYNA_LOG_DEBUG("Enter");
+
+       list = g_variant_get_strv(entries, &length);
 
-               g_file_monitor_cancel(settings->monitor);
-               g_object_unref(settings->monitor);
+       list2 = prv_filter_null_str(list, length, &length2);
+
+       g_key_file_set_string_list(settings->keyfile,
+                                  DLEYNA_SETTINGS_GROUP_NETF,
+                                  DLEYNA_SETTINGS_KEY_NETF_LIST,
+                                  list2, length2);
+
+       prv_save_settings_to_file(settings, error);
+
+       if (*error == NULL) {
+               g_variant_unref(settings->netf_entries);
+               settings->netf_entries = g_variant_ref(entries);
        }
-       g_free(settings->connector_name);
-       g_free(settings->file_name);
 
-       prv_keyfile_finalize(settings);
+       g_free(list);
+       g_free(list2);
 
-       g_free(settings);
+       DLEYNA_LOG_DEBUG("Exit");
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/settings.h 
new/dleyna-core-0.4.0/libdleyna/core/settings.h
--- old/dleyna-core-0.1.0/libdleyna/core/settings.h     2013-05-31 
14:28:02.000000000 +0200
+++ new/dleyna-core-0.4.0/libdleyna/core/settings.h     2013-10-03 
13:58:05.000000000 +0200
@@ -28,9 +28,27 @@
 typedef struct dleyna_settings_t_ dleyna_settings_t;
 
 void dleyna_settings_new(const gchar *server, dleyna_settings_t **settings);
+
 void dleyna_settings_delete(dleyna_settings_t *settings);
 
-gboolean dleyna_settings_is_never_quit(dleyna_settings_t *settings);
 const gchar *dleyna_settings_connector_name(dleyna_settings_t *settings);
 
+gboolean dleyna_settings_is_never_quit(dleyna_settings_t *settings);
+
+void dleyna_settings_set_never_quit(dleyna_settings_t *settings,
+                                   gboolean never_quit,
+                                   GError **error);
+
+gboolean dleyna_settings_is_white_list_enabled(dleyna_settings_t *settings);
+
+void dleyna_settings_set_white_list_enabled(dleyna_settings_t *settings,
+                                           gboolean enabled,
+                                           GError **error);
+
+GVariant *dleyna_settings_white_list_entries(dleyna_settings_t *settings);
+
+void dleyna_settings_set_white_list_entries(dleyna_settings_t *settings,
+                                           GVariant *entries,
+                                           GError **error);
+
 #endif /* DLEYNA_SETTINGS_H__ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/white-list.c 
new/dleyna-core-0.4.0/libdleyna/core/white-list.c
--- old/dleyna-core-0.1.0/libdleyna/core/white-list.c   1970-01-01 
01:00:00.000000000 +0100
+++ new/dleyna-core-0.4.0/libdleyna/core/white-list.c   2013-10-03 
13:58:05.000000000 +0200
@@ -0,0 +1,138 @@
+/*
+ * dLeyna
+ *
+ * Copyright (C) 2013 Intel Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation, 
Inc.,
+ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Ludovic Ferrandis <[email protected]>
+ *
+ */
+
+#include <string.h>
+
+#include "white-list.h"
+#include "log.h"
+
+struct dleyna_white_list_t_ {
+       GUPnPWhiteList *gupnp_wl;
+};
+
+#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
+static void prv_dump_wl_entries(GUPnPWhiteList *wl)
+{
+       GList *l;
+
+       l = gupnp_white_list_get_entries(wl);
+
+       DLEYNA_LOG_DEBUG_NL();
+       DLEYNA_LOG_DEBUG("White List entries:");
+
+       if (l != NULL) {
+               while (l != NULL) {
+                       DLEYNA_LOG_DEBUG("     Entry: [%s].", (char *)l->data);
+                       l = l->next;
+               }
+       } else {
+               DLEYNA_LOG_DEBUG("     White List Empty.");
+       }
+
+       DLEYNA_LOG_DEBUG_NL();
+}
+#endif
+
+dleyna_white_list_t *dleyna_white_list_new(GUPnPWhiteList *gupnp_wl)
+{
+       dleyna_white_list_t *wl;
+
+       if (gupnp_wl != NULL) {
+               wl =  g_new0(dleyna_white_list_t, 1);
+
+               wl->gupnp_wl = gupnp_wl;
+       } else {
+               wl = NULL;
+               DLEYNA_LOG_DEBUG("Parameter must not be NULL");
+       }
+
+
+       return wl;
+}
+
+void dleyna_white_list_delete(dleyna_white_list_t *wl)
+{
+       g_free(wl);
+}
+
+void dleyna_white_list_enable(dleyna_white_list_t *wl,
+                             gboolean enabled)
+{
+       if (wl->gupnp_wl != NULL) {
+               gupnp_white_list_set_enabled(wl->gupnp_wl, enabled);
+
+               DLEYNA_LOG_DEBUG("White List enabled: %d", enabled);
+       }
+}
+
+void dleyna_white_list_add_entries(dleyna_white_list_t *wl,
+                                  GVariant *entries)
+{
+       GVariantIter viter;
+       gchar *entry;
+
+       DLEYNA_LOG_DEBUG("Enter");
+
+       if ((entries != NULL) && (wl->gupnp_wl != NULL)) {
+               (void) g_variant_iter_init(&viter, entries);
+
+               while (g_variant_iter_next(&viter, "&s", &entry))
+                       (void) gupnp_white_list_add_entry(wl->gupnp_wl, entry);
+
+#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
+               prv_dump_wl_entries(wl->gupnp_wl);
+#endif
+       }
+
+       DLEYNA_LOG_DEBUG("Exit");
+}
+
+void dleyna_white_list_remove_entries(dleyna_white_list_t *wl,
+                                     GVariant *entries)
+{
+       GVariantIter viter;
+       gchar *entry;
+
+       if ((entries != NULL) && (wl->gupnp_wl != NULL)) {
+               (void) g_variant_iter_init(&viter, entries);
+
+               while (g_variant_iter_next(&viter, "&s", &entry))
+                       (void) gupnp_white_list_remove_entry(wl->gupnp_wl,
+                                                            entry);
+
+#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
+               prv_dump_wl_entries(wl->gupnp_wl);
+#endif
+       }
+}
+
+void dleyna_white_list_clear(dleyna_white_list_t *wl)
+{
+       if (wl->gupnp_wl != NULL) {
+               DLEYNA_LOG_DEBUG("Clear white list");
+               gupnp_white_list_clear(wl->gupnp_wl);
+
+#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
+               prv_dump_wl_entries(wl->gupnp_wl);
+#endif
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/libdleyna/core/white-list.h 
new/dleyna-core-0.4.0/libdleyna/core/white-list.h
--- old/dleyna-core-0.1.0/libdleyna/core/white-list.h   1970-01-01 
01:00:00.000000000 +0100
+++ new/dleyna-core-0.4.0/libdleyna/core/white-list.h   2013-10-03 
13:58:05.000000000 +0200
@@ -0,0 +1,44 @@
+/*
+ * dLeyna
+ *
+ * Copyright (C) 2013 Intel Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation, 
Inc.,
+ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Ludovic Ferrandis <[email protected]>
+ *
+ */
+
+#ifndef DLEYNA_WHITE_LIST_H__
+#define DLEYNA_WHITE_LIST_H__
+
+#include <glib.h>
+#include <libgupnp/gupnp-white-list.h>
+
+typedef struct dleyna_white_list_t_ dleyna_white_list_t;
+
+dleyna_white_list_t *dleyna_white_list_new(GUPnPWhiteList *gupnp_wl);
+
+void dleyna_white_list_delete(dleyna_white_list_t *wl);
+
+void dleyna_white_list_enable(dleyna_white_list_t *wl, gboolean enabled);
+
+void dleyna_white_list_add_entries(dleyna_white_list_t *wl, GVariant *entries);
+
+void dleyna_white_list_remove_entries(dleyna_white_list_t *wl,
+                                     GVariant *entries);
+
+void dleyna_white_list_clear(dleyna_white_list_t *wl);
+
+#endif /* DLEYNA_WHITE_LIST_H__ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dleyna-core-0.1.0/m4/libtool.m4 
new/dleyna-core-0.4.0/m4/libtool.m4
--- old/dleyna-core-0.1.0/m4/libtool.m4 2013-06-06 11:08:08.000000000 +0200
+++ new/dleyna-core-0.4.0/m4/libtool.m4 2013-10-03 14:22:09.000000000 +0200
@@ -1324,7 +1324,14 @@
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
+           case `/usr/bin/file conftest.o` in
+             *x86-64*)
+               LD="${LD-ld} -m elf32_x86_64"
+               ;;
+             *)
+               LD="${LD-ld} -m elf_i386"
+               ;;
+           esac
            ;;
          ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
@@ -1688,7 +1695,8 @@
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
@@ -2512,17 +2520,6 @@
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
@@ -2639,7 +2636,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
@@ -3255,10 +3252,6 @@
   fi
   ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 haiku*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3297,7 +3290,7 @@
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -4049,7 +4042,7 @@
            ;;
        esac
        ;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
        case $cc_basename in
          KCC*)
            # KAI C++ Compiler
@@ -4348,7 +4341,7 @@
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -6241,9 +6234,6 @@
         _LT_TAGVAR(ld_shlibs, $1)=yes
         ;;
 
-      gnu*)
-        ;;
-
       haiku*)
         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname $wl$soname -o $lib'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -6405,7 +6395,7 @@
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
 
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
         case $cc_basename in
           KCC*)
            # Kuck and Associates, Inc. (KAI) C++ Compiler

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to