Merge pull request #4407 from matrix-org/bwindels/checkifxsignisdisabledforlegacyverif

Fix: dont try to enable 4S if cross-signing is disabled
This commit is contained in:
Bruno Windels 2020-04-14 16:12:16 +00:00 committed by GitHub
commit 69e680da3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -61,15 +61,18 @@ function UntrustedDeviceDialog(props) {
} }
export async function verifyDevice(user, device) { export async function verifyDevice(user, device) {
if (!await enable4SIfNeeded()) { const cli = MatrixClientPeg.get();
return; // if cross-signing is not explicitly disabled, check if it should be enabled first.
if (cli.getCryptoTrustCrossSignedDevices()) {
if (!await enable4SIfNeeded()) {
return;
}
} }
Modal.createTrackedDialog("Verification warning", "unverified session", UntrustedDeviceDialog, { Modal.createTrackedDialog("Verification warning", "unverified session", UntrustedDeviceDialog, {
user, user,
device, device,
onFinished: async (action) => { onFinished: async (action) => {
if (action === "sas") { if (action === "sas") {
const cli = MatrixClientPeg.get();
const verificationRequestPromise = cli.legacyDeviceVerification( const verificationRequestPromise = cli.legacyDeviceVerification(
user.userId, user.userId,
device.deviceId, device.deviceId,
@ -95,10 +98,13 @@ export async function verifyDevice(user, device) {
} }
export async function legacyVerifyUser(user) { export async function legacyVerifyUser(user) {
if (!await enable4SIfNeeded()) {
return;
}
const cli = MatrixClientPeg.get(); const cli = MatrixClientPeg.get();
// if cross-signing is not explicitly disabled, check if it should be enabled first.
if (cli.getCryptoTrustCrossSignedDevices()) {
if (!await enable4SIfNeeded()) {
return;
}
}
const verificationRequestPromise = cli.requestVerification(user.userId); const verificationRequestPromise = cli.requestVerification(user.userId);
dis.dispatch({ dis.dispatch({
action: "set_right_panel_phase", action: "set_right_panel_phase",