Hello community,

here is the log from the commit of package snapper for openSUSE:Factory checked 
in at 2015-01-23 16:17:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/snapper (Old)
 and      /work/SRC/openSUSE:Factory/.snapper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "snapper"

Changes:
--------
--- /work/SRC/openSUSE:Factory/snapper/snapper.changes  2014-12-16 
14:46:55.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.snapper.new/snapper.changes     2015-01-23 
16:17:59.000000000 +0100
@@ -1,0 +2,17 @@
+Mon Jan 19 12:42:13 CET 2015 - [email protected]
+
+- stricter dbus string escaping (see bsc#913238)
+- implemented dbus string escaping in pam_snapper
+- version 0.2.5
+
+-------------------------------------------------------------------
+Mon Jan 12 12:19:30 CET 2015 - [email protected]
+
+- fixed compilation with clang
+
+-------------------------------------------------------------------
+Mon Dec 15 15:14:39 CET 2014 - [email protected]
+
+- ignore everything in .snapshots not matching a number
+
+-------------------------------------------------------------------

Old:
----
  snapper-0.2.4.tar.bz2

New:
----
  snapper-0.2.5.tar.bz2

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

Other differences:
------------------
++++++ snapper.spec ++++++
--- /var/tmp/diff_new_pack.qZrFi2/_old  2015-01-23 16:17:59.000000000 +0100
+++ /var/tmp/diff_new_pack.qZrFi2/_new  2015-01-23 16:17:59.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package snapper
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -17,7 +17,7 @@
 
 
 Name:           snapper
-Version:        0.2.4
+Version:        0.2.5
 Release:        0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source:         snapper-%{version}.tar.bz2

++++++ snapper-0.2.4.tar.bz2 -> snapper-0.2.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/Makefile.am 
new/snapper-0.2.5/Makefile.am
--- old/snapper-0.2.4/Makefile.am       2014-01-29 16:48:30.000000000 +0100
+++ new/snapper-0.2.5/Makefile.am       2015-01-12 13:50:07.000000000 +0100
@@ -11,14 +11,9 @@
 
 EXTRA_DIST = $(doc_DATA) VERSION LIBVERSION
 
-
 snapper-$(VERSION).tar.bz2: dist-bzip2
 
-package-local: snapper-$(VERSION).tar.bz2
+package: snapper-$(VERSION).tar.bz2
        rm -f package/snapper-*.tar.bz2
-       rm -f package/*~
-       rm -f package/*.bak
        mv snapper-$(VERSION).tar.bz2 package/
 
-package: package-local
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/Makefile.in 
new/snapper-0.2.5/Makefile.in
--- old/snapper-0.2.4/Makefile.in       2014-12-12 14:04:09.000000000 +0100
+++ new/snapper-0.2.5/Makefile.in       2015-01-19 16:56:50.000000000 +0100
@@ -876,14 +876,10 @@
 
 snapper-$(VERSION).tar.bz2: dist-bzip2
 
-package-local: snapper-$(VERSION).tar.bz2
+package: snapper-$(VERSION).tar.bz2
        rm -f package/snapper-*.tar.bz2
-       rm -f package/*~
-       rm -f package/*.bak
        mv snapper-$(VERSION).tar.bz2 package/
 
-package: package-local
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/VERSION new/snapper-0.2.5/VERSION
--- old/snapper-0.2.4/VERSION   2014-09-15 11:42:45.000000000 +0200
+++ new/snapper-0.2.5/VERSION   2015-01-19 16:56:41.000000000 +0100
@@ -1 +1 @@
-0.2.4
+0.2.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/client/snapper.cc 
new/snapper-0.2.5/client/snapper.cc
--- old/snapper-0.2.4/client/snapper.cc 2014-12-12 14:01:22.000000000 +0100
+++ new/snapper-0.2.5/client/snapper.cc 2015-01-12 13:50:07.000000000 +0100
@@ -91,7 +91,7 @@
 
 struct MyFiles : public Files
 {
-    friend class MyComparison;
+    friend struct MyComparison;
 
     MyFiles(const FilePaths* file_paths)
        : Files(file_paths) {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/data/Makefile.am 
new/snapper-0.2.5/data/Makefile.am
--- old/snapper-0.2.4/data/Makefile.am  2014-01-29 16:48:30.000000000 +0100
+++ new/snapper-0.2.5/data/Makefile.am  2014-12-31 13:14:14.000000000 +0100
@@ -4,7 +4,7 @@
 
 EXTRA_DIST = sysconfig.snapper base.txt lvm.txt x11.txt snapper.logrotate      
\
        default-config org.opensuse.Snapper.conf org.opensuse.Snapper.service   
\
-       zypp-plugin.conf
+       zypp-plugin.conf cleanup.service cleanup.timer timeline.service 
timeline.timer
 
 install-data-local:
        install -D -m 644 snapper.logrotate $(DESTDIR)/etc/logrotate.d/snapper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/data/Makefile.in 
new/snapper-0.2.5/data/Makefile.in
--- old/snapper-0.2.4/data/Makefile.in  2014-12-12 14:04:09.000000000 +0100
+++ new/snapper-0.2.5/data/Makefile.in  2015-01-19 16:56:50.000000000 +0100
@@ -256,7 +256,7 @@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = sysconfig.snapper base.txt lvm.txt x11.txt snapper.logrotate      
\
        default-config org.opensuse.Snapper.conf org.opensuse.Snapper.service   
\
-       zypp-plugin.conf
+       zypp-plugin.conf cleanup.service cleanup.timer timeline.service 
timeline.timer
 
 all: all-am
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/data/cleanup.service 
new/snapper-0.2.5/data/cleanup.service
--- old/snapper-0.2.4/data/cleanup.service      1970-01-01 01:00:00.000000000 
+0100
+++ new/snapper-0.2.5/data/cleanup.service      2014-03-06 17:44:45.000000000 
+0100
@@ -0,0 +1,9 @@
+
+[Unit]
+Description=Daily Cleanup of Snapper Snapshots
+Documentation=man:snapper(8) man:snapper-configs(5)
+
+[Service]
+Type=simple
+ExecStart=/usr/lib/snapper/systemd-helper --cleanup
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/data/cleanup.timer 
new/snapper-0.2.5/data/cleanup.timer
--- old/snapper-0.2.4/data/cleanup.timer        1970-01-01 01:00:00.000000000 
+0100
+++ new/snapper-0.2.5/data/cleanup.timer        2014-03-06 17:44:45.000000000 
+0100
@@ -0,0 +1,12 @@
+
+[Unit]
+Description=Daily Cleanup of Snapper Snapshots
+Documentation=man:snapper(8) man:snapper-configs(5)
+
+[Timer]
+OnBootSec=10m
+OnUnitActiveSec=1d
+
+[Install]
+WantedBy=basic.target
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/data/timeline.service 
new/snapper-0.2.5/data/timeline.service
--- old/snapper-0.2.4/data/timeline.service     1970-01-01 01:00:00.000000000 
+0100
+++ new/snapper-0.2.5/data/timeline.service     2014-03-06 17:44:45.000000000 
+0100
@@ -0,0 +1,9 @@
+
+[Unit]
+Description=Timeline of Snapper Snapshots
+Documentation=man:snapper(8) man:snapper-configs(5)
+
+[Service]
+Type=simple
+ExecStart=/usr/lib/snapper/systemd-helper --timeline
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/data/timeline.timer 
new/snapper-0.2.5/data/timeline.timer
--- old/snapper-0.2.4/data/timeline.timer       1970-01-01 01:00:00.000000000 
+0100
+++ new/snapper-0.2.5/data/timeline.timer       2014-03-06 17:44:45.000000000 
+0100
@@ -0,0 +1,11 @@
+
+[Unit]
+Description=Timeline of Snapper Snapshots
+Documentation=man:snapper(8) man:snapper-configs(5)
+
+[Timer]
+OnCalendar=hourly
+
+[Install]
+WantedBy=basic.target
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/dbus/DBusMessage.cc 
new/snapper-0.2.5/dbus/DBusMessage.cc
--- old/snapper-0.2.4/dbus/DBusMessage.cc       2014-01-29 16:48:30.000000000 
+0100
+++ new/snapper-0.2.5/dbus/DBusMessage.cc       2015-01-19 16:56:41.000000000 
+0100
@@ -305,17 +305,13 @@
                }
                else if (*it == 'x')
                {
-                   if (++it == in.end())
-                       throw MarshallingException();
-
                    string t1;
-
-                   if (!isxdigit(*it))
-                       throw MarshallingException();
-                   t1 += *it;
-
-                   if ((it + 1) != in.end() && isxdigit(*(it + 1)))
-                       t1 += *++it;
+                   for (int i = 0; i < 2; ++i)
+                   {
+                       if (++it == in.end() || !isxdigit(*it))
+                           throw MarshallingException();
+                       t1 += *it;
+                   }
 
                    unsigned int t2;
                    sscanf(t1.c_str(), "%x", &t2);
@@ -365,7 +361,7 @@
            else if ((unsigned char)(*it) > 127)
            {
                char s[5];
-               snprintf(s, 5, "\\x%x", (unsigned char)(*it));
+               snprintf(s, 5, "\\x%02x", (unsigned char)(*it));
                out += string(s);
            }
            else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/doc/dbus-protocol.txt 
new/snapper-0.2.5/doc/dbus-protocol.txt
--- old/snapper-0.2.4/doc/dbus-protocol.txt     2014-04-10 12:28:10.000000000 
+0200
+++ new/snapper-0.2.5/doc/dbus-protocol.txt     2015-01-19 16:56:41.000000000 
+0100
@@ -55,7 +55,7 @@
 Filenames do not include the subvolume.
 
 Strings are UTF-8. Other characters (e.g. in filenames) must be encoded
-hexadecimal as "\x?" or "\x??". As a consequence "\" must be encoded as "\\".
+hexadecimal as "\x??". As a consequence "\" must be encoded as "\\".
 
 Due to security concerns there are no methods to get, compare or revert
 files. This can be done in the client.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/pam/pam_snapper.c 
new/snapper-0.2.5/pam/pam_snapper.c
--- old/snapper-0.2.4/pam/pam_snapper.c 2014-06-04 12:23:25.000000000 +0200
+++ new/snapper-0.2.5/pam/pam_snapper.c 2015-01-19 16:56:41.000000000 +0100
@@ -3,7 +3,7 @@
  *
  * @section License
  *
- * Copyright (c) 2013 SUSE
+ * Copyright (c) [2013-2015] SUSE
  *
  * All Rights Reserved.
  *
@@ -53,6 +53,7 @@
  * Includes
 */
 
+#include <stdio.h>
 #include <unistd.h>
 #include <stdbool.h>
 #include <stdint.h>
@@ -95,7 +96,7 @@
 */
 struct dict {
        const char *key;
-       const char *val;
+       const char *value;
 };
 
 /**
@@ -142,6 +143,33 @@
  * Functions for DBUS handling
 */
 
+static char *cdbus_escape( const char *in )
+{
+       char *out = malloc( strlen( in ) * 4 + 1 );
+       if ( !out )
+               return NULL;
+
+       char *out_p = out;
+
+       for ( const char *in_p = in; *in_p != '\0'; ++in_p ) {
+               if ( *in_p == '\\' ) {
+                       memcpy( out_p, "\\\\", 2 );
+                       out_p += 2;
+               } else if ( ( unsigned char )( *in_p ) > 127 ) {
+                       char s[5];
+                       snprintf( s, 5, "\\x%02x", ( unsigned char )( *in_p ) );
+                       memcpy( out_p, s, 4 );
+                       out_p += 4;
+               } else {
+                       *out_p++ = *in_p;
+               }
+       }
+
+       *out_p = '\0';
+
+       return out;
+}
+
 static int cdbus_msg_send( DBusConnection * conn, DBusMessage * msg, 
DBusPendingCall ** pend_out )
 {
        DBusPendingCall *pending;
@@ -183,14 +211,14 @@
        return 0;
 }
 
-static int cdbus_type_check_get( DBusMessageIter * iter, int expected_type, 
void *val )
+static int cdbus_type_check_get( DBusMessageIter * iter, int expected_type, 
void *value )
 {
        int ret;
        ret = cdbus_type_check( iter, expected_type );
        if ( ret < 0 ) {
                return ret;
        }
-       dbus_message_iter_get_basic( iter, val );
+       dbus_message_iter_get_basic( iter, value );
        return 0;
 }
 
@@ -213,10 +241,19 @@
                return -ENOMEM;
        }
 
+       char *snapper_conf_escaped = cdbus_escape( snapper_conf );
+       if ( !snapper_conf_escaped ) {
+               return -ENOMEM;
+       }
+
        dbus_message_iter_init_append( msg, &args );
-       if ( !dbus_message_iter_append_basic( &args, DBUS_TYPE_STRING, 
&snapper_conf ) ) {
+       if ( !dbus_message_iter_append_basic( &args, DBUS_TYPE_STRING, 
&snapper_conf_escaped ) ) {
+               free( snapper_conf_escaped );
                return -ENOMEM;
        }
+
+       free( snapper_conf_escaped );
+
        if ( createmode == createmode_post ) {
                if ( !dbus_message_iter_append_basic( &args, DBUS_TYPE_UINT32, 
snapshot_num_in ) ) {
                        return -ENOMEM;
@@ -228,10 +265,18 @@
                return -ENOMEM;
        }
 
-       if ( !dbus_message_iter_append_basic( &args, DBUS_TYPE_STRING, &cleanup 
) ) {
-               return -ENOMEM;
+       char *cleanup_escaped = cdbus_escape( cleanup );
+       if ( !cleanup_escaped ) {
+           return -ENOMEM;
        }
 
+       if ( !dbus_message_iter_append_basic( &args, DBUS_TYPE_STRING, 
&cleanup_escaped ) ) {
+           free( cleanup_escaped );
+           return -ENOMEM;
+       }
+
+       free( cleanup_escaped );
+
        dbus_bool_t ret =
            dbus_message_iter_open_container( &args, DBUS_TYPE_ARRAY, 
CDBUS_SIG_STRING_DICT,
                                              &array_iter );
@@ -246,14 +291,33 @@
                if ( !ret ) {
                        return -ENOMEM;
                }
+
+               char *key_escaped = cdbus_escape( user_data[i].key );
+               if ( !key_escaped ) {
+                       return -ENOMEM;
+               }
+
                if ( !dbus_message_iter_append_basic
-                    ( &struct_iter, DBUS_TYPE_STRING, &user_data[i].key ) ) {
+                    ( &struct_iter, DBUS_TYPE_STRING, &key_escaped ) ) {
+                   free( key_escaped );
                        return -ENOMEM;
                }
+
+               free( key_escaped );
+
+               char *value_escaped = cdbus_escape( user_data[i].value );
+               if ( !value_escaped ) {
+                       return -ENOMEM;
+               }
+
                if ( !dbus_message_iter_append_basic
-                    ( &struct_iter, DBUS_TYPE_STRING, &user_data[i].val ) ) {
+                    ( &struct_iter, DBUS_TYPE_STRING, &value_escaped ) ) {
+                       free( value_escaped );
                        return -ENOMEM;
                }
+
+               free( value_escaped );
+
                ret = dbus_message_iter_close_container( &array_iter, 
&struct_iter );
                if ( !ret ) {
                        return -ENOMEM;
@@ -435,7 +499,7 @@
                int ret = pam_get_item( pamh, fields[i], ( const void ** 
)&readval );
                if ( ret == PAM_SUCCESS && readval ) {
                        ( *user_data )[*num_user_data].key = names[i];
-                       ( *user_data )[*num_user_data].val = readval;
+                       ( *user_data )[*num_user_data].value = readval;
                        if ( ( *num_user_data ) < max_user_data ) {
                                ( *num_user_data )++;
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/server/Client.cc 
new/snapper-0.2.5/server/Client.cc
--- old/snapper-0.2.4/server/Client.cc  2014-12-12 14:01:22.000000000 +0100
+++ new/snapper-0.2.5/server/Client.cc  2015-01-12 13:50:07.000000000 +0100
@@ -1605,11 +1605,7 @@
 {
     assert(find(name) == entries.end());
 
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
     entries.emplace_back(name);
-#else
-    entries.push_back(name);
-#endif
 
     return --entries.end();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/server/MetaSnapper.cc 
new/snapper-0.2.5/server/MetaSnapper.cc
--- old/snapper-0.2.4/server/MetaSnapper.cc     2014-08-01 09:54:24.000000000 
+0200
+++ new/snapper-0.2.5/server/MetaSnapper.cc     2015-01-12 13:50:07.000000000 
+0100
@@ -205,11 +205,7 @@
 
     for (list<ConfigInfo>::iterator it = config_infos.begin(); it != 
config_infos.end(); ++it)
     {
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
        entries.emplace_back(*it);
-#else
-       entries.push_back(*it);
-#endif
     }
 }
 
@@ -233,11 +229,7 @@
 
     ConfigInfo config_info = Snapper::getConfig(config_name);
 
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
     entries.emplace_back(config_info);
-#else
-    entries.push_back(config_info);
-#endif
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/snapper/Filesystem.h 
new/snapper-0.2.5/snapper/Filesystem.h
--- old/snapper-0.2.4/snapper/Filesystem.h      2014-06-30 15:03:26.000000000 
+0200
+++ new/snapper-0.2.5/snapper/Filesystem.h      2015-01-12 13:50:07.000000000 
+0100
@@ -37,7 +37,7 @@
     using std::vector;
 
 
-    class MtabData;
+    struct MtabData;
     class ConfigInfo;
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/snapper/Snapshot.cc 
new/snapper-0.2.5/snapper/Snapshot.cc
--- old/snapper-0.2.4/snapper/Snapshot.cc       2014-04-10 12:28:10.000000000 
+0200
+++ new/snapper-0.2.5/snapper/Snapshot.cc       2014-12-15 16:05:45.000000000 
+0100
@@ -41,6 +41,7 @@
 #include "snapper/SnapperDefines.h"
 #include "snapper/Exception.h"
 #include "snapper/SystemCmd.h"
+#include "snapper/Regex.h"
 
 
 namespace snapper
@@ -187,15 +188,14 @@
     void
     Snapshots::read()
     {
+       Regex rx("^[0-9]+$");
+
        SDir infos_dir = snapper->openInfosDir();
 
        vector<string> infos = infos_dir.entries();
        for (vector<string>::const_iterator it1 = infos.begin(); it1 != 
infos.end(); ++it1)
        {
-           if (*it1 == "snapshot_submenu.cfg")
-               continue;
-
-           if (boost::starts_with(*it1, "tmp-mnt"))
+           if (!rx.match(*it1))
                continue;
 
            try
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/testsuite/Makefile.am 
new/snapper-0.2.5/testsuite/Makefile.am
--- old/snapper-0.2.4/testsuite/Makefile.am     2014-12-11 18:21:17.000000000 
+0100
+++ new/snapper-0.2.5/testsuite/Makefile.am     2015-01-19 16:56:41.000000000 
+0100
@@ -2,11 +2,12 @@
 # Makefile.am for snapper/testsuite
 #
 
-AM_CPPFLAGS = -I$(top_srcdir)
+AM_CPPFLAGS = -I$(top_srcdir) $(DBUS_CFLAGS)
 
-LDADD = ../snapper/libsnapper.la -lboost_unit_test_framework
+LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework
 
-check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test 
equal-date.test
+check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test              
\
+       equal-date.test dbus-escape.test
 
 TESTS = $(check_PROGRAMS)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/testsuite/Makefile.in 
new/snapper-0.2.5/testsuite/Makefile.in
--- old/snapper-0.2.4/testsuite/Makefile.in     2014-12-12 14:04:10.000000000 
+0100
+++ new/snapper-0.2.5/testsuite/Makefile.in     2015-01-19 16:56:51.000000000 
+0100
@@ -82,7 +82,8 @@
 build_triplet = @build@
 host_triplet = @host@
 check_PROGRAMS = sysconfig-get1.test$(EXEEXT) dirname1.test$(EXEEXT) \
-       basename1.test$(EXEEXT) equal-date.test$(EXEEXT)
+       basename1.test$(EXEEXT) equal-date.test$(EXEEXT) \
+       dbus-escape.test$(EXEEXT)
 subdir = testsuite
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/depcomp $(top_srcdir)/test-driver
@@ -97,22 +98,30 @@
 basename1_test_SOURCES = basename1.cc
 basename1_test_OBJECTS = basename1.$(OBJEXT)
 basename1_test_LDADD = $(LDADD)
-basename1_test_DEPENDENCIES = ../snapper/libsnapper.la
+basename1_test_DEPENDENCIES = ../snapper/libsnapper.la \
+       ../dbus/libdbus.la
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am__v_lt_1 = 
+dbus_escape_test_SOURCES = dbus-escape.cc
+dbus_escape_test_OBJECTS = dbus-escape.$(OBJEXT)
+dbus_escape_test_LDADD = $(LDADD)
+dbus_escape_test_DEPENDENCIES = ../snapper/libsnapper.la \
+       ../dbus/libdbus.la
 dirname1_test_SOURCES = dirname1.cc
 dirname1_test_OBJECTS = dirname1.$(OBJEXT)
 dirname1_test_LDADD = $(LDADD)
-dirname1_test_DEPENDENCIES = ../snapper/libsnapper.la
+dirname1_test_DEPENDENCIES = ../snapper/libsnapper.la \
+       ../dbus/libdbus.la
 equal_date_test_SOURCES = equal-date.cc
 equal_date_test_OBJECTS = equal-date.$(OBJEXT)
 equal_date_test_DEPENDENCIES = ../client/utils/libutils.la
 sysconfig_get1_test_SOURCES = sysconfig-get1.cc
 sysconfig_get1_test_OBJECTS = sysconfig-get1.$(OBJEXT)
 sysconfig_get1_test_LDADD = $(LDADD)
-sysconfig_get1_test_DEPENDENCIES = ../snapper/libsnapper.la
+sysconfig_get1_test_DEPENDENCIES = ../snapper/libsnapper.la \
+       ../dbus/libdbus.la
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -147,8 +156,9 @@
 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD   " $@;
 am__v_CXXLD_1 = 
-SOURCES = basename1.cc dirname1.cc equal-date.cc sysconfig-get1.cc
-DIST_SOURCES = basename1.cc dirname1.cc equal-date.cc \
+SOURCES = basename1.cc dbus-escape.cc dirname1.cc equal-date.cc \
+       sysconfig-get1.cc
+DIST_SOURCES = basename1.cc dbus-escape.cc dirname1.cc equal-date.cc \
        sysconfig-get1.cc
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
@@ -519,8 +529,8 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AM_CPPFLAGS = -I$(top_srcdir)
-LDADD = ../snapper/libsnapper.la -lboost_unit_test_framework
+AM_CPPFLAGS = -I$(top_srcdir) $(DBUS_CFLAGS)
+LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework
 TESTS = $(check_PROGRAMS)
 AM_DEFAULT_SOURCE_EXT = .cc
 EXTRA_DIST = $(noinst_SCRIPTS) sysconfig-get1.txt
@@ -573,6 +583,10 @@
        @rm -f basename1.test$(EXEEXT)
        $(AM_V_CXXLD)$(CXXLINK) $(basename1_test_OBJECTS) 
$(basename1_test_LDADD) $(LIBS)
 
+dbus-escape.test$(EXEEXT): $(dbus_escape_test_OBJECTS) 
$(dbus_escape_test_DEPENDENCIES) $(EXTRA_dbus_escape_test_DEPENDENCIES) 
+       @rm -f dbus-escape.test$(EXEEXT)
+       $(AM_V_CXXLD)$(CXXLINK) $(dbus_escape_test_OBJECTS) 
$(dbus_escape_test_LDADD) $(LIBS)
+
 dirname1.test$(EXEEXT): $(dirname1_test_OBJECTS) $(dirname1_test_DEPENDENCIES) 
$(EXTRA_dirname1_test_DEPENDENCIES) 
        @rm -f dirname1.test$(EXEEXT)
        $(AM_V_CXXLD)$(CXXLINK) $(dirname1_test_OBJECTS) $(dirname1_test_LDADD) 
$(LIBS)
@@ -592,6 +606,7 @@
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbus-escape.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname1.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/equal-date.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sysconfig-get1.Po@am__quote@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/snapper-0.2.4/testsuite/dbus-escape.cc 
new/snapper-0.2.5/testsuite/dbus-escape.cc
--- old/snapper-0.2.4/testsuite/dbus-escape.cc  1970-01-01 01:00:00.000000000 
+0100
+++ new/snapper-0.2.5/testsuite/dbus-escape.cc  2015-01-19 16:56:41.000000000 
+0100
@@ -0,0 +1,37 @@
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE dbus_escape
+
+#include <boost/test/unit_test.hpp>
+
+#include <dbus/DBusMessage.h>
+
+
+using namespace DBus;
+
+
+BOOST_AUTO_TEST_CASE(escape)
+{
+    BOOST_CHECK_EQUAL(Hoho::escape("\\"), "\\\\");
+
+    BOOST_CHECK_EQUAL(Hoho::escape("ä"), "\\xc3\\xa4");
+    BOOST_CHECK_EQUAL(Hoho::escape("0ä0"), "0\\xc3\\xa40");
+
+    BOOST_CHECK_EQUAL(Hoho::escape("\xff"), "\\xff");
+}
+
+
+BOOST_AUTO_TEST_CASE(unescape)
+{
+    BOOST_CHECK_EQUAL(Hihi::unescape("\\\\"), "\\");
+
+    BOOST_CHECK_EQUAL(Hihi::unescape("\\xc3\\xa4"), "ä");
+    BOOST_CHECK_EQUAL(Hihi::unescape("0\\xc3\\xa40"), "0ä0");
+
+    BOOST_CHECK_EQUAL(Hihi::unescape("\\xff"), "\xff");
+
+    BOOST_CHECK_THROW(Hihi::unescape("\\"), MarshallingException);
+    BOOST_CHECK_THROW(Hihi::unescape("\\x"), MarshallingException);
+    BOOST_CHECK_THROW(Hihi::unescape("\\x0"), MarshallingException);
+    BOOST_CHECK_THROW(Hihi::unescape("\\x0?"), MarshallingException);
+}

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

Reply via email to