summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qsslsocket_mac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/ssl/qsslsocket_mac.cpp')
-rw-r--r--src/network/ssl/qsslsocket_mac.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/network/ssl/qsslsocket_mac.cpp b/src/network/ssl/qsslsocket_mac.cpp
index 8aa01deee7..ff0df1c406 100644
--- a/src/network/ssl/qsslsocket_mac.cpp
+++ b/src/network/ssl/qsslsocket_mac.cpp
@@ -61,6 +61,7 @@
#include <algorithm>
#include <cstddef>
+#include <limits>
#include <vector>
#include <QtCore/private/qcore_mac_p.h>
@@ -145,6 +146,16 @@ EphemeralSecKeychain::EphemeralSecKeychain()
}
}
+ if (keychain) {
+ SecKeychainSettings settings = {};
+ settings.version = SEC_KEYCHAIN_SETTINGS_VERS1;
+ // Strange, huh? But that's what their docs say to do! With lockOnSleep
+ // == false, set interval to INT_MAX to never lock ...
+ settings.lockInterval = INT_MAX;
+ if (SecKeychainSetSettings(keychain, &settings) != errSecSuccess)
+ qCWarning(lcSsl) << "SecKeychainSettings: failed to disable lock on sleep";
+ }
+
#ifdef QSSLSOCKET_DEBUG
if (keychain) {
qCDebug(lcSsl) << "Custom keychain with name" << keychainName << "was created"