Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qtox for openSUSE:Factory checked in at 2022-02-14 22:36:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qtox (Old) and /work/SRC/openSUSE:Factory/.qtox.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qtox" Mon Feb 14 22:36:21 2022 rev:9 rq:954322 version:1.17.4 Changes: -------- --- /work/SRC/openSUSE:Factory/qtox/qtox.changes 2021-12-13 20:50:35.984642726 +0100 +++ /work/SRC/openSUSE:Factory/.qtox.new.1956/qtox.changes 2022-02-14 22:37:23.721605100 +0100 @@ -2 +2 @@ -Fri Dec 10 01:12:16 UTC 2021 - Giacomo Comes <[email protected]> - 1.17.3 +Mon Feb 14 13:33:42 UTC 2022 - ecsos <[email protected]> @@ -4 +4,9 @@ -- enable desktop notifications +- Update to 1.17.4 + This release only updates dependency versions including + toktok/c-toxcore to v0.2.13 to address CVE-2021-44847. + No code changes. + +------------------------------------------------------------------- +Fri Dec 10 01:12:16 UTC 2021 - Giacomo Comes <[email protected]> + +- Enable desktop notifications. Old: ---- v1.17.3.tar.gz v1.17.3.tar.gz.asc New: ---- v1.17.4.tar.gz v1.17.4.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qtox.spec ++++++ --- /var/tmp/diff_new_pack.olf1YZ/_old 2022-02-14 22:37:25.349609342 +0100 +++ /var/tmp/diff_new_pack.olf1YZ/_new 2022-02-14 22:37:25.353609353 +0100 @@ -1,7 +1,7 @@ # # spec file for package qtox # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define realname qTox Name: qtox -Version: 1.17.3 +Version: 1.17.4 Release: 0 Summary: Tox client License: GPL-3.0-only @@ -79,7 +79,7 @@ BuildRequires: pkgconfig(openal) >= 1.16.0 BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(sqlcipher) >= 3.2.0 -BuildRequires: pkgconfig(toxcore) >= 0.2.10 +BuildRequires: pkgconfig(toxcore) >= 0.2.13 BuildRequires: pkgconfig(vpx) BuildRequires: pkgconfig(xscrnsaver) >= 1.2 ++++++ v1.17.3.tar.gz -> v1.17.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/.travis/build-ubuntu-16-04.sh new/qTox/.travis/build-ubuntu-16-04.sh --- old/qTox/.travis/build-ubuntu-16-04.sh 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/.travis/build-ubuntu-16-04.sh 2021-12-15 02:04:29.000000000 +0100 @@ -127,7 +127,7 @@ sudo ldconfig cd .. # toxcore -git clone --branch v0.2.12 --depth=1 https://github.com/toktok/c-toxcore.git toxcore +git clone --branch v0.2.13 --depth=1 https://github.com/toktok/c-toxcore.git toxcore cd toxcore autoreconf -if CC="ccache $CC" CXX="ccache $CXX" ./configure diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/CHANGELOG.md new/qTox/CHANGELOG.md --- old/qTox/CHANGELOG.md 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/CHANGELOG.md 2021-12-15 02:04:29.000000000 +0100 @@ -1,3 +1,9 @@ +<a name="v1.17.4"></a> +## v1.17.14 (2021-12-14) + +This release only updates dependency versions including toktok/c-toxcore to v0.2.13 to address CVE-2021-44847. No code changes. + + <a name="v1.17.3"></a> ## v1.17.3 (2020-11-22) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/INSTALL.fa.md new/qTox/INSTALL.fa.md --- old/qTox/INSTALL.fa.md 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/INSTALL.fa.md 2021-12-15 02:04:29.000000000 +0100 @@ -632,7 +632,7 @@ ```bash git clone https://github.com/toktok/c-toxcore.git toxcore cd toxcore -git checkout v0.2.12 +git checkout v0.2.13 autoreconf -if ./configure make -j$(nproc) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/INSTALL.md new/qTox/INSTALL.md --- old/qTox/INSTALL.md 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/INSTALL.md 2021-12-15 02:04:29.000000000 +0100 @@ -487,7 +487,7 @@ ```bash git clone https://github.com/toktok/c-toxcore.git toxcore cd toxcore -git checkout v0.2.12 +git checkout v0.2.13 cmake . -DBOOTSTRAP_DAEMON=OFF make -j$(nproc) sudo make install diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/README.md new/qTox/README.md --- old/qTox/README.md 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/README.md 2021-12-15 02:04:29.000000000 +0100 @@ -158,18 +158,18 @@ ``` [#qtox@freenode]: https://webchat.freenode.net/?channels=qtox -[64 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.3/setup-qtox-x86_64-release.exe -[32 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.3/setup-qtox-i686-release.exe +[64 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.4/setup-qtox-x86_64-release.exe +[32 bit release]: https://github.com/qTox/qTox/releases/download/v1.17.4/setup-qtox-i686-release.exe [32nightly]: https://build.tox.chat/view/qtox/job/qTox-cmake-nightly_build_windows_x86_release/lastSuccessfulBuild/artifact/qTox-cmake-nightly_build_windows_x86_release.zip [64nightly]: https://build.tox.chat/view/qtox/job/qTox-cmake-nightly_build_windows_x86-64_release/lastSuccessfulBuild/artifact/qTox-cmake-nightly_build_windows_x86-64_release.zip -[Flatpak]: https://github.com/qTox/qTox/releases/download/v1.17.3/qTox-v1.17.3.x86_64.flatpak -[AppImage]: https://github.com/qTox/qTox/releases/download/v1.17.3/qTox-v1.17.3.x86_64.AppImage +[Flatpak]: https://github.com/qTox/qTox/releases/download/v1.17.4/qTox-v1.17.4.x86_64.flatpak +[AppImage]: https://github.com/qTox/qTox/releases/download/v1.17.4/qTox-v1.17.4.x86_64.AppImage [Arch]: /INSTALL.md#arch [Building instructions]: /INSTALL.md#os-x [Contributing]: /CONTRIBUTING.md#how-to-start-contributing [Debian]: https://packages.debian.org/search?keywords=qtox [easy issues]: https://github.com/qTox/qTox/labels/E-easy -[Latest release]: https://github.com/qTox/qTox/releases/download/v1.17.3/qTox.dmg +[Latest release]: https://github.com/qTox/qTox/releases/download/v1.17.4/qTox.dmg [Fedora]: /INSTALL.md#fedora [Gentoo]: /INSTALL.md#gentoo [openSUSE]: /INSTALL.md#opensuse diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/bootstrap.sh new/qTox/bootstrap.sh --- old/qTox/bootstrap.sh 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/bootstrap.sh 2021-12-15 02:04:29.000000000 +0100 @@ -48,7 +48,7 @@ readonly BASE_DIR="${SCRIPT_DIR}/${INSTALL_DIR}" # versions of libs to checkout -readonly TOXCORE_VERSION="v0.2.12" +readonly TOXCORE_VERSION="v0.2.13" readonly SQLCIPHER_VERSION="v4.3.0" # directory names of cloned repositories diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/docker/Dockerfile.debian new/qTox/docker/Dockerfile.debian --- old/qTox/docker/Dockerfile.debian 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/docker/Dockerfile.debian 2021-12-15 02:04:29.000000000 +0100 @@ -50,7 +50,7 @@ RUN git clone https://github.com/toktok/c-toxcore.git /toxcore WORKDIR /toxcore -RUN git checkout v0.2.12 && \ +RUN git checkout v0.2.13 && \ cmake . && \ cmake --build . && \ make install && \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/docker/Dockerfile.ubuntu new/qTox/docker/Dockerfile.ubuntu --- old/qTox/docker/Dockerfile.ubuntu 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/docker/Dockerfile.ubuntu 2021-12-15 02:04:29.000000000 +0100 @@ -47,7 +47,7 @@ RUN git clone https://github.com/toktok/c-toxcore.git /toxcore WORKDIR /toxcore -RUN git checkout v0.2.12 && \ +RUN git checkout v0.2.13 && \ cmake . && \ cmake --build . && \ make install && \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/flatpak/io.github.qtox.qTox.json new/qTox/flatpak/io.github.qtox.qTox.json --- old/qTox/flatpak/io.github.qtox.qTox.json 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/flatpak/io.github.qtox.qTox.json 2021-12-15 02:04:29.000000000 +0100 @@ -45,11 +45,7 @@ "build-options": { "no-debuginfo": true }, - "cleanup": [ - "/bin", - "/lib", - "/man" - ], + "cleanup": [ '*' ], "sources": [ { "type": "archive", @@ -82,18 +78,6 @@ ] }, { - "name": "snorenotify", - "buildsystem": "cmake-ninja", - "sources": [ - { - "type": "git", - "url": "https://github.com/KDE/snorenotify", - "tag": "v0.7.0", - "commit": "9124e016f4f7615af5e8fca962994f7ed85de3cc" - } - ] - }, - { "name": "libsodium", "sources": [ { @@ -107,12 +91,17 @@ { "name": "c-toxcore", "buildsystem": "cmake-ninja", + "config-opts": [ + "-DDHT_BOOTSTRAP=OFF", + "-DBOOTSTRAP_DAEMON=OFF", + "-DENABLE_STATIC=OFF" + ], "sources": [ { "type": "git", "url": "https://github.com/toktok/c-toxcore", - "tag": "v0.2.12", - "commit": "9be4dbb4335bf7d893c8d00566d3276ab6dedd14" + "tag": "v0.2.13", + "commit": "4348b96a5b482134a9cd55cb0ef9616798b4eb3c" } ] }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/osx/info.plist new/qTox/osx/info.plist --- old/qTox/osx/info.plist 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/osx/info.plist 2021-12-15 02:04:29.000000000 +0100 @@ -65,7 +65,7 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.17.3</string> + <string>1.17.4</string> <key>CFBundleSignature</key> <string>toxq</string> <key>CFBundleURLTypes</key> @@ -84,7 +84,7 @@ </dict> </array> <key>CFBundleVersion</key> - <string>1.17.3</string> + <string>1.17.4</string> <key>NSPrincipalClass</key> <string>NSApplication</string> <key>NSCameraUsageDescription</key> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/osx/qTox-Mac-Deployer-ULTIMATE.sh new/qTox/osx/qTox-Mac-Deployer-ULTIMATE.sh --- old/qTox/osx/qTox-Mac-Deployer-ULTIMATE.sh 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/osx/qTox-Mac-Deployer-ULTIMATE.sh 2021-12-15 02:04:29.000000000 +0100 @@ -145,7 +145,7 @@ git pull else fcho "Cloning Toxcore git ... " - git clone --branch v0.2.12 --depth=1 https://github.com/toktok/c-toxcore "$TOXCORE_DIR" + git clone --branch v0.2.13 --depth=1 https://github.com/toktok/c-toxcore "$TOXCORE_DIR" fi # qTox if [[ $TRAVIS = true ]] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/res/io.github.qtox.qTox.appdata.xml new/qTox/res/io.github.qtox.qTox.appdata.xml --- old/qTox/res/io.github.qtox.qTox.appdata.xml 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/res/io.github.qtox.qTox.appdata.xml 2021-12-15 02:04:29.000000000 +0100 @@ -68,7 +68,7 @@ <content_attribute id="social-audio">intense</content_attribute> </content_rating> <releases> -??? <release version="1.17.3" date="2020-11-22"/> +??? <release version="1.17.4" date="2021-12-14"/> </releases> </component> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/audio/backend/alsink.cpp new/qTox/src/audio/backend/alsink.cpp --- old/qTox/src/audio/backend/alsink.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/audio/backend/alsink.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -101,7 +101,6 @@ AlSink::AlSink(OpenAL& al, uint sourceId) : audio(al) , sourceId{sourceId} - , killLock(QMutex::Recursive) {} AlSink::operator bool() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/audio/backend/alsink.h new/qTox/src/audio/backend/alsink.h --- old/qTox/src/audio/backend/alsink.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/audio/backend/alsink.h 2021-12-15 02:04:29.000000000 +0100 @@ -25,6 +25,7 @@ #include "src/model/interface.h" #include "src/audio/iaudiosink.h" +#include "src/util/compatiblerecursivemutex.h" class OpenAL; class QMutex; @@ -56,7 +57,7 @@ OpenAL& audio; uint sourceId; bool killed = false; - mutable QMutex killLock; + mutable CompatibleRecursiveMutex killLock; }; #endif // ALSINK_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/audio/backend/alsource.cpp new/qTox/src/audio/backend/alsource.cpp --- old/qTox/src/audio/backend/alsource.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/audio/backend/alsource.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -30,7 +30,6 @@ */ AlSource::AlSource(OpenAL& al) : audio(al) - , killLock(QMutex::Recursive) {} AlSource::~AlSource() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/audio/backend/alsource.h new/qTox/src/audio/backend/alsource.h --- old/qTox/src/audio/backend/alsource.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/audio/backend/alsource.h 2021-12-15 02:04:29.000000000 +0100 @@ -21,6 +21,7 @@ #define ALSOURCE_H #include "src/audio/iaudiosource.h" +#include "src/util/compatiblerecursivemutex.h" #include <QMutex> #include <QObject> @@ -43,7 +44,7 @@ private: OpenAL& audio; bool killed = false; - mutable QMutex killLock; + mutable CompatibleRecursiveMutex killLock; }; #endif // ALSOURCE_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/audio/backend/openal.h new/qTox/src/audio/backend/openal.h --- old/qTox/src/audio/backend/openal.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/audio/backend/openal.h 2021-12-15 02:04:29.000000000 +0100 @@ -24,6 +24,7 @@ #include "src/audio/iaudiocontrol.h" #include "src/audio/backend/alsink.h" #include "src/audio/backend/alsource.h" +#include "src/util/compatiblerecursivemutex.h" #include <memory> #include <unordered_set> @@ -133,7 +134,7 @@ protected: QThread* audioThread; - mutable QMutex audioLock{QMutex::Recursive}; + mutable CompatibleRecursiveMutex audioLock; QString inDev{}; QString outDev{}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/core/core.cpp new/qTox/src/core/core.cpp --- old/qTox/src/core/core.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/core/core.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -32,6 +32,7 @@ #include "src/nexus.h" #include "src/persistence/profile.h" #include "src/util/strongtype.h" +#include "src/util/compatiblerecursivemutex.h" #include <QCoreApplication> #if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/core/core.h new/qTox/src/core/core.h --- old/qTox/src/core/core.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/core/core.h 2021-12-15 02:04:29.000000000 +0100 @@ -32,6 +32,7 @@ #include "toxpk.h" #include "src/util/strongtype.h" +#include "src/util/compatiblerecursivemutex.h" #include "src/model/status.h" #include <tox/tox.h> @@ -251,7 +252,7 @@ std::unique_ptr<CoreAV> av; QTimer* toxTimer = nullptr; // recursive, since we might call our own functions - mutable QMutex coreLoopLock{QMutex::Recursive}; + mutable CompatibleRecursiveMutex coreLoopLock; std::unique_ptr<QThread> coreThread = nullptr; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/core/coreav.cpp new/qTox/src/core/coreav.cpp --- old/qTox/src/core/coreav.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/core/coreav.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -25,6 +25,7 @@ #include "src/persistence/settings.h" #include "src/video/corevideosource.h" #include "src/video/videoframe.h" +#include "src/util/compatiblerecursivemutex.h" #include <QCoreApplication> #include <QDebug> #include <QThread> @@ -68,7 +69,7 @@ * deadlock. */ -CoreAV::CoreAV(std::unique_ptr<ToxAV, ToxAVDeleter> toxav, QMutex& toxCoreLock) +CoreAV::CoreAV(std::unique_ptr<ToxAV, ToxAVDeleter> toxav, CompatibleRecursiveMutex& toxCoreLock) : audio{nullptr} , toxav{std::move(toxav)} , coreavThread{new QThread{this}} @@ -105,7 +106,7 @@ * @param core pointer to the Tox instance * @return CoreAV instance on success, {} on failure */ -CoreAV::CoreAVPtr CoreAV::makeCoreAV(Tox* core, QMutex &toxCoreLock) +CoreAV::CoreAVPtr CoreAV::makeCoreAV(Tox* core, CompatibleRecursiveMutex &toxCoreLock) { TOXAV_ERR_NEW err; std::unique_ptr<ToxAV, ToxAVDeleter> toxav{toxav_new(core, &err)}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/core/coreav.h new/qTox/src/core/coreav.h --- old/qTox/src/core/coreav.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/core/coreav.h 2021-12-15 02:04:29.000000000 +0100 @@ -22,6 +22,8 @@ #define COREAV_H #include "src/core/toxcall.h" +#include "src/util/compatiblerecursivemutex.h" + #include <QObject> #include <QMutex> #include <QReadWriteLock> @@ -47,7 +49,7 @@ public: using CoreAVPtr = std::unique_ptr<CoreAV>; - static CoreAVPtr makeCoreAV(Tox* core, QMutex& coreLock); + static CoreAVPtr makeCoreAV(Tox* core, CompatibleRecursiveMutex& coreLock); void setAudio(IAudioControl& newAudio); IAudioControl* getAudio(); @@ -113,7 +115,7 @@ } }; - CoreAV(std::unique_ptr<ToxAV, ToxAVDeleter> tox, QMutex &toxCoreLock); + CoreAV(std::unique_ptr<ToxAV, ToxAVDeleter> tox, CompatibleRecursiveMutex &toxCoreLock); void connectCallbacks(ToxAV& toxav); void process(); @@ -156,7 +158,7 @@ * must not execute at the same time as tox_iterate() * @note This must be a recursive mutex as we're going to lock it in callbacks */ - QMutex& coreLock; + CompatibleRecursiveMutex& coreLock; }; #endif // COREAV_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/core/corefile.cpp new/qTox/src/core/corefile.cpp --- old/qTox/src/core/corefile.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/core/corefile.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -25,6 +25,7 @@ #include "src/persistence/settings.h" #include "src/model/status.h" #include "src/model/toxclientstandards.h" +#include "src/util/compatiblerecursivemutex.h" #include <QDebug> #include <QDir> #include <QFile> @@ -38,7 +39,7 @@ * @brief Manages the file transfer service of toxcore */ -CoreFilePtr CoreFile::makeCoreFile(Core *core, Tox *tox, QMutex &coreLoopLock) +CoreFilePtr CoreFile::makeCoreFile(Core *core, Tox *tox, CompatibleRecursiveMutex &coreLoopLock) { assert(core != nullptr); assert(tox != nullptr); @@ -49,7 +50,7 @@ return result; } -CoreFile::CoreFile(Tox *core, QMutex &coreLoopLock) +CoreFile::CoreFile(Tox *core, CompatibleRecursiveMutex &coreLoopLock) : tox{core} , coreLoopLock{&coreLoopLock} { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/core/corefile.h new/qTox/src/core/corefile.h --- old/qTox/src/core/corefile.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/core/corefile.h 2021-12-15 02:04:29.000000000 +0100 @@ -28,6 +28,8 @@ #include "src/core/toxpk.h" #include "src/model/status.h" +#include "src/util/compatiblerecursivemutex.h" + #include <QHash> #include <QMutex> #include <QObject> @@ -48,7 +50,7 @@ public: void handleAvatarOffer(uint32_t friendId, uint32_t fileId, bool accept); - static CoreFilePtr makeCoreFile(Core* core, Tox* tox, QMutex& coreLoopLock); + static CoreFilePtr makeCoreFile(Core* core, Tox* tox, CompatibleRecursiveMutex& coreLoopLock); void sendFile(uint32_t friendId, QString filename, QString filePath, long long filesize); @@ -78,7 +80,7 @@ void fileSendFailed(uint32_t friendId, const QString& fname); private: - CoreFile(Tox* core, QMutex& coreLoopLock); + CoreFile(Tox* core, CompatibleRecursiveMutex& coreLoopLock); ToxFile* findFile(uint32_t friendId, uint32_t fileId); void addFile(uint32_t friendId, uint32_t fileId, const ToxFile& file); @@ -107,7 +109,7 @@ private: QHash<uint64_t, ToxFile> fileMap; Tox* tox; - QMutex* coreLoopLock = nullptr; + CompatibleRecursiveMutex* coreLoopLock = nullptr; }; #endif // COREFILE_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/persistence/db/rawdatabase.cpp new/qTox/src/persistence/db/rawdatabase.cpp --- old/qTox/src/persistence/db/rawdatabase.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/persistence/db/rawdatabase.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -271,7 +271,8 @@ const QString default4_xParams{"PRAGMA database.cipher_page_size = 4096;" "PRAGMA database.kdf_iter = 256000;" "PRAGMA database.cipher_hmac_algorithm = HMAC_SHA512;" - "PRAGMA database.cipher_kdf_algorithm = PBKDF2_HMAC_SHA512;"}; + "PRAGMA database.cipher_kdf_algorithm = PBKDF2_HMAC_SHA512;" + "PRAGMA database.cipher_memory_security = ON;"}; // got disabled by default in 4.5.0, so manually enable it QString defaultParams; switch(params) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/persistence/offlinemsgengine.cpp new/qTox/src/persistence/offlinemsgengine.cpp --- old/qTox/src/persistence/offlinemsgengine.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/persistence/offlinemsgengine.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -30,8 +30,7 @@ #include <chrono> OfflineMsgEngine::OfflineMsgEngine(Friend* frnd, ICoreFriendMessageSender* messageSender) - : mutex(QMutex::Recursive) - , f(frnd) + : f(frnd) , messageSender(messageSender) {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/persistence/offlinemsgengine.h new/qTox/src/persistence/offlinemsgengine.h --- old/qTox/src/persistence/offlinemsgengine.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/persistence/offlinemsgengine.h 2021-12-15 02:04:29.000000000 +0100 @@ -24,6 +24,9 @@ #include "src/core/core.h" #include "src/model/message.h" #include "src/persistence/db/rawdatabase.h" + +#include "src/util/compatiblerecursivemutex.h" + #include <QDateTime> #include <QMap> #include <QMutex> @@ -63,7 +66,7 @@ private: void checkForCompleteMessages(ReceiptNum receipt); - QMutex mutex; + CompatibleRecursiveMutex mutex; const Friend* f; ICoreFriendMessageSender* messageSender; QVector<ReceiptNum> receivedReceipts; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/persistence/settings.cpp new/qTox/src/persistence/settings.cpp --- old/qTox/src/persistence/settings.cpp 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/persistence/settings.cpp 2021-12-15 02:04:29.000000000 +0100 @@ -33,6 +33,8 @@ #endif #include "src/ipc.h" +#include "src/util/compatiblerecursivemutex.h" + #include <QApplication> #include <QCryptographicHash> #include <QDebug> @@ -57,7 +59,7 @@ const QString Settings::globalSettingsFile = "qtox.ini"; Settings* Settings::settings{nullptr}; -QMutex Settings::bigLock{QMutex::Recursive}; +CompatibleRecursiveMutex Settings::bigLock; QThread* Settings::settingsThread{nullptr}; Settings::Settings() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/persistence/settings.h new/qTox/src/persistence/settings.h --- old/qTox/src/persistence/settings.h 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/src/persistence/settings.h 2021-12-15 02:04:29.000000000 +0100 @@ -29,6 +29,8 @@ #include "src/persistence/igroupsettings.h" #include "src/video/ivideosettings.h" +#include "src/util/compatiblerecursivemutex.h" + #include <QDateTime> #include <QFlags> #include <QFont> @@ -703,7 +705,7 @@ int themeColor; - static QMutex bigLock; + static CompatibleRecursiveMutex bigLock; static Settings* settings; static const QString globalSettingsFile; static QThread* settingsThread; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/src/util/compatiblerecursivemutex.h new/qTox/src/util/compatiblerecursivemutex.h --- old/qTox/src/util/compatiblerecursivemutex.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qTox/src/util/compatiblerecursivemutex.h 2021-12-15 02:04:29.000000000 +0100 @@ -0,0 +1,36 @@ +/* + Copyright ?? 2021 by The qTox Project Contributors + + This file is part of qTox, a Qt-based graphical interface for Tox. + + qTox is libre software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + qTox is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with qTox. If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include <QtGlobal> +#include <QMutex> + +#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) +class CompatibleRecursiveMutex : public QRecursiveMutex +{}; +#else +class CompatibleRecursiveMutex : public QMutex +{ +public: + CompatibleRecursiveMutex() + : QMutex(QMutex::Recursive) + {} +}; +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/util/include/util/compatiblerecursivemutex.h new/qTox/util/include/util/compatiblerecursivemutex.h --- old/qTox/util/include/util/compatiblerecursivemutex.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qTox/util/include/util/compatiblerecursivemutex.h 2021-12-15 02:04:29.000000000 +0100 @@ -0,0 +1,36 @@ +/* + Copyright ?? 2021 by The qTox Project Contributors + + This file is part of qTox, a Qt-based graphical interface for Tox. + + qTox is libre software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + qTox is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with qTox. If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include <QtGlobal> +#include <QMutex> + +#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) +class CompatibleRecursiveMutex : public QRecursiveMutex +{}; +#else +class CompatibleRecursiveMutex : public QMutex +{ +public: + CompatibleRecursiveMutex() + : QMutex(QMutex::Recursive) + {} +}; +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/windows/cross-compile/build.sh new/qTox/windows/cross-compile/build.sh --- old/qTox/windows/cross-compile/build.sh 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/windows/cross-compile/build.sh 2021-12-15 02:04:29.000000000 +0100 @@ -274,10 +274,10 @@ QT_PREFIX_DIR="$DEP_DIR/libqt5" QT_MAJOR=5 QT_MINOR=12 -QT_PATCH=9 +QT_PATCH=12 QT_VERSION=$QT_MAJOR.$QT_MINOR.$QT_PATCH -# hash from https://download.qt.io/archive/qt/5.12/5.12.9/single/qt-everywhere-src-5.12.9.tar.xz.mirrorlist -QT_HASH="a628186814b73e93594ee8e72f975116599f946919ae6bd86611981b739acff0" +# hash from https://download.qt.io/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz.mirrorlist +QT_HASH="1979a3233f689cb8b3e2783917f8f98f6a2e1821a70815fb737f020cd4b6ab06" QT_FILENAME="qt-everywhere-src-$QT_VERSION.tar.xz" if [ ! -f "$QT_PREFIX_DIR/done" ] then @@ -391,8 +391,8 @@ # SQLCipher SQLCIPHER_PREFIX_DIR="$DEP_DIR/libsqlcipher" -SQLCIPHER_VERSION=v4.4.0 -SQLCIPHER_HASH="0924b2ae1079717954498bda78a30de20ce2a6083076b16214a711567821d148" +SQLCIPHER_VERSION=v4.5.0 +SQLCIPHER_HASH="20c46a855c47d5a0a159fdcaa8491ec7bdbaa706a734ee52bc76188b929afb14" SQLCIPHER_FILENAME="$SQLCIPHER_VERSION.tar.gz" if [ ! -f "$SQLCIPHER_PREFIX_DIR/done" ] then @@ -433,8 +433,8 @@ # FFmpeg FFMPEG_PREFIX_DIR="$DEP_DIR/libffmpeg" -FFMPEG_VERSION=4.3.1 -FFMPEG_HASH="ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb" +FFMPEG_VERSION=4.4.1 +FFMPEG_HASH="eadbad9e9ab30b25f5520fbfde99fae4a92a1ae3c0257a8d68569a4651e30e02" FFMPEG_FILENAME="ffmpeg-$FFMPEG_VERSION.tar.xz" if [ ! -f "$FFMPEG_PREFIX_DIR/done" ] then @@ -633,15 +633,15 @@ # Exif EXIF_PREFIX_DIR="$DEP_DIR/libexif" -EXIF_VERSION=0.6.22 -EXIF_HASH="5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56" -EXIF_FILENAME="libexif-$EXIF_VERSION.tar.xz" +EXIF_VERSION="0.6.24" +EXIF_HASH="d47564c433b733d83b6704c70477e0a4067811d184ec565258ac563d8223f6ae" +EXIF_FILENAME="libexif-$EXIF_VERSION.tar.bz2" if [ ! -f "$EXIF_PREFIX_DIR/done" ] then rm -rf "$EXIF_PREFIX_DIR" mkdir -p "$EXIF_PREFIX_DIR" - curl $CURL_OPTIONS -O "https://github.com/libexif/libexif/releases/download/libexif-${EXIF_VERSION//./_}-release/${EXIF_FILENAME}" + curl $CURL_OPTIONS -O "https://github.com/libexif/libexif/releases/download/v${EXIF_VERSION}/$EXIF_FILENAME" check_sha256 "$EXIF_HASH" "$EXIF_FILENAME" bsdtar --no-same-owner --no-same-permissions -xf $EXIF_FILENAME rm $EXIF_FILENAME @@ -734,8 +734,8 @@ # VPX VPX_PREFIX_DIR="$DEP_DIR/libvpx" -VPX_VERSION=v1.9.0 -VPX_HASH="d279c10e4b9316bf11a570ba16c3d55791e1ad6faa4404c67422eb631782c80a" +VPX_VERSION=v1.11.0 +VPX_HASH="965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83" VPX_FILENAME="libvpx-$VPX_VERSION.tar.gz" if [ ! -f "$VPX_PREFIX_DIR/done" ] then @@ -920,8 +920,8 @@ # Toxcore TOXCORE_PREFIX_DIR="$DEP_DIR/libtoxcore" -TOXCORE_VERSION=0.2.12 -TOXCORE_HASH="30ae3263c9b68d3bef06f799ba9d7a67e3fad447030625f0ffa4bb22684228b0" +TOXCORE_VERSION=0.2.13 +TOXCORE_HASH="67114fa57504c58b695f5dce8ef85124d555f2c3c353d0d2615e6d4845114ab8" TOXCORE_FILENAME="c-toxcore-$TOXCORE_VERSION.tar.gz" if [ ! -f "$TOXCORE_PREFIX_DIR/done" ] then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/windows/qtox.nsi new/qTox/windows/qtox.nsi --- old/qTox/windows/qtox.nsi 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/windows/qtox.nsi 2021-12-15 02:04:29.000000000 +0100 @@ -280,7 +280,7 @@ ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}" ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "Path" "$INSTDIR\bin\" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayName" "qTox" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.3" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.4" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "The qTox Project" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "UninstallString" "$INSTDIR\uninstall.exe" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "URLInfoAbout" "https://qtox.github.io" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qTox/windows/qtox64.nsi new/qTox/windows/qtox64.nsi --- old/qTox/windows/qtox64.nsi 2020-11-23 05:06:38.000000000 +0100 +++ new/qTox/windows/qtox64.nsi 2021-12-15 02:04:29.000000000 +0100 @@ -281,7 +281,7 @@ ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}" ${WriteRegStr} "${REG_ROOT}" "${REG_APP_PATH}" "Path" "$INSTDIR\bin\" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayName" "qTox" - ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.3" + ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "DisplayVersion" "1.17.4" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "Publisher" "The qTox Project" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "UninstallString" "$INSTDIR\uninstall.exe" ${WriteRegStr} ${REG_ROOT} "${UNINSTALL_PATH}" "URLInfoAbout" "https://qtox.github.io"
