You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-07 23:02:56 +03:00
Bump matrix-sdk-crypto-wasm to 3.0.1 (#3849)
* Bump matrix-sdk-crypto-wasm to 3.0.0 ... which changes the API of `bootstrapCrossSigning` a bit. * Fix class names in test * fix brokenness in bootstrapCrossSigning * Bump to `matrix-sdk-crypto-wasm` 3.0.1
This commit is contained in:
committed by
GitHub
parent
437b7ff780
commit
a28530004a
@@ -51,7 +51,7 @@
|
|||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.12.5",
|
"@babel/runtime": "^7.12.5",
|
||||||
"@matrix-org/matrix-sdk-crypto-wasm": "^2.2.0",
|
"@matrix-org/matrix-sdk-crypto-wasm": "^3.0.1",
|
||||||
"another-json": "^0.2.0",
|
"another-json": "^0.2.0",
|
||||||
"bs58": "^5.0.0",
|
"bs58": "^5.0.0",
|
||||||
"content-type": "^1.0.4",
|
"content-type": "^1.0.4",
|
||||||
|
@@ -24,7 +24,7 @@ import {
|
|||||||
KeysUploadRequest,
|
KeysUploadRequest,
|
||||||
RoomMessageRequest,
|
RoomMessageRequest,
|
||||||
SignatureUploadRequest,
|
SignatureUploadRequest,
|
||||||
SigningKeysUploadRequest,
|
UploadSigningKeysRequest,
|
||||||
ToDeviceRequest,
|
ToDeviceRequest,
|
||||||
} from "@matrix-org/matrix-sdk-crypto-wasm";
|
} from "@matrix-org/matrix-sdk-crypto-wasm";
|
||||||
|
|
||||||
@@ -173,10 +173,10 @@ describe("OutgoingRequestProcessor", () => {
|
|||||||
httpBackend.verifyNoOutstandingRequests();
|
httpBackend.verifyNoOutstandingRequests();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should handle SigningKeysUploadRequests without UIA", async () => {
|
it("should handle UploadSigningKeysRequest without UIA", async () => {
|
||||||
// first, mock up a request as we might expect to receive it from the Rust layer ...
|
// first, mock up a request as we might expect to receive it from the Rust layer ...
|
||||||
const testReq = { foo: "bar" };
|
const testReq = { foo: "bar" };
|
||||||
const outgoingRequest = new SigningKeysUploadRequest(JSON.stringify(testReq));
|
const outgoingRequest = new UploadSigningKeysRequest(JSON.stringify(testReq));
|
||||||
|
|
||||||
// ... then poke the request into the OutgoingRequestProcessor under test
|
// ... then poke the request into the OutgoingRequestProcessor under test
|
||||||
const reqProm = processor.makeOutgoingRequest(outgoingRequest);
|
const reqProm = processor.makeOutgoingRequest(outgoingRequest);
|
||||||
@@ -200,10 +200,10 @@ describe("OutgoingRequestProcessor", () => {
|
|||||||
httpBackend.verifyNoOutstandingRequests();
|
httpBackend.verifyNoOutstandingRequests();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should handle SigningKeysUploadRequests with UIA", async () => {
|
it("should handle UploadSigningKeysRequest with UIA", async () => {
|
||||||
// first, mock up a request as we might expect to receive it from the Rust layer ...
|
// first, mock up a request as we might expect to receive it from the Rust layer ...
|
||||||
const testReq = { foo: "bar" };
|
const testReq = { foo: "bar" };
|
||||||
const outgoingRequest = new SigningKeysUploadRequest(JSON.stringify(testReq));
|
const outgoingRequest = new UploadSigningKeysRequest(JSON.stringify(testReq));
|
||||||
|
|
||||||
// also create a UIA callback
|
// also create a UIA callback
|
||||||
const authCallback: UIAuthCallback<Object> = async (makeRequest) => {
|
const authCallback: UIAuthCallback<Object> = async (makeRequest) => {
|
||||||
|
@@ -14,12 +14,12 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { OlmMachine, CrossSigningStatus } from "@matrix-org/matrix-sdk-crypto-wasm";
|
import { OlmMachine, CrossSigningStatus, CrossSigningBootstrapRequests } from "@matrix-org/matrix-sdk-crypto-wasm";
|
||||||
import * as RustSdkCryptoJs from "@matrix-org/matrix-sdk-crypto-wasm";
|
import * as RustSdkCryptoJs from "@matrix-org/matrix-sdk-crypto-wasm";
|
||||||
|
|
||||||
import { BootstrapCrossSigningOpts } from "../crypto-api";
|
import { BootstrapCrossSigningOpts } from "../crypto-api";
|
||||||
import { logger } from "../logger";
|
import { logger } from "../logger";
|
||||||
import { OutgoingRequest, OutgoingRequestProcessor } from "./OutgoingRequestProcessor";
|
import { OutgoingRequestProcessor } from "./OutgoingRequestProcessor";
|
||||||
import { UIAuthCallback } from "../interactive-auth";
|
import { UIAuthCallback } from "../interactive-auth";
|
||||||
import { ServerSideSecretStorage } from "../secret-storage";
|
import { ServerSideSecretStorage } from "../secret-storage";
|
||||||
|
|
||||||
@@ -118,7 +118,7 @@ export class CrossSigningIdentity {
|
|||||||
private async resetCrossSigning(authUploadDeviceSigningKeys?: UIAuthCallback<void>): Promise<void> {
|
private async resetCrossSigning(authUploadDeviceSigningKeys?: UIAuthCallback<void>): Promise<void> {
|
||||||
// XXX: We must find a way to make this atomic, currently if the user does not remember his account password
|
// XXX: We must find a way to make this atomic, currently if the user does not remember his account password
|
||||||
// or 4S passphrase/key the process will fail in a bad state, with keys rotated but not uploaded or saved in 4S.
|
// or 4S passphrase/key the process will fail in a bad state, with keys rotated but not uploaded or saved in 4S.
|
||||||
const outgoingRequests: Array<OutgoingRequest> = await this.olmMachine.bootstrapCrossSigning(true);
|
const outgoingRequests: CrossSigningBootstrapRequests = await this.olmMachine.bootstrapCrossSigning(true);
|
||||||
|
|
||||||
// If 4S is configured we need to udpate it.
|
// If 4S is configured we need to udpate it.
|
||||||
if (await this.secretStorage.hasKey()) {
|
if (await this.secretStorage.hasKey()) {
|
||||||
@@ -128,8 +128,14 @@ export class CrossSigningIdentity {
|
|||||||
await this.exportCrossSigningKeysToStorage();
|
await this.exportCrossSigningKeysToStorage();
|
||||||
}
|
}
|
||||||
logger.log("bootStrapCrossSigning: publishing keys to server");
|
logger.log("bootStrapCrossSigning: publishing keys to server");
|
||||||
for (const req of outgoingRequests) {
|
for (const req of [
|
||||||
await this.outgoingRequestProcessor.makeOutgoingRequest(req, authUploadDeviceSigningKeys);
|
outgoingRequests.uploadKeysRequest,
|
||||||
|
outgoingRequests.uploadSigningKeysRequest,
|
||||||
|
outgoingRequests.uploadSignaturesRequest,
|
||||||
|
]) {
|
||||||
|
if (req) {
|
||||||
|
await this.outgoingRequestProcessor.makeOutgoingRequest(req, authUploadDeviceSigningKeys);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,7 +23,7 @@ import {
|
|||||||
RoomMessageRequest,
|
RoomMessageRequest,
|
||||||
SignatureUploadRequest,
|
SignatureUploadRequest,
|
||||||
ToDeviceRequest,
|
ToDeviceRequest,
|
||||||
SigningKeysUploadRequest,
|
UploadSigningKeysRequest,
|
||||||
} from "@matrix-org/matrix-sdk-crypto-wasm";
|
} from "@matrix-org/matrix-sdk-crypto-wasm";
|
||||||
|
|
||||||
import { logger } from "../logger";
|
import { logger } from "../logger";
|
||||||
@@ -62,7 +62,7 @@ export class OutgoingRequestProcessor {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
public async makeOutgoingRequest<T>(
|
public async makeOutgoingRequest<T>(
|
||||||
msg: OutgoingRequest | SigningKeysUploadRequest,
|
msg: OutgoingRequest | UploadSigningKeysRequest,
|
||||||
uiaCallback?: UIAuthCallback<T>,
|
uiaCallback?: UIAuthCallback<T>,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
let resp: string;
|
let resp: string;
|
||||||
@@ -92,7 +92,7 @@ export class OutgoingRequestProcessor {
|
|||||||
`/_matrix/client/v3/rooms/${encodeURIComponent(msg.room_id)}/send/` +
|
`/_matrix/client/v3/rooms/${encodeURIComponent(msg.room_id)}/send/` +
|
||||||
`${encodeURIComponent(msg.event_type)}/${encodeURIComponent(msg.txn_id)}`;
|
`${encodeURIComponent(msg.event_type)}/${encodeURIComponent(msg.txn_id)}`;
|
||||||
resp = await this.rawJsonRequest(Method.Put, path, {}, msg.body);
|
resp = await this.rawJsonRequest(Method.Put, path, {}, msg.body);
|
||||||
} else if (msg instanceof SigningKeysUploadRequest) {
|
} else if (msg instanceof UploadSigningKeysRequest) {
|
||||||
await this.makeRequestWithUIA(
|
await this.makeRequestWithUIA(
|
||||||
Method.Post,
|
Method.Post,
|
||||||
"/_matrix/client/v3/keys/device_signing/upload",
|
"/_matrix/client/v3/keys/device_signing/upload",
|
||||||
|
@@ -1590,10 +1590,10 @@
|
|||||||
"@jridgewell/resolve-uri" "^3.1.0"
|
"@jridgewell/resolve-uri" "^3.1.0"
|
||||||
"@jridgewell/sourcemap-codec" "^1.4.14"
|
"@jridgewell/sourcemap-codec" "^1.4.14"
|
||||||
|
|
||||||
"@matrix-org/matrix-sdk-crypto-wasm@^2.2.0":
|
"@matrix-org/matrix-sdk-crypto-wasm@^3.0.1":
|
||||||
version "2.2.0"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-wasm/-/matrix-sdk-crypto-wasm-2.2.0.tgz#7c60afe01915281a6b71502821bc8e01afbfa70d"
|
resolved "https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-wasm/-/matrix-sdk-crypto-wasm-3.0.1.tgz#56a0376f8a389264bcf4d5325b378a71f18b7664"
|
||||||
integrity sha512-txmvaTiZpVV0/kWCRcE7tZvRESCEc1ynLJDVh9OUsFlaXfl13c7qdD3E6IJEJ8YiPMIn+PHogdfBZsO84reaMg==
|
integrity sha512-r0PBfUKlLHm67+fpIV21netX5+DujbY2XjJy7JUGJ55oW4XWBNbSf9vElfaQkrdt/iDscL/8I5PoD5lCuVW6zA==
|
||||||
|
|
||||||
"@matrix-org/olm@3.2.15":
|
"@matrix-org/olm@3.2.15":
|
||||||
version "3.2.15"
|
version "3.2.15"
|
||||||
|
Reference in New Issue
Block a user