From af67ffc23d62c5ae1d150335bd8b1631cd6fc0248ea0b9c516cbd7f1aaeeac1a Mon Sep 17 00:00:00 2001 From: Dead Mozay Date: Mon, 4 Jan 2021 02:38:32 +0000 Subject: [PATCH] Accepting request 859975 from home:luca_b:branches:network:messaging:matrix - Add a build conditional for E2EE and disable it by default, as applications using libQuotient with E2EE enabled have stability issues and memory leaks - Run spec-cleaner OBS-URL: https://build.opensuse.org/request/show/859975 OBS-URL: https://build.opensuse.org/package/show/network:messaging:matrix/libQuotient?expand=0&rev=6 --- libQuotient.changes | 122 +++++++++++++++++++++++--------------------- libQuotient.spec | 18 ++++--- 2 files changed, 77 insertions(+), 63 deletions(-) diff --git a/libQuotient.changes b/libQuotient.changes index d11c338..a9d6a61 100644 --- a/libQuotient.changes +++ b/libQuotient.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sun Jan 3 19:29:38 UTC 2021 - Luca Beltrame + +- Add a build conditional for E2EE and disable it by default, as + applications using libQuotient with E2EE enabled have + stability issues and memory leaks +- Run spec-cleaner + ------------------------------------------------------------------- Tue Dec 29 07:35:30 UTC 2020 - Dead Mozay @@ -5,19 +13,19 @@ Tue Dec 29 07:35:30 UTC 2020 - Dead Mozay * (#412 with an additional fix in e7c9ca9) Take profile data from the previous user state for users who already left * (693241d) Fix defunct network requests stalling the request queue - * (e81117f, 6e8be18) Minor performance improvements on loading - rooms and accounts involving many users (0.7 will have more work + * (e81117f, 6e8be18) Minor performance improvements on loading + rooms and accounts involving many users (0.7 will have more work on handling that) * (2340f3d) Power level events are properly redacted now locally - * (ff2cb9f) Work around lack of native Qt support for request + * (ff2cb9f) Work around lack of native Qt support for request bodies in DELETE requests - * (97b0bec) Fix a few cases of insufficient escaping in + * (97b0bec) Fix a few cases of insufficient escaping in Quotient::Uri (thanks to nephele for reporting) - * (#421) Fix incorrect processing when a network request - (especially for .well-known) returns 404 with non-empty body - that is not JSON (which is quite usual when a .well-known + * (#421) Fix incorrect processing when a network request + (especially for .well-known) returns 404 with non-empty body + that is not JSON (which is quite usual when a .well-known record is missing) - * (66972c8) Room tags that start with . (fullstop) are no more + * (66972c8) Room tags that start with . (fullstop) are no more considered correct and will get u. in front of them. * Many thanks for all the help in testing and contributing! @@ -27,19 +35,19 @@ Sat Oct 24 09:17:37 UTC 2020 - dead-mozay@opensuse.org - Update to version 0.6.2: * More stringent serverpart checks in user ids. * Uri::toUrl() now returns an actually working matrix.to link. - * The biggest change in this release is a rewrite of the code - maintaining user profiles (generic and per-room). - The new code is simpler, faster and occupies less memory - - a hat-trick of optimisation. The improvement is most noticeable + * The biggest change in this release is a rewrite of the code + maintaining user profiles (generic and per-room). + The new code is simpler, faster and occupies less memory - + a hat-trick of optimisation. The improvement is most noticeable when opening bigger rooms with many users (such as Matrix HQ). - * Trying to set displayname or avatar URL to an empty value with - Synapse homeservers led to an obscure error; + * Trying to set displayname or avatar URL to an empty value with + Synapse homeservers led to an obscure error; now it works as it should. - * Another noticeable change is that the library should be more - robust against gateway/CDN/proxy errors that sometimes bring + * Another noticeable change is that the library should be more + robust against gateway/CDN/proxy errors that sometimes bring unexpected responses (e.g. an HTML payload when JSON is expected). * Quotest: added a test for changing the user display name - * User::bridged() and User::rawName() has long been useless, + * User::bridged() and User::rawName() has long been useless, as Matrix stopped using bridge postfixes - they are deprecated now. * Smaller optimisations, cleanup and documentation updates, as usual. @@ -68,32 +76,32 @@ Sat Feb 22 10:51:12 UTC 2020 - dead_mozay@opensuse.org Fri May 24 08:11:45 UTC 2019 - ecsos@opensuse.org - Update to 0.5.2 - - (#323) Direct chats are no more unmarked when logging in or + - (#323) Direct chats are no more unmarked when logging in or after clearing the cache. - 0.5.x releases keep the previous library name, libQMatrixClient -- Upstream renamed library to libQuotient, so this package +- Upstream renamed library to libQuotient, so this package libqmatrixclient also renamed to libQuotient. ------------------------------------------------------------------- Thu Apr 18 14:10:46 UTC 2019 - ecsos@opensuse.org - Update to 0.5.1.2 - - (#316) Expired tokens no more bring IncorrectRequestError - instead of ContentAccessError; consequently, - Connection::logout() ignores ContentAccessErrors so expired - tokens don't leave the library in a "can't go-in, can't go out" + - (#316) Expired tokens no more bring IncorrectRequestError + instead of ContentAccessError; consequently, + Connection::logout() ignores ContentAccessErrors so expired + tokens don't leave the library in a "can't go-in, can't go out" state. - - Jobs abandoned due to Connection being deleted no more cause + - Jobs abandoned due to Connection being deleted no more cause crashes. ------------------------------------------------------------------- Sat Apr 6 12:25:50 UTC 2019 - ecsos@opensuse.org - Update to 0.5.1.1 - This release fixes a bug that makes 0.5.1 not being "new enough" - for Quaternion 0.0.9.4, and another bug that made user showing up - multiple times in the user list of Quaternion after renaming. + This release fixes a bug that makes 0.5.1 not being "new enough" + for Quaternion 0.0.9.4, and another bug that made user showing up + multiple times in the user list of Quaternion after renaming. Otherwise it's the same as version 0.5.1. ------------------------------------------------------------------- @@ -101,47 +109,47 @@ Fri Apr 5 07:46:12 UTC 2019 - ecsos@opensuse.org - Update to 0.5.1 - Fix (#303): linkification doesn't break on peculiar links. - - Fix (#310 and 27c2989): quirks in rendering room display names + - Fix (#310 and 27c2989): quirks in rendering room display names have been ironed out. - - Fix: Tighter validations of URLs coming with file events - (too relaxed validations were causing the library to + - Fix: Tighter validations of URLs coming with file events + (too relaxed validations were causing the library to assert-crash on, e.g., encrypted attachments). - - Enhancement (#305): rooms created as direct chats are now - automatically marked as m.direct for invited as well as + - Enhancement (#305): rooms created as direct chats are now + automatically marked as m.direct for invited as well as inviting users. - - Enhancement (#306): Room::canSwitchVersions() returns false on - rooms already upgraded (you still can disregard and call - Room::switchVersion() but you better think twice + - Enhancement (#306): Room::canSwitchVersions() returns false on + rooms already upgraded (you still can disregard and call + Room::switchVersion() but you better think twice - see matrix-org/matrix-doc#1937). - - Enhancement: Room::postFile() now first starts file upload and - then places a pending event (neatly packed with file transfer - information), rather than the other way around. Unless you do + - Enhancement: Room::postFile() now first starts file upload and + then places a pending event (neatly packed with file transfer + information), rather than the other way around. Unless you do weird things with the library's API, you shouldn't notice. - - Enhancement: LRO/RLO Unicode markers are now stripped from + - Enhancement: LRO/RLO Unicode markers are now stripped from display names, to curtail abuse of those. - - Feature: Connection::domain() to save client authors from + - Feature: Connection::domain() to save client authors from taking the domain from user MXID. ------------------------------------------------------------------- Wed Apr 3 09:01:26 UTC 2019 - ecsos@opensuse.org - Update to 0.5.0.2 - * Another bugfix release in 0.5.x branch, fixing issues with + * Another bugfix release in 0.5.x branch, fixing issues with sending read receipts and redactions in v3 rooms (#300). - Changes from 0.5.0.1 - * This version fixes too stringent checks in debug builds that + * This version fixes too stringent checks in debug builds that led to assertion crashes upon encounter with upgraded rooms. - Changes from 0.5 - As usual for 0.x versions, 0.5 breaks API compatibility with - previous versions; 0.4-compatible clients may or may not need + As usual for 0.x versions, 0.5 breaks API compatibility with + previous versions; 0.4-compatible clients may or may not need changes in order to compile with version 0.5. As usual, see diffs - in header files to track the changes and update the client code - accordingly; these release notes highlight most prominent API + in header files to track the changes and update the client code + accordingly; these release notes highlight most prominent API changes. - Micro-versions in 0.5.y will maintain the API and ABI. + Micro-versions in 0.5.y will maintain the API and ABI. Version 0.6 will break either API or ABI or both. Over 200 commits. So see for changelog @@ -161,7 +169,7 @@ Sun Jan 13 12:42:05 UTC 2019 - Michael Vetter Sun Dec 16 03:06:40 UTC 2018 - Michael Vetter - Update to 0.4.1 - * Fix pending events (aka local echo) not being cleaned up + * Fix pending events (aka local echo) not being cleaned up properly * Fix rooms not being correctly sorted according to their position under tag if using Connection::roomsByTags() @@ -192,22 +200,22 @@ Mon Aug 20 15:55:28 UTC 2018 - ecsos@opensuse.org So many changes and no proper changelog from upstream. See changes here: https://github.com/QMatrixClient/libqmatrixclient/compare/v0.2.1...v0.3.0.2 - + ------------------------------------------------------------------- Wed May 2 18:49:35 UTC 2018 - ecsos@opensuse.org - update to 0.2.1 - - Fixed an occasional crash due to dangling callbacks in avatar + - Fixed an occasional crash due to dangling callbacks in avatar fetching code - - Fixed unreliable network error handling leading to sync loop + - Fixed unreliable network error handling leading to sync loop getting "unlooped" when server is temporarily unavailable - - Fixed a regression leading to bridge postfixes not being + - Fixed a regression leading to bridge postfixes not being removed from user display names - - Fixed a regression manifesting in dysfunctional user name + - Fixed a regression manifesting in dysfunctional user name disambiguation - - Added User::rawName() to get a user name together with its + - Added User::rawName() to get a user name together with its bridge postfix - - Bridge names are now used as the first line of disambiguation, + - Bridge names are now used as the first line of disambiguation, with user ids being the next (and ultimate) fallback. - remove service file @@ -221,7 +229,7 @@ Thu Apr 12 08:52:06 UTC 2018 - agraul@suse.com ------------------------------------------------------------------- Tue Apr 3 16:42:17 UTC 2018 - agraul@suse.com -- add remove_unwanted_cmake_installations.patch +- add remove_unwanted_cmake_installations.patch * this patch removes cmake install targets that are not targeted at linux - cleanup spec file @@ -240,7 +248,7 @@ Mon Jan 1 22:24:49 UTC 2018 - agraul@suse.com ------------------------------------------------------------------- Mon Jan 1 22:02:26 UTC 2018 - agraul@suse.com -- update to 0.2-q0.0.5 +- update to 0.2-q0.0.5 ------------------------------------------------------------------- Fri Nov 10 13:40:20 UTC 2017 - agraul@suse.com diff --git a/libQuotient.spec b/libQuotient.spec index 8b88c95..17726c4 100644 --- a/libQuotient.spec +++ b/libQuotient.spec @@ -1,7 +1,7 @@ # # spec file for package libQuotient # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,30 +12,32 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define soversion 0_6 - +%bcond_without e2ee Name: libQuotient Version: 0.6.3 Release: 0 Summary: Library for Qt Matrix Clients License: LGPL-2.1-only Group: Development/Libraries/C and C++ -Url: https://github.com/quotient-im/libQuotient +URL: https://github.com/quotient-im/libQuotient Source0: https://github.com/quotient-im/%{name}/archive/%{version}.tar.gz -BuildRequires: unzip BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkgconfig +BuildRequires: unzip BuildRequires: pkgconfig(Qt5Core) >= 5.6 BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5Multimedia) BuildRequires: pkgconfig(Qt5Network) -BuildRequires: pkgconfig(QtOlm) +%if %{with e2ee} BuildRequires: cmake(Olm) +BuildRequires: pkgconfig(QtOlm) +%endif %description Library for Qt-based Matrix chat clients. It is required by @@ -62,7 +64,11 @@ developing applications that use %{name}. %autosetup -n %{name}-%{version} -p1 %build +%if %{with e2ee} %cmake -DQuotient_ENABLE_E2EE=ON +%else +%cmake -DQuotient_ENABLE_E2EE=OFF +%endif %cmake_build