Hello community, here is the log from the commit of package libfilezilla for openSUSE:Factory checked in at 2018-12-03 10:11:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libfilezilla (Old) and /work/SRC/openSUSE:Factory/.libfilezilla.new.19453 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libfilezilla" Mon Dec 3 10:11:07 2018 rev:22 rq:653211 version:0.15.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libfilezilla/libfilezilla.changes 2018-10-29 14:58:52.738017542 +0100 +++ /work/SRC/openSUSE:Factory/.libfilezilla.new.19453/libfilezilla.changes 2018-12-03 10:11:39.407638735 +0100 @@ -1,0 +2,11 @@ +Sat Dec 1 12:05:31 UTC 2018 - [email protected] + +- Update to 0.15.1 + * New features: + - Add argument to fz::strtok to return empty tokens + * Bugfixes and minor changes: + - Fix compatibility issue with Nettle < 3.3 + - Fix fz::random_bytes on MinGW + - Fix memory leak in fz::buffer + +------------------------------------------------------------------- Old: ---- libfilezilla-0.15.0.tar.bz2 New: ---- libfilezilla-0.15.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libfilezilla.spec ++++++ --- /var/tmp/diff_new_pack.Vou4dX/_old 2018-12-03 10:11:40.347637864 +0100 +++ /var/tmp/diff_new_pack.Vou4dX/_new 2018-12-03 10:11:40.351637861 +0100 @@ -20,7 +20,7 @@ %define libname %{name}%{major} %define develname %{name}-devel Name: libfilezilla -Version: 0.15.0 +Version: 0.15.1 Release: 0 Summary: C++ library for filezilla License: GPL-2.0-or-later ++++++ libfilezilla-0.15.0.tar.bz2 -> libfilezilla-0.15.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/NEWS new/libfilezilla-0.15.1/NEWS --- old/libfilezilla-0.15.0/NEWS 2018-10-19 12:12:06.000000000 +0200 +++ new/libfilezilla-0.15.1/NEWS 2018-11-22 16:57:21.000000000 +0100 @@ -1,3 +1,10 @@ +0.15.1 (2018-11-22) + ++ Add argument to fz::strtok to return empty tokens +- Fix compatibility issue with Nettle < 3.3 +- Fix fz::random_bytes on MinGW +- Fix memory leak in fz::buffer + 0.15.0 (2018-10-19) + libfilezilla now depends on Nettle >= 3.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/configure new/libfilezilla-0.15.1/configure --- old/libfilezilla-0.15.0/configure 2018-10-19 12:14:42.000000000 +0200 +++ new/libfilezilla-0.15.1/configure 2018-11-22 16:57:28.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libfilezilla 0.15.0. +# Generated by GNU Autoconf 2.69 for libfilezilla 0.15.1. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libfilezilla' PACKAGE_TARNAME='libfilezilla' -PACKAGE_VERSION='0.15.0' -PACKAGE_STRING='libfilezilla 0.15.0' +PACKAGE_VERSION='0.15.1' +PACKAGE_STRING='libfilezilla 0.15.1' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='https://lib.filezilla-project.org/' @@ -1421,7 +1421,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 libfilezilla 0.15.0 to adapt to many kinds of systems. +\`configure' configures libfilezilla 0.15.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1492,7 +1492,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libfilezilla 0.15.0:";; + short | recursive ) echo "Configuration of libfilezilla 0.15.1:";; esac cat <<\_ACEOF @@ -1636,7 +1636,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libfilezilla configure 0.15.0 +libfilezilla configure 0.15.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2081,7 +2081,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libfilezilla $as_me 0.15.0, which was +It was created by libfilezilla $as_me 0.15.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2947,7 +2947,7 @@ # Define the identity of the package. PACKAGE='libfilezilla' - VERSION='0.15.0' + VERSION='0.15.1' cat >>confdefs.h <<_ACEOF @@ -21204,7 +21204,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libfilezilla $as_me 0.15.0, which was +This file was extended by libfilezilla $as_me 0.15.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21271,7 +21271,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libfilezilla config.status 0.15.0 +libfilezilla config.status 0.15.1 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/libfilezilla-0.15.0/configure.ac new/libfilezilla-0.15.1/configure.ac --- old/libfilezilla-0.15.0/configure.ac 2018-10-19 12:00:57.000000000 +0200 +++ new/libfilezilla-0.15.1/configure.ac 2018-11-22 16:57:21.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT([libfilezilla],[0.15.0],[[email protected]],[],[https://lib.filezilla-project.org/]) +AC_INIT([libfilezilla],[0.15.1],[[email protected]],[],[https://lib.filezilla-project.org/]) AC_CONFIG_HEADERS([lib/libfilezilla/private/config.hpp]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR(config) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/lib/buffer.cpp new/libfilezilla-0.15.1/lib/buffer.cpp --- old/libfilezilla-0.15.0/lib/buffer.cpp 2018-02-23 09:29:01.000000000 +0100 +++ new/libfilezilla-0.15.1/lib/buffer.cpp 2018-11-22 16:57:21.000000000 +0100 @@ -46,9 +46,7 @@ if (size_) { memcpy(data, pos_, size_); } - else { - delete[] data_; - } + delete[] data_; data_ = data; pos_ = data; } @@ -143,9 +141,7 @@ if (size_) { memcpy(data, pos_, size_); } - else { - delete[] data_; - } + delete[] data_; data_ = data; pos_ = data_; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/lib/encryption.cpp new/libfilezilla-0.15.1/lib/encryption.cpp --- old/libfilezilla-0.15.0/lib/encryption.cpp 2018-10-19 12:00:50.000000000 +0200 +++ new/libfilezilla-0.15.1/lib/encryption.cpp 2018-11-22 16:57:21.000000000 +0100 @@ -10,9 +10,13 @@ #include <nettle/ctr.h> #include <nettle/curve25519.h> #include <nettle/gcm.h> -#include <nettle/memops.h> #include <nettle/pbkdf2.h> #include <nettle/sha2.h> +#include <nettle/version.h> + +#if NETTLE_VERSION_MAJOR > 3 || (NETTLE_VERSION_MAJOR == 3 && NETTLE_VERSION_MINOR >= 3) +#include <nettle/memops.h> +#endif namespace fz { @@ -235,7 +239,11 @@ // Last but not least, verify the tag uint8_t tag[GCM_DIGEST_SIZE]; nettle_gcm_aes256_digest(&ctx, GCM_DIGEST_SIZE, tag); +#if NETTLE_VERSION_MAJOR > 3 || (NETTLE_VERSION_MAJOR == 3 && NETTLE_VERSION_MINOR >= 3) if (!nettle_memeql_sec(tag, cipher + size - GCM_DIGEST_SIZE, GCM_DIGEST_SIZE)) { +#else + if (memcmp(tag, cipher + size - GCM_DIGEST_SIZE, GCM_DIGEST_SIZE)) { +#endif ret.clear(); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/lib/libfilezilla/string.hpp new/libfilezilla-0.15.1/lib/libfilezilla/string.hpp --- old/libfilezilla-0.15.0/lib/libfilezilla/string.hpp 2018-10-04 13:17:12.000000000 +0200 +++ new/libfilezilla-0.15.1/lib/libfilezilla/string.hpp 2018-11-22 16:57:21.000000000 +0100 @@ -277,9 +277,14 @@ bool FZ_PUBLIC_SYMBOL replace_substrings(std::string& in, std::string const& find, std::string const& replacement); bool FZ_PUBLIC_SYMBOL replace_substrings(std::wstring& in, std::wstring const& find, std::wstring const& replacement); -/// Tokenizes string. Returns all non-empty substrings +/** + * \brief Tokenizes string. + * + * \param delims the delimiters to look for + * \param ignore_empty If true, empty tokens are omitted in the output + */ template<typename String, typename Delim, typename Container = std::vector<String>> -Container strtok(String const& s, Delim const& delims) +Container strtok(String const& s, Delim const& delims, bool const ignore_empty = true) { Container ret; @@ -293,7 +298,7 @@ ret.emplace_back(s.substr(start)); } } - else if (pos > start) { + else if (pos > start || !ignore_empty) { // Non-empty substring ret.emplace_back(s.substr(start, pos - start)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/lib/libfilezilla/version.hpp new/libfilezilla-0.15.1/lib/libfilezilla/version.hpp --- old/libfilezilla-0.15.0/lib/libfilezilla/version.hpp 2018-10-19 12:14:45.000000000 +0200 +++ new/libfilezilla-0.15.1/lib/libfilezilla/version.hpp 2018-11-22 16:57:31.000000000 +0100 @@ -9,15 +9,15 @@ #include <tuple> /// \brief Version string of the libfilezilla headers -#define LIBFILEZILLA_VERSION "0.15.0" +#define LIBFILEZILLA_VERSION "0.15.1" #define LIBFILEZILLA_VERSION_MAJOR 0 #define LIBFILEZILLA_VERSION_MINOR 15 -#define LIBFILEZILLA_VERSION_MICRO 0 +#define LIBFILEZILLA_VERSION_MICRO 1 #define LIBFILEZILLA_VERSION_NANO 0 /// \brief Suffix string, e.g. "rc1" -#define LIBFILEZILLA_VERSION_SUFFIX "0.15.0" +#define LIBFILEZILLA_VERSION_SUFFIX "0.15.1" namespace fz { /// \brief Get version string of libfilezilla diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/lib/util.cpp new/libfilezilla-0.15.1/lib/util.cpp --- old/libfilezilla-0.15.0/lib/util.cpp 2017-09-29 10:41:58.000000000 +0200 +++ new/libfilezilla-0.15.1/lib/util.cpp 2018-11-22 16:57:21.000000000 +0100 @@ -81,8 +81,9 @@ int64_t random_number(int64_t min, int64_t max) { assert(min <= max); - if (min >= max) + if (min >= max) { return min; + } std::uniform_int_distribution<int64_t> dist(min, max); working_random_device rd; @@ -94,7 +95,7 @@ std::vector<uint8_t> ret; ret.resize(size); - std::random_device rd; + working_random_device rd; ret.resize(size); size_t i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/tests/Makefile.am new/libfilezilla-0.15.1/tests/Makefile.am --- old/libfilezilla-0.15.0/tests/Makefile.am 2018-10-19 12:00:50.000000000 +0200 +++ new/libfilezilla-0.15.1/tests/Makefile.am 2018-11-22 16:57:21.000000000 +0100 @@ -12,7 +12,8 @@ iputils.cpp \ smart_pointer.cpp \ string.cpp \ - time.cpp + time.cpp \ + util.cpp test_CPPFLAGS = $(AM_CPPFLAGS) test_CPPFLAGS += -I$(top_srcdir)/lib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/tests/Makefile.in new/libfilezilla-0.15.1/tests/Makefile.in --- old/libfilezilla-0.15.0/tests/Makefile.in 2018-10-19 12:14:42.000000000 +0200 +++ new/libfilezilla-0.15.1/tests/Makefile.in 2018-11-22 16:57:27.000000000 +0100 @@ -122,7 +122,7 @@ test-crypto.$(OBJEXT) test-dispatch.$(OBJEXT) \ test-eventloop.$(OBJEXT) test-format.$(OBJEXT) \ test-iputils.$(OBJEXT) test-smart_pointer.$(OBJEXT) \ - test-string.$(OBJEXT) test-time.$(OBJEXT) + test-string.$(OBJEXT) test-time.$(OBJEXT) test-util.$(OBJEXT) test_OBJECTS = $(am_test_OBJECTS) am__DEPENDENCIES_1 = AM_V_lt = $(am__v_lt_@AM_V@) @@ -572,7 +572,8 @@ iputils.cpp \ smart_pointer.cpp \ string.cpp \ - time.cpp + time.cpp \ + util.cpp test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/lib $(CPPUNIT_CFLAGS) test_LDFLAGS = $(AM_LDFLAGS) -no-install @@ -642,6 +643,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-time.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-util.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -804,6 +806,20 @@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test-time.obj `if test -f 'time.cpp'; then $(CYGPATH_W) 'time.cpp'; else $(CYGPATH_W) '$(srcdir)/time.cpp'; fi` +test-util.o: util.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test-util.o -MD -MP -MF $(DEPDIR)/test-util.Tpo -c -o test-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test-util.Tpo $(DEPDIR)/test-util.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='util.cpp' object='test-util.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp + +test-util.obj: util.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test-util.obj -MD -MP -MF $(DEPDIR)/test-util.Tpo -c -o test-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test-util.Tpo $(DEPDIR)/test-util.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='util.cpp' object='test-util.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` + mostlyclean-libtool: -rm -f *.lo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.15.0/tests/util.cpp new/libfilezilla-0.15.1/tests/util.cpp --- old/libfilezilla-0.15.0/tests/util.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/libfilezilla-0.15.1/tests/util.cpp 2018-11-22 16:57:21.000000000 +0100 @@ -0,0 +1,30 @@ +#include "libfilezilla/encode.hpp" +#include "libfilezilla/util.hpp" + +#include "test_utils.hpp" + +#include <string.h> + +class util_test final : public CppUnit::TestFixture +{ + CPPUNIT_TEST_SUITE(util_test); + CPPUNIT_TEST(test_random); + CPPUNIT_TEST_SUITE_END(); + +public: + void setUp() {} + void tearDown() {} + + void test_random(); +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(util_test); + +void util_test::test_random() +{ + auto const first = fz::hex_encode<std::string>(fz::random_bytes(64)); + auto const second = fz::hex_encode<std::string>(fz::random_bytes(64)); + + CPPUNIT_ASSERT(!first.empty()); + CPPUNIT_ASSERT(first != second); +}
