From 5487cf20707cd51e94e53de8b01eb70ab22993bc Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 3 Jan 2020 14:36:04 +0000 Subject: [PATCH] Fix callback check We need to check for getCrossSisgningKey but that was added unconditionally elsewhere - only add it if we actually have a getSecretStorageKey callback to use. --- src/client.js | 2 +- src/crypto/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client.js b/src/client.js index e89ea5035..1ba3c4604 100644 --- a/src/client.js +++ b/src/client.js @@ -1506,7 +1506,7 @@ MatrixClient.prototype.createKeyBackupVersion = async function(info) { await this._crypto._signObject(data.auth_data); if ( - this._cryptoCallbacks.getSecretStorageKey && + this._cryptoCallbacks.getCrossSigningKey && this._crypto._crossSigningInfo.getId() ) { // now also sign the auth data with the cross-signing master key diff --git a/src/crypto/index.js b/src/crypto/index.js index fa547c395..b2c4001c0 100644 --- a/src/crypto/index.js +++ b/src/crypto/index.js @@ -218,7 +218,7 @@ export default function Crypto(baseApis, sessionStore, userId, deviceId, ); // Assuming no app-supplied callback, default to getting from SSSS. - if (!cryptoCallbacks.getCrossSigningKey) { + if (!cryptoCallbacks.getCrossSigningKey && cryptoCallbacks.getSecretStorageKey) { cryptoCallbacks.getCrossSigningKey = async (type) => { return CrossSigningInfo.getFromSecretStorage(type, this._secretStorage); };