Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Schuster <michael@schuster.ms>2019-12-24 09:12:54 +0300
committerMichael Schuster <48932272+misch7@users.noreply.github.com>2019-12-24 09:47:35 +0300
commit9b034a2eb02a4d12c6561b783b7685748b09a65e (patch)
treef655d02fb069fcb3905db67c236fff152f186b54 /src/gui/CMakeLists.txt
parentbd9652b24c0674be224e1a94bc0bae09364fdc3a (diff)
Heavy refactoring: Windows workaround for >= 4k (4096 bit) client-cert SSL keys and large certs
With QtKeychain on Windows, storing larger keys or certs in one keychain entry causes the following error due to limits in the Windows APIs: Error: "Credential size exceeds maximum size of 2560" This fix implements the new wrapper class KeychainChunk with wrapper jobs ReadJob and WriteJob to encapsulate the QKeychain handling of ReadPasswordJob and WritePasswordJob with binaryData but split every supplied keychain entry's data into 2048 byte chunks, on Windows only. The wrapper is used for all keychain operations in WebFlowCredentials, except for the server password. All finished keychain jobs now get deleted properly, to avoid memory leaks. For reference also see previous fixes: - https://github.com/nextcloud/desktop/pull/1389 - https://github.com/nextcloud/desktop/pull/1394 This should finally fix the re-opened issue: - https://github.com/nextcloud/desktop/issues/863 Signed-off-by: Michael Schuster <michael@schuster.ms>
Diffstat (limited to 'src/gui/CMakeLists.txt')
-rw-r--r--src/gui/CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
index 849d2cf28..dbfc10214 100644
--- a/src/gui/CMakeLists.txt
+++ b/src/gui/CMakeLists.txt
@@ -109,6 +109,7 @@ set(client_SRCS
creds/httpcredentialsgui.cpp
creds/oauth.cpp
creds/flow2auth.cpp
+ creds/keychainchunk.cpp
creds/webflowcredentials.cpp
creds/webflowcredentialsdialog.cpp
wizard/postfixlineedit.cpp