Hello community, here is the log from the commit of package monotone for openSUSE:Factory checked in at Sat Oct 23 23:50:34 CEST 2010. -------- --- monotone/monotone.changes 2010-06-14 09:07:02.000000000 +0200 +++ /mounts/work_src_done/STABLE/monotone/monotone.changes 2010-10-22 16:20:04.000000000 +0200 @@ -1,0 +2,13 @@ +Fri Oct 22 11:52:39 UTC 2010 - me@thomaskeller.biz + +- new upstream version 0.48.1; this minor release fixes a + nasty bug in monotone's command system which can be exploited + to crash a running monotone server instance which has remote + command execution activated. + all server users are urged to update as soon as possible. +- add compatibility for sqlite-3.7 +- put monotone into the proper category finally +- compile with -fno-strict-aliasing to avoid + breakage with newer gccs + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- monotone-0.48.tar.bz2 New: ---- monotone-0.48.1.tar.bz2 sqlite-3.7-compat.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ monotone.spec ++++++ --- /var/tmp/diff_new_pack.kKuwlm/_old 2010-10-23 23:49:52.000000000 +0200 +++ /var/tmp/diff_new_pack.kKuwlm/_new 2010-10-23 23:49:52.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package monotone (Version 0.48) +# spec file for package monotone (Version 0.48.1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,12 +19,13 @@ Summary: Distributed version control system Name: monotone -Version: 0.48 +Version: 0.48.1 Release: 1 License: GPL -Group: Development/Tools +Group: Development/Tools/Version Control Url: http://www.monotone.ca Source0: %{name}-%{version}.tar.bz2 +Patch0: sqlite-3.7-compat.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: boost-devel >= 1.33.0 lua-devel >= 5.1 sqlite3-devel >= 3.3.8 BuildRequires: libbotan-devel >= 1.6.3 pcre-devel >= 7.4 texinfo zlib-devel @@ -42,10 +43,11 @@ %prep %setup -q +%patch0 -p0 %build %configure --htmldir=%{_docdir} -make %{_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" +make %{_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %check DISABLE_NETWORK_TESTS=1 make check @@ -55,7 +57,7 @@ %find_lang %{name} ln -s mtn $RPM_BUILD_ROOT/%{_bindir}/monotone # FIXME: monotone ignores --docdir and --htmldir, so -# documentation does not go into %_docdir as it should +# documentation does not go into %%_docdir as it should mv $RPM_BUILD_ROOT/%{_datadir}/doc/monotone upstreamdocs %clean ++++++ monotone-0.48.tar.bz2 -> monotone-0.48.1.tar.bz2 ++++++ ++++ 6501 lines of diff (skipped) ++++++ sqlite-3.7-compat.patch ++++++ # # SQLite 3.7 and later does no longer place a journal file # in the same directory when no write action is happening # (which is not because there is no migration to do), thus # this specific test is pointless from this version on. # # patch "tests/fail_cleanly_on_unreadable_db/__driver__.lua" # from [1ec557d1aef9eac9ee53a22d07f4ba0f3456da5e] # to [8875c78a070bef87904bb840ed3cffa0acba4399] # ============================================================ --- tests/fail_cleanly_on_unreadable_db/__driver__.lua 1ec557d1aef9eac9ee53a22d07f4ba0f3456da5e +++ tests/fail_cleanly_on_unreadable_db/__driver__.lua 8875c78a070bef87904bb840ed3cffa0acba4399 @@ -48,7 +48,6 @@ check(mtn("--db=subdir/foo.db", "db", "v check(mtn("--db=subdir/foo.db", "ls", "branches"), 0, false, false) check(mtn("--db=subdir/foo.db", "db", "info"), 0, false, false) check(mtn("--db=subdir/foo.db", "db", "version"), 0, false, false) -check(mtn("--db=subdir/foo.db", "db", "migrate"), 1, false, false) check(mtn("--db=subdir/bar.db", "db", "load"), 1, false, false) check(mtn("--db=subdir/baz.db", "db", "init"), 1, false, false) check({"chmod", "a+w", "subdir"}) # # SQLite 3.7.3 and later does consistently return a NULL pointer # for empty or NULL blobs, just as documented. We've just been # lucky enough in the past to always get back an empty string # before... # # patch "database.cc" # from [0afa3ff4bd9c9ee3bc62b10bcf6295a9f5388d64] # to [8bfff559a0894259fe3668294bd3906ae837129b] # ============================================================ --- database.cc 0afa3ff4bd9c9ee3bc62b10bcf6295a9f5388d64 +++ database.cc 8bfff559a0894259fe3668294bd3906ae837129b @@ -1489,12 +1489,19 @@ database_impl::fetch(results & res, vector<string> row; for (int col = 0; col < ncol; col++) { + // We never store NULLs, so we should never see one. + int const datatype = sqlite3_column_type(i->second.stmt(), col); + E(datatype != SQLITE_NULL, origin::database, + F("null result in query: %s") % query.sql_cmd); const char * value = (const char*)sqlite3_column_blob(i->second.stmt(), col); int bytes = sqlite3_column_bytes(i->second.stmt(), col); - E(value, origin::database, - F("null result in query: %s") % query.sql_cmd); - row.push_back(string(value, value + bytes)); - //L(FL("row %d col %d value='%s'") % nrow % col % value); + if (value) { + row.push_back(string(value, value + bytes)); + } else { + // sqlite3_column_blob() returns null for zero-length + I(bytes == 0); + row.push_back(string()); + } } res.push_back(row); } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org