From 3503f6a00187459a93dfda0540193af2d1acd826 Mon Sep 17 00:00:00 2001 From: Frank Osterfeld Date: Thu, 11 May 2023 16:43:21 +0200 Subject: [PATCH 1/5] Android: Do not crash when storing new password (Qt 6) Passing jobject here instead of Context calls Object(jobject) and not the intended KeyPairGeneratorSpec::Builder ctor, which then leads to a reference to the QtActivity. Trying to call "setAlias" on that threw. Fixes #233 --- keychain_android.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keychain_android.cpp b/keychain_android.cpp index 1009188..903c73e 100644 --- a/keychain_android.cpp +++ b/keychain_android.cpp @@ -106,9 +106,9 @@ void WritePasswordJobPrivate::scheduledStart() #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) KeyPairGeneratorSpec::Builder(Context(QtAndroid::androidActivity())). #elif QT_VERSION < QT_VERSION_CHECK(6, 4, 0) - KeyPairGeneratorSpec::Builder(QNativeInterface::QAndroidApplication::context()). + KeyPairGeneratorSpec::Builder(Context(QNativeInterface::QAndroidApplication::context())). #else - KeyPairGeneratorSpec::Builder((jobject)QNativeInterface::QAndroidApplication::context()). + KeyPairGeneratorSpec::Builder(Context((jobject)QNativeInterface::QAndroidApplication::context())). #endif setAlias(alias). setSubject(X500Principal(QStringLiteral("CN=QtKeychain, O=Android Authority"))). From 25d6d2c0a1e9e3e375ca138c7c9192ea085f211e Mon Sep 17 00:00:00 2001 From: Frank Osterfeld Date: Fri, 12 May 2023 10:04:35 +0200 Subject: [PATCH 2/5] Android: Fix JNI signature for deletion Fixes #217 --- androidkeystore.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/androidkeystore.cpp b/androidkeystore.cpp index 3f510f8..da58084 100644 --- a/androidkeystore.cpp +++ b/androidkeystore.cpp @@ -115,7 +115,7 @@ bool KeyStore::containsAlias(const QString &alias) const bool KeyStore::deleteEntry(const QString &alias) const { - callMethod("deleteEntry", "(Ljava/lang/String;)Z", fromString(alias).object()); + callMethod("deleteEntry", "(Ljava/lang/String;)V", fromString(alias).object()); return handleExceptions(); } From 30571f8e9927177651a1f17ab6691aefb615e061 Mon Sep 17 00:00:00 2001 From: Frank Osterfeld Date: Fri, 12 May 2023 12:19:46 +0200 Subject: [PATCH 3/5] Update Changelog for 0.14.0 --- ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3c420af..7852f2a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,14 @@ ChangeLog ========= +version 0.14.0 (release 2023-05-12) + + - Add Qt 6 Android support (Igor Bugaev ) + - Add QtQuick client example ((Igor Bugaev ) + - Added Dutch translation (Heimen Stoffels ) + - Fix potential freezing with Apple keychain (Claudio Cambra ) + - Add API to check whether a secure backend is available at all (Volker Krause ) + version 0.13.2 (release 2021-11-18) - CMake: Deprecate QTKEYCHAIN_STATIC in favor of BUILD_SHARED_LIBS (be@mixxx.org) From e63da2868465db18eb35a312b2635c26fdc46923 Mon Sep 17 00:00:00 2001 From: Frank Osterfeld Date: Fri, 12 May 2023 12:22:02 +0200 Subject: [PATCH 4/5] Update version to 0.14.0 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f106ad2..c25a968 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -set(QTKEYCHAIN_VERSION 0.13.99) +set(QTKEYCHAIN_VERSION 0.14.0) set(QTKEYCHAIN_SOVERSION 1) project(qtkeychain VERSION ${QTKEYCHAIN_VERSION} LANGUAGES CXX) From 96d2f84944880b63c78b28274f113795d88a3235 Mon Sep 17 00:00:00 2001 From: Frank Osterfeld Date: Fri, 12 May 2023 12:22:57 +0200 Subject: [PATCH 5/5] Bump version to 0.14.99 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c25a968..51523fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -set(QTKEYCHAIN_VERSION 0.14.0) +set(QTKEYCHAIN_VERSION 0.14.99) set(QTKEYCHAIN_SOVERSION 1) project(qtkeychain VERSION ${QTKEYCHAIN_VERSION} LANGUAGES CXX)