From d2f2d3b3442aff1921d468461a7e51c83dc04dce Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Thu, 12 Dec 2019 13:51:45 +0000 Subject: [PATCH] Handle cross-singing sigs in key backup details --- .../views/settings/KeyBackupPanel.js | 23 +++++++++++++++++-- src/i18n/strings/en_EN.json | 5 +++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/components/views/settings/KeyBackupPanel.js b/src/components/views/settings/KeyBackupPanel.js index cbbb041228..44244f688b 100644 --- a/src/components/views/settings/KeyBackupPanel.js +++ b/src/components/views/settings/KeyBackupPanel.js @@ -250,10 +250,29 @@ export default class KeyBackupPanel extends React.PureComponent { sig.device && sig.device.getFingerprint() === MatrixClientPeg.get().getDeviceEd25519Key() ); + const fromThisUser = ( + sig.crossSigningId && + sig.deviceId === MatrixClientPeg.get().getCrossSigningId() + ); let sigStatus; - if (!sig.device) { + if (sig.valid && fromThisUser) { sigStatus = _t( - "Backup has a signature from unknown device with ID %(deviceId)s.", + "Backup has a valid signature from this user", + {}, { validity }, + ); + } else if (!sig.valid && fromThisUser) { + sigStatus = _t( + "Backup has a invalid signature from this user", + {}, { validity }, + ); + } else if (sig.crossSigningId) { + sigStatus = _t( + "Backup has a signature from unknown user with ID %(deviceId)s", + { deviceId: sig.deviceId }, { verify }, + ); + } else if (!sig.device) { + sigStatus = _t( + "Backup has a signature from unknown device with ID %(deviceId)s", { deviceId: sig.deviceId }, { verify }, ); } else if (sig.valid && fromThisDevice) { diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 2425dfcafa..f6bc9c7c41 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -529,7 +529,10 @@ "Connect this device to Key Backup": "Connect this device to Key Backup", "Backing up %(sessionsRemaining)s keys...": "Backing up %(sessionsRemaining)s keys...", "All keys backed up": "All keys backed up", - "Backup has a signature from unknown device with ID %(deviceId)s.": "Backup has a signature from unknown device with ID %(deviceId)s.", + "Backup has a valid signature from this user": "Backup has a valid signature from this user", + "Backup has a invalid signature from this user": "Backup has a invalid signature from this user", + "Backup has a signature from unknown user with ID %(deviceId)s": "Backup has a signature from unknown user with ID %(deviceId)s", + "Backup has a signature from unknown device with ID %(deviceId)s": "Backup has a signature from unknown device with ID %(deviceId)s", "Backup has a valid signature from this device": "Backup has a valid signature from this device", "Backup has an invalid signature from this device": "Backup has an invalid signature from this device", "Backup has a valid signature from verified device ": "Backup has a valid signature from verified device ",