@unwanted/matrix-sdk-mini 34.12.0-1 → 34.12.0-3
Sign up to get free protection for your applications and to get access to all the features.
- package/git-revision.txt +1 -1
- package/lib/@types/event.d.ts +0 -19
- package/lib/@types/event.d.ts.map +1 -1
- package/lib/@types/event.js.map +1 -1
- package/lib/@types/global.d.js +0 -2
- package/lib/@types/global.d.js.map +1 -1
- package/lib/browser-index.d.ts.map +1 -1
- package/lib/browser-index.js +0 -11
- package/lib/browser-index.js.map +1 -1
- package/lib/client.d.ts +2 -1224
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +345 -2826
- package/lib/client.js.map +1 -1
- package/lib/embedded.d.ts +0 -22
- package/lib/embedded.d.ts.map +1 -1
- package/lib/embedded.js +24 -167
- package/lib/embedded.js.map +1 -1
- package/lib/event-mapper.d.ts.map +1 -1
- package/lib/event-mapper.js +0 -4
- package/lib/event-mapper.js.map +1 -1
- package/lib/matrix.d.ts +0 -25
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.js +1 -30
- package/lib/matrix.js.map +1 -1
- package/lib/models/MSC3089Branch.d.ts.map +1 -1
- package/lib/models/MSC3089Branch.js +0 -3
- package/lib/models/MSC3089Branch.js.map +1 -1
- package/lib/models/event.d.ts +0 -94
- package/lib/models/event.d.ts.map +1 -1
- package/lib/models/event.js +0 -274
- package/lib/models/event.js.map +1 -1
- package/lib/models/poll.d.ts.map +1 -1
- package/lib/models/poll.js +1 -5
- package/lib/models/poll.js.map +1 -1
- package/lib/models/relations-container.d.ts.map +1 -1
- package/lib/models/relations-container.js +1 -7
- package/lib/models/relations-container.js.map +1 -1
- package/lib/models/relations.d.ts +0 -1
- package/lib/models/relations.d.ts.map +1 -1
- package/lib/models/relations.js +0 -8
- package/lib/models/relations.js.map +1 -1
- package/lib/models/room-state.d.ts.map +1 -1
- package/lib/models/room-state.js +10 -26
- package/lib/models/room-state.js.map +1 -1
- package/lib/models/room.d.ts +0 -18
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +94 -148
- package/lib/models/room.js.map +1 -1
- package/lib/models/thread.d.ts.map +1 -1
- package/lib/models/thread.js +0 -1
- package/lib/models/thread.js.map +1 -1
- package/lib/sliding-sync-sdk.d.ts +2 -3
- package/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/lib/sliding-sync-sdk.js +41 -90
- package/lib/sliding-sync-sdk.js.map +1 -1
- package/lib/sync.d.ts +0 -12
- package/lib/sync.d.ts.map +1 -1
- package/lib/sync.js +1 -73
- package/lib/sync.js.map +1 -1
- package/lib/testing.d.ts +0 -48
- package/lib/testing.d.ts.map +1 -1
- package/lib/testing.js +0 -105
- package/lib/testing.js.map +1 -1
- package/package.json +1 -3
- package/src/@types/event.ts +2 -36
- package/src/@types/global.d.ts +0 -3
- package/src/browser-index.ts +0 -11
- package/src/client.ts +52 -2876
- package/src/embedded.ts +3 -132
- package/src/event-mapper.ts +0 -4
- package/src/matrix.ts +0 -41
- package/src/models/MSC3089Branch.ts +0 -3
- package/src/models/event.ts +0 -289
- package/src/models/poll.ts +0 -6
- package/src/models/relations-container.ts +1 -8
- package/src/models/relations.ts +0 -8
- package/src/models/room-state.ts +2 -8
- package/src/models/room.ts +0 -62
- package/src/models/thread.ts +0 -1
- package/src/sliding-sync-sdk.ts +2 -72
- package/src/sync.ts +1 -98
- package/src/testing.ts +0 -108
- package/lib/@types/crypto.d.ts +0 -47
- package/lib/@types/crypto.d.ts.map +0 -1
- package/lib/@types/crypto.js +0 -1
- package/lib/@types/crypto.js.map +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
- package/lib/common-crypto/CryptoBackend.d.ts +0 -240
- package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
- package/lib/common-crypto/CryptoBackend.js +0 -73
- package/lib/common-crypto/CryptoBackend.js.map +0 -1
- package/lib/common-crypto/key-passphrase.d.ts +0 -14
- package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
- package/lib/common-crypto/key-passphrase.js +0 -33
- package/lib/common-crypto/key-passphrase.js.map +0 -1
- package/lib/crypto/CrossSigning.d.ts +0 -184
- package/lib/crypto/CrossSigning.d.ts.map +0 -1
- package/lib/crypto/CrossSigning.js +0 -718
- package/lib/crypto/CrossSigning.js.map +0 -1
- package/lib/crypto/DeviceList.d.ts +0 -216
- package/lib/crypto/DeviceList.d.ts.map +0 -1
- package/lib/crypto/DeviceList.js +0 -892
- package/lib/crypto/DeviceList.js.map +0 -1
- package/lib/crypto/EncryptionSetup.d.ts +0 -152
- package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
- package/lib/crypto/EncryptionSetup.js +0 -356
- package/lib/crypto/EncryptionSetup.js.map +0 -1
- package/lib/crypto/OlmDevice.d.ts +0 -457
- package/lib/crypto/OlmDevice.d.ts.map +0 -1
- package/lib/crypto/OlmDevice.js +0 -1241
- package/lib/crypto/OlmDevice.js.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
- package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
- package/lib/crypto/RoomList.d.ts +0 -26
- package/lib/crypto/RoomList.d.ts.map +0 -1
- package/lib/crypto/RoomList.js +0 -71
- package/lib/crypto/RoomList.js.map +0 -1
- package/lib/crypto/SecretSharing.d.ts +0 -24
- package/lib/crypto/SecretSharing.d.ts.map +0 -1
- package/lib/crypto/SecretSharing.js +0 -194
- package/lib/crypto/SecretSharing.js.map +0 -1
- package/lib/crypto/SecretStorage.d.ts +0 -55
- package/lib/crypto/SecretStorage.d.ts.map +0 -1
- package/lib/crypto/SecretStorage.js +0 -118
- package/lib/crypto/SecretStorage.js.map +0 -1
- package/lib/crypto/aes.d.ts +0 -6
- package/lib/crypto/aes.d.ts.map +0 -1
- package/lib/crypto/aes.js +0 -24
- package/lib/crypto/aes.js.map +0 -1
- package/lib/crypto/algorithms/base.d.ts +0 -156
- package/lib/crypto/algorithms/base.d.ts.map +0 -1
- package/lib/crypto/algorithms/base.js +0 -187
- package/lib/crypto/algorithms/base.js.map +0 -1
- package/lib/crypto/algorithms/index.d.ts +0 -4
- package/lib/crypto/algorithms/index.d.ts.map +0 -1
- package/lib/crypto/algorithms/index.js +0 -20
- package/lib/crypto/algorithms/index.js.map +0 -1
- package/lib/crypto/algorithms/megolm.d.ts +0 -385
- package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
- package/lib/crypto/algorithms/megolm.js +0 -1822
- package/lib/crypto/algorithms/megolm.js.map +0 -1
- package/lib/crypto/algorithms/olm.d.ts +0 -5
- package/lib/crypto/algorithms/olm.d.ts.map +0 -1
- package/lib/crypto/algorithms/olm.js +0 -299
- package/lib/crypto/algorithms/olm.js.map +0 -1
- package/lib/crypto/api.d.ts +0 -32
- package/lib/crypto/api.d.ts.map +0 -1
- package/lib/crypto/api.js +0 -22
- package/lib/crypto/api.js.map +0 -1
- package/lib/crypto/backup.d.ts +0 -227
- package/lib/crypto/backup.d.ts.map +0 -1
- package/lib/crypto/backup.js +0 -824
- package/lib/crypto/backup.js.map +0 -1
- package/lib/crypto/crypto.d.ts +0 -3
- package/lib/crypto/crypto.d.ts.map +0 -1
- package/lib/crypto/crypto.js +0 -19
- package/lib/crypto/crypto.js.map +0 -1
- package/lib/crypto/dehydration.d.ts +0 -34
- package/lib/crypto/dehydration.d.ts.map +0 -1
- package/lib/crypto/dehydration.js +0 -252
- package/lib/crypto/dehydration.js.map +0 -1
- package/lib/crypto/device-converter.d.ts +0 -9
- package/lib/crypto/device-converter.d.ts.map +0 -1
- package/lib/crypto/device-converter.js +0 -42
- package/lib/crypto/device-converter.js.map +0 -1
- package/lib/crypto/deviceinfo.d.ts +0 -99
- package/lib/crypto/deviceinfo.d.ts.map +0 -1
- package/lib/crypto/deviceinfo.js +0 -148
- package/lib/crypto/deviceinfo.js.map +0 -1
- package/lib/crypto/index.d.ts +0 -1209
- package/lib/crypto/index.d.ts.map +0 -1
- package/lib/crypto/index.js +0 -4097
- package/lib/crypto/index.js.map +0 -1
- package/lib/crypto/key_passphrase.d.ts +0 -14
- package/lib/crypto/key_passphrase.d.ts.map +0 -1
- package/lib/crypto/key_passphrase.js +0 -44
- package/lib/crypto/key_passphrase.js.map +0 -1
- package/lib/crypto/keybackup.d.ts +0 -18
- package/lib/crypto/keybackup.d.ts.map +0 -1
- package/lib/crypto/keybackup.js +0 -1
- package/lib/crypto/keybackup.js.map +0 -1
- package/lib/crypto/olmlib.d.ts +0 -129
- package/lib/crypto/olmlib.d.ts.map +0 -1
- package/lib/crypto/olmlib.js +0 -492
- package/lib/crypto/olmlib.js.map +0 -1
- package/lib/crypto/recoverykey.d.ts +0 -2
- package/lib/crypto/recoverykey.d.ts.map +0 -1
- package/lib/crypto/recoverykey.js +0 -19
- package/lib/crypto/recoverykey.js.map +0 -1
- package/lib/crypto/store/base.d.ts +0 -252
- package/lib/crypto/store/base.d.ts.map +0 -1
- package/lib/crypto/store/base.js +0 -64
- package/lib/crypto/store/base.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
- package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.js +0 -531
- package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
- package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
- package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/memory-crypto-store.js +0 -622
- package/lib/crypto/store/memory-crypto-store.js.map +0 -1
- package/lib/crypto/verification/Base.d.ts +0 -105
- package/lib/crypto/verification/Base.d.ts.map +0 -1
- package/lib/crypto/verification/Base.js +0 -372
- package/lib/crypto/verification/Base.js.map +0 -1
- package/lib/crypto/verification/Error.d.ts +0 -35
- package/lib/crypto/verification/Error.d.ts.map +0 -1
- package/lib/crypto/verification/Error.js +0 -86
- package/lib/crypto/verification/Error.js.map +0 -1
- package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
- package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
- package/lib/crypto/verification/IllegalMethod.js +0 -43
- package/lib/crypto/verification/IllegalMethod.js.map +0 -1
- package/lib/crypto/verification/QRCode.d.ts +0 -51
- package/lib/crypto/verification/QRCode.d.ts.map +0 -1
- package/lib/crypto/verification/QRCode.js +0 -277
- package/lib/crypto/verification/QRCode.js.map +0 -1
- package/lib/crypto/verification/SAS.d.ts +0 -27
- package/lib/crypto/verification/SAS.d.ts.map +0 -1
- package/lib/crypto/verification/SAS.js +0 -485
- package/lib/crypto/verification/SAS.js.map +0 -1
- package/lib/crypto/verification/SASDecimal.d.ts +0 -8
- package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
- package/lib/crypto/verification/SASDecimal.js +0 -34
- package/lib/crypto/verification/SASDecimal.js.map +0 -1
- package/lib/crypto/verification/request/Channel.d.ts +0 -18
- package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
- package/lib/crypto/verification/request/Channel.js +0 -1
- package/lib/crypto/verification/request/Channel.js.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
- package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.js +0 -351
- package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
- package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
- package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.js +0 -937
- package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
- package/lib/crypto-api/CryptoEvent.d.ts +0 -69
- package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEvent.js +0 -33
- package/lib/crypto-api/CryptoEvent.js.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
- package/lib/crypto-api/index.d.ts +0 -978
- package/lib/crypto-api/index.d.ts.map +0 -1
- package/lib/crypto-api/index.js +0 -304
- package/lib/crypto-api/index.js.map +0 -1
- package/lib/crypto-api/key-passphrase.d.ts +0 -11
- package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
- package/lib/crypto-api/key-passphrase.js +0 -51
- package/lib/crypto-api/key-passphrase.js.map +0 -1
- package/lib/crypto-api/keybackup.d.ts +0 -88
- package/lib/crypto-api/keybackup.d.ts.map +0 -1
- package/lib/crypto-api/keybackup.js +0 -1
- package/lib/crypto-api/keybackup.js.map +0 -1
- package/lib/crypto-api/recovery-key.d.ts +0 -11
- package/lib/crypto-api/recovery-key.d.ts.map +0 -1
- package/lib/crypto-api/recovery-key.js +0 -65
- package/lib/crypto-api/recovery-key.js.map +0 -1
- package/lib/crypto-api/verification.d.ts +0 -344
- package/lib/crypto-api/verification.d.ts.map +0 -1
- package/lib/crypto-api/verification.js +0 -91
- package/lib/crypto-api/verification.js.map +0 -1
- package/lib/matrixrtc/CallMembership.d.ts +0 -66
- package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
- package/lib/matrixrtc/CallMembership.js +0 -197
- package/lib/matrixrtc/CallMembership.js.map +0 -1
- package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
- package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
- package/lib/matrixrtc/LivekitFocus.js +0 -20
- package/lib/matrixrtc/LivekitFocus.js.map +0 -1
- package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
- package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
- package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
- package/lib/matrixrtc/focus.d.ts +0 -10
- package/lib/matrixrtc/focus.d.ts.map +0 -1
- package/lib/matrixrtc/focus.js +0 -1
- package/lib/matrixrtc/focus.js.map +0 -1
- package/lib/matrixrtc/index.d.ts +0 -7
- package/lib/matrixrtc/index.d.ts.map +0 -1
- package/lib/matrixrtc/index.js +0 -21
- package/lib/matrixrtc/index.js.map +0 -1
- package/lib/matrixrtc/types.d.ts +0 -19
- package/lib/matrixrtc/types.d.ts.map +0 -1
- package/lib/matrixrtc/types.js +0 -1
- package/lib/matrixrtc/types.js.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
- package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
- package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousChannel.js +0 -1
- package/lib/rendezvous/RendezvousChannel.js.map +0 -1
- package/lib/rendezvous/RendezvousCode.d.ts +0 -9
- package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousCode.js +0 -1
- package/lib/rendezvous/RendezvousCode.js.map +0 -1
- package/lib/rendezvous/RendezvousError.d.ts +0 -6
- package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousError.js +0 -23
- package/lib/rendezvous/RendezvousError.js.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.js +0 -38
- package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
- package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
- package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousIntent.js +0 -22
- package/lib/rendezvous/RendezvousIntent.js.map +0 -1
- package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
- package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousTransport.js +0 -1
- package/lib/rendezvous/RendezvousTransport.js.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
- package/lib/rendezvous/channels/index.d.ts +0 -2
- package/lib/rendezvous/channels/index.d.ts.map +0 -1
- package/lib/rendezvous/channels/index.js +0 -18
- package/lib/rendezvous/channels/index.js.map +0 -1
- package/lib/rendezvous/index.d.ts +0 -10
- package/lib/rendezvous/index.d.ts.map +0 -1
- package/lib/rendezvous/index.js +0 -23
- package/lib/rendezvous/index.js.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
- package/lib/rendezvous/transports/index.d.ts +0 -2
- package/lib/rendezvous/transports/index.d.ts.map +0 -1
- package/lib/rendezvous/transports/index.js +0 -18
- package/lib/rendezvous/transports/index.js.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
- package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.js +0 -82
- package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.js +0 -299
- package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
- package/lib/rust-crypto/backup.d.ts +0 -254
- package/lib/rust-crypto/backup.d.ts.map +0 -1
- package/lib/rust-crypto/backup.js +0 -837
- package/lib/rust-crypto/backup.js.map +0 -1
- package/lib/rust-crypto/constants.d.ts +0 -3
- package/lib/rust-crypto/constants.d.ts.map +0 -1
- package/lib/rust-crypto/constants.js +0 -19
- package/lib/rust-crypto/constants.js.map +0 -1
- package/lib/rust-crypto/device-converter.d.ts +0 -28
- package/lib/rust-crypto/device-converter.d.ts.map +0 -1
- package/lib/rust-crypto/device-converter.js +0 -123
- package/lib/rust-crypto/device-converter.js.map +0 -1
- package/lib/rust-crypto/index.d.ts +0 -61
- package/lib/rust-crypto/index.d.ts.map +0 -1
- package/lib/rust-crypto/index.js +0 -152
- package/lib/rust-crypto/index.js.map +0 -1
- package/lib/rust-crypto/libolm_migration.d.ts +0 -81
- package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
- package/lib/rust-crypto/libolm_migration.js +0 -459
- package/lib/rust-crypto/libolm_migration.js.map +0 -1
- package/lib/rust-crypto/rust-crypto.d.ts +0 -556
- package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
- package/lib/rust-crypto/rust-crypto.js +0 -2016
- package/lib/rust-crypto/rust-crypto.js.map +0 -1
- package/lib/rust-crypto/secret-storage.d.ts +0 -22
- package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
- package/lib/rust-crypto/secret-storage.js +0 -63
- package/lib/rust-crypto/secret-storage.js.map +0 -1
- package/lib/rust-crypto/verification.d.ts +0 -319
- package/lib/rust-crypto/verification.d.ts.map +0 -1
- package/lib/rust-crypto/verification.js +0 -816
- package/lib/rust-crypto/verification.js.map +0 -1
- package/lib/secret-storage.d.ts +0 -370
- package/lib/secret-storage.d.ts.map +0 -1
- package/lib/secret-storage.js +0 -466
- package/lib/secret-storage.js.map +0 -1
- package/lib/webrtc/audioContext.d.ts +0 -15
- package/lib/webrtc/audioContext.d.ts.map +0 -1
- package/lib/webrtc/audioContext.js +0 -46
- package/lib/webrtc/audioContext.js.map +0 -1
- package/lib/webrtc/call.d.ts +0 -560
- package/lib/webrtc/call.d.ts.map +0 -1
- package/lib/webrtc/call.js +0 -2541
- package/lib/webrtc/call.js.map +0 -1
- package/lib/webrtc/callEventHandler.d.ts +0 -37
- package/lib/webrtc/callEventHandler.d.ts.map +0 -1
- package/lib/webrtc/callEventHandler.js +0 -344
- package/lib/webrtc/callEventHandler.js.map +0 -1
- package/lib/webrtc/callEventTypes.d.ts +0 -73
- package/lib/webrtc/callEventTypes.d.ts.map +0 -1
- package/lib/webrtc/callEventTypes.js +0 -13
- package/lib/webrtc/callEventTypes.js.map +0 -1
- package/lib/webrtc/callFeed.d.ts +0 -128
- package/lib/webrtc/callFeed.d.ts.map +0 -1
- package/lib/webrtc/callFeed.js +0 -289
- package/lib/webrtc/callFeed.js.map +0 -1
- package/lib/webrtc/groupCall.d.ts +0 -323
- package/lib/webrtc/groupCall.d.ts.map +0 -1
- package/lib/webrtc/groupCall.js +0 -1337
- package/lib/webrtc/groupCall.js.map +0 -1
- package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
- package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
- package/lib/webrtc/groupCallEventHandler.js +0 -178
- package/lib/webrtc/groupCallEventHandler.js.map +0 -1
- package/lib/webrtc/mediaHandler.d.ts +0 -89
- package/lib/webrtc/mediaHandler.d.ts.map +0 -1
- package/lib/webrtc/mediaHandler.js +0 -437
- package/lib/webrtc/mediaHandler.js.map +0 -1
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
- package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
- package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
- package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
- package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
- package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
- package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
- package/lib/webrtc/stats/connectionStats.d.ts +0 -28
- package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
- package/lib/webrtc/stats/connectionStats.js +0 -26
- package/lib/webrtc/stats/connectionStats.js.map +0 -1
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
- package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
- package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
- package/lib/webrtc/stats/groupCallStats.js +0 -78
- package/lib/webrtc/stats/groupCallStats.js.map +0 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
- package/lib/webrtc/stats/statsReport.d.ts +0 -99
- package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
- package/lib/webrtc/stats/statsReport.js +0 -32
- package/lib/webrtc/stats/statsReport.js.map +0 -1
- package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
- package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
- package/lib/webrtc/stats/statsReportEmitter.js +0 -33
- package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
- package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
- package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
- package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
- package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
- package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
- package/lib/webrtc/stats/transportStats.d.ts +0 -11
- package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
- package/lib/webrtc/stats/transportStats.js +0 -1
- package/lib/webrtc/stats/transportStats.js.map +0 -1
- package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
- package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
- package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
- package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
- package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
- package/lib/webrtc/stats/valueFormatter.js +0 -25
- package/lib/webrtc/stats/valueFormatter.js.map +0 -1
- package/src/@types/crypto.ts +0 -73
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
- package/src/common-crypto/CryptoBackend.ts +0 -302
- package/src/common-crypto/README.md +0 -4
- package/src/common-crypto/key-passphrase.ts +0 -43
- package/src/crypto/CrossSigning.ts +0 -773
- package/src/crypto/DeviceList.ts +0 -989
- package/src/crypto/EncryptionSetup.ts +0 -351
- package/src/crypto/OlmDevice.ts +0 -1500
- package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
- package/src/crypto/RoomList.ts +0 -70
- package/src/crypto/SecretSharing.ts +0 -240
- package/src/crypto/SecretStorage.ts +0 -136
- package/src/crypto/aes.ts +0 -23
- package/src/crypto/algorithms/base.ts +0 -236
- package/src/crypto/algorithms/index.ts +0 -20
- package/src/crypto/algorithms/megolm.ts +0 -2216
- package/src/crypto/algorithms/olm.ts +0 -381
- package/src/crypto/api.ts +0 -70
- package/src/crypto/backup.ts +0 -922
- package/src/crypto/crypto.ts +0 -18
- package/src/crypto/dehydration.ts +0 -272
- package/src/crypto/device-converter.ts +0 -45
- package/src/crypto/deviceinfo.ts +0 -158
- package/src/crypto/index.ts +0 -4414
- package/src/crypto/key_passphrase.ts +0 -42
- package/src/crypto/keybackup.ts +0 -47
- package/src/crypto/olmlib.ts +0 -539
- package/src/crypto/recoverykey.ts +0 -18
- package/src/crypto/store/base.ts +0 -348
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
- package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
- package/src/crypto/store/localStorage-crypto-store.ts +0 -579
- package/src/crypto/store/memory-crypto-store.ts +0 -680
- package/src/crypto/verification/Base.ts +0 -409
- package/src/crypto/verification/Error.ts +0 -76
- package/src/crypto/verification/IllegalMethod.ts +0 -50
- package/src/crypto/verification/QRCode.ts +0 -310
- package/src/crypto/verification/SAS.ts +0 -494
- package/src/crypto/verification/SASDecimal.ts +0 -37
- package/src/crypto/verification/request/Channel.ts +0 -34
- package/src/crypto/verification/request/InRoomChannel.ts +0 -371
- package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
- package/src/crypto/verification/request/VerificationRequest.ts +0 -976
- package/src/crypto-api/CryptoEvent.ts +0 -93
- package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
- package/src/crypto-api/index.ts +0 -1175
- package/src/crypto-api/key-passphrase.ts +0 -58
- package/src/crypto-api/keybackup.ts +0 -115
- package/src/crypto-api/recovery-key.ts +0 -69
- package/src/crypto-api/verification.ts +0 -408
- package/src/matrixrtc/CallMembership.ts +0 -247
- package/src/matrixrtc/LivekitFocus.ts +0 -39
- package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
- package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
- package/src/matrixrtc/focus.ts +0 -25
- package/src/matrixrtc/index.ts +0 -22
- package/src/matrixrtc/types.ts +0 -36
- package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
- package/src/rendezvous/RendezvousChannel.ts +0 -48
- package/src/rendezvous/RendezvousCode.ts +0 -25
- package/src/rendezvous/RendezvousError.ts +0 -26
- package/src/rendezvous/RendezvousFailureReason.ts +0 -49
- package/src/rendezvous/RendezvousIntent.ts +0 -20
- package/src/rendezvous/RendezvousTransport.ts +0 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
- package/src/rendezvous/channels/index.ts +0 -17
- package/src/rendezvous/index.ts +0 -25
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
- package/src/rendezvous/transports/index.ts +0 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
- package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
- package/src/rust-crypto/KeyClaimManager.ts +0 -86
- package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
- package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
- package/src/rust-crypto/RoomEncryptor.ts +0 -352
- package/src/rust-crypto/backup.ts +0 -881
- package/src/rust-crypto/constants.ts +0 -18
- package/src/rust-crypto/device-converter.ts +0 -128
- package/src/rust-crypto/index.ts +0 -237
- package/src/rust-crypto/libolm_migration.ts +0 -530
- package/src/rust-crypto/rust-crypto.ts +0 -2205
- package/src/rust-crypto/secret-storage.ts +0 -60
- package/src/rust-crypto/verification.ts +0 -830
- package/src/secret-storage.ts +0 -693
- package/src/webrtc/audioContext.ts +0 -44
- package/src/webrtc/call.ts +0 -3074
- package/src/webrtc/callEventHandler.ts +0 -425
- package/src/webrtc/callEventTypes.ts +0 -93
- package/src/webrtc/callFeed.ts +0 -364
- package/src/webrtc/groupCall.ts +0 -1735
- package/src/webrtc/groupCallEventHandler.ts +0 -234
- package/src/webrtc/mediaHandler.ts +0 -484
- package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
- package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
- package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
- package/src/webrtc/stats/connectionStats.ts +0 -47
- package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
- package/src/webrtc/stats/groupCallStats.ts +0 -93
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
- package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
- package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
- package/src/webrtc/stats/statsReport.ts +0 -133
- package/src/webrtc/stats/statsReportEmitter.ts +0 -49
- package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
- package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
- package/src/webrtc/stats/transportStats.ts +0 -26
- package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
- package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -1,494 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Copyright 2018 - 2021 The Matrix.org Foundation C.I.C.
|
3
|
-
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
you may not use this file except in compliance with the License.
|
6
|
-
You may obtain a copy of the License at
|
7
|
-
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
See the License for the specific language governing permissions and
|
14
|
-
limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
/**
|
18
|
-
* Short Authentication String (SAS) verification.
|
19
|
-
*/
|
20
|
-
|
21
|
-
import anotherjson from "another-json";
|
22
|
-
import { Utility, SAS as OlmSAS } from "@matrix-org/olm";
|
23
|
-
|
24
|
-
import { VerificationBase as Base, SwitchStartEventError } from "./Base.ts";
|
25
|
-
import {
|
26
|
-
errorFactory,
|
27
|
-
newInvalidMessageError,
|
28
|
-
newKeyMismatchError,
|
29
|
-
newUnknownMethodError,
|
30
|
-
newUserCancelledError,
|
31
|
-
} from "./Error.ts";
|
32
|
-
import { logger } from "../../logger.ts";
|
33
|
-
import { IContent, MatrixEvent } from "../../models/event.ts";
|
34
|
-
import { generateDecimalSas } from "./SASDecimal.ts";
|
35
|
-
import { EventType } from "../../@types/event.ts";
|
36
|
-
import { EmojiMapping, GeneratedSas, ShowSasCallbacks, VerifierEvent } from "../../crypto-api/verification.ts";
|
37
|
-
import { VerificationMethod } from "../../types.ts";
|
38
|
-
|
39
|
-
// backwards-compatibility exports
|
40
|
-
export type {
|
41
|
-
ShowSasCallbacks as ISasEvent,
|
42
|
-
GeneratedSas as IGeneratedSas,
|
43
|
-
EmojiMapping,
|
44
|
-
} from "../../crypto-api/verification.ts";
|
45
|
-
|
46
|
-
const START_TYPE = EventType.KeyVerificationStart;
|
47
|
-
|
48
|
-
const EVENTS = [EventType.KeyVerificationAccept, EventType.KeyVerificationKey, EventType.KeyVerificationMac];
|
49
|
-
|
50
|
-
let olmutil: Utility;
|
51
|
-
|
52
|
-
const newMismatchedSASError = errorFactory("m.mismatched_sas", "Mismatched short authentication string");
|
53
|
-
|
54
|
-
const newMismatchedCommitmentError = errorFactory("m.mismatched_commitment", "Mismatched commitment");
|
55
|
-
|
56
|
-
// This list was generated from the data in the Matrix specification [1] with the following command:
|
57
|
-
//
|
58
|
-
// jq -r '.[] | " [\"" + .emoji + "\", \"" + (.description|ascii_downcase) + "\"], // " + (.number|tostring)' sas-emoji.json
|
59
|
-
//
|
60
|
-
// [1]: https://github.com/matrix-org/matrix-spec/blob/main/data-definitions/sas-emoji.json
|
61
|
-
const emojiMapping: EmojiMapping[] = [
|
62
|
-
["🐶", "dog"], // 0
|
63
|
-
["🐱", "cat"], // 1
|
64
|
-
["🦁", "lion"], // 2
|
65
|
-
["🐎", "horse"], // 3
|
66
|
-
["🦄", "unicorn"], // 4
|
67
|
-
["🐷", "pig"], // 5
|
68
|
-
["🐘", "elephant"], // 6
|
69
|
-
["🐰", "rabbit"], // 7
|
70
|
-
["🐼", "panda"], // 8
|
71
|
-
["🐓", "rooster"], // 9
|
72
|
-
["🐧", "penguin"], // 10
|
73
|
-
["🐢", "turtle"], // 11
|
74
|
-
["🐟", "fish"], // 12
|
75
|
-
["🐙", "octopus"], // 13
|
76
|
-
["🦋", "butterfly"], // 14
|
77
|
-
["🌷", "flower"], // 15
|
78
|
-
["🌳", "tree"], // 16
|
79
|
-
["🌵", "cactus"], // 17
|
80
|
-
["🍄", "mushroom"], // 18
|
81
|
-
["🌏", "globe"], // 19
|
82
|
-
["🌙", "moon"], // 20
|
83
|
-
["☁️", "cloud"], // 21
|
84
|
-
["🔥", "fire"], // 22
|
85
|
-
["🍌", "banana"], // 23
|
86
|
-
["🍎", "apple"], // 24
|
87
|
-
["🍓", "strawberry"], // 25
|
88
|
-
["🌽", "corn"], // 26
|
89
|
-
["🍕", "pizza"], // 27
|
90
|
-
["🎂", "cake"], // 28
|
91
|
-
["❤️", "heart"], // 29
|
92
|
-
["😀", "smiley"], // 30
|
93
|
-
["🤖", "robot"], // 31
|
94
|
-
["🎩", "hat"], // 32
|
95
|
-
["👓", "glasses"], // 33
|
96
|
-
["🔧", "spanner"], // 34
|
97
|
-
["🎅", "santa"], // 35
|
98
|
-
["👍", "thumbs up"], // 36
|
99
|
-
["☂️", "umbrella"], // 37
|
100
|
-
["⌛", "hourglass"], // 38
|
101
|
-
["⏰", "clock"], // 39
|
102
|
-
["🎁", "gift"], // 40
|
103
|
-
["💡", "light bulb"], // 41
|
104
|
-
["📕", "book"], // 42
|
105
|
-
["✏️", "pencil"], // 43
|
106
|
-
["📎", "paperclip"], // 44
|
107
|
-
["✂️", "scissors"], // 45
|
108
|
-
["🔒", "lock"], // 46
|
109
|
-
["🔑", "key"], // 47
|
110
|
-
["🔨", "hammer"], // 48
|
111
|
-
["☎️", "telephone"], // 49
|
112
|
-
["🏁", "flag"], // 50
|
113
|
-
["🚂", "train"], // 51
|
114
|
-
["🚲", "bicycle"], // 52
|
115
|
-
["✈️", "aeroplane"], // 53
|
116
|
-
["🚀", "rocket"], // 54
|
117
|
-
["🏆", "trophy"], // 55
|
118
|
-
["⚽", "ball"], // 56
|
119
|
-
["🎸", "guitar"], // 57
|
120
|
-
["🎺", "trumpet"], // 58
|
121
|
-
["🔔", "bell"], // 59
|
122
|
-
["⚓", "anchor"], // 60
|
123
|
-
["🎧", "headphones"], // 61
|
124
|
-
["📁", "folder"], // 62
|
125
|
-
["📌", "pin"], // 63
|
126
|
-
];
|
127
|
-
|
128
|
-
function generateEmojiSas(sasBytes: number[]): EmojiMapping[] {
|
129
|
-
const emojis = [
|
130
|
-
// just like base64 encoding
|
131
|
-
sasBytes[0] >> 2,
|
132
|
-
((sasBytes[0] & 0x3) << 4) | (sasBytes[1] >> 4),
|
133
|
-
((sasBytes[1] & 0xf) << 2) | (sasBytes[2] >> 6),
|
134
|
-
sasBytes[2] & 0x3f,
|
135
|
-
sasBytes[3] >> 2,
|
136
|
-
((sasBytes[3] & 0x3) << 4) | (sasBytes[4] >> 4),
|
137
|
-
((sasBytes[4] & 0xf) << 2) | (sasBytes[5] >> 6),
|
138
|
-
];
|
139
|
-
|
140
|
-
return emojis.map((num) => emojiMapping[num]);
|
141
|
-
}
|
142
|
-
|
143
|
-
const sasGenerators = {
|
144
|
-
decimal: generateDecimalSas,
|
145
|
-
emoji: generateEmojiSas,
|
146
|
-
} as const;
|
147
|
-
|
148
|
-
function generateSas(sasBytes: Uint8Array, methods: string[]): GeneratedSas {
|
149
|
-
const sas: GeneratedSas = {};
|
150
|
-
for (const method of methods) {
|
151
|
-
if (method in sasGenerators) {
|
152
|
-
// @ts-ignore - ts doesn't like us mixing types like this
|
153
|
-
sas[method] = sasGenerators[method](Array.from(sasBytes));
|
154
|
-
}
|
155
|
-
}
|
156
|
-
return sas;
|
157
|
-
}
|
158
|
-
|
159
|
-
const macMethods = {
|
160
|
-
"hkdf-hmac-sha256": "calculate_mac",
|
161
|
-
"org.matrix.msc3783.hkdf-hmac-sha256": "calculate_mac_fixed_base64",
|
162
|
-
"hkdf-hmac-sha256.v2": "calculate_mac_fixed_base64",
|
163
|
-
"hmac-sha256": "calculate_mac_long_kdf",
|
164
|
-
} as const;
|
165
|
-
|
166
|
-
type MacMethod = keyof typeof macMethods;
|
167
|
-
|
168
|
-
function calculateMAC(olmSAS: OlmSAS, method: MacMethod) {
|
169
|
-
return function (input: string, info: string): string {
|
170
|
-
const mac = olmSAS[macMethods[method]](input, info);
|
171
|
-
logger.log("SAS calculateMAC:", method, [input, info], mac);
|
172
|
-
return mac;
|
173
|
-
};
|
174
|
-
}
|
175
|
-
|
176
|
-
const calculateKeyAgreement = {
|
177
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
178
|
-
"curve25519-hkdf-sha256": function (sas: SAS, olmSAS: OlmSAS, bytes: number): Uint8Array {
|
179
|
-
const ourInfo = `${sas.baseApis.getUserId()}|${sas.baseApis.deviceId}|` + `${sas.ourSASPubKey}|`;
|
180
|
-
const theirInfo = `${sas.userId}|${sas.deviceId}|${sas.theirSASPubKey}|`;
|
181
|
-
const sasInfo =
|
182
|
-
"MATRIX_KEY_VERIFICATION_SAS|" +
|
183
|
-
(sas.initiatedByMe ? ourInfo + theirInfo : theirInfo + ourInfo) +
|
184
|
-
sas.channel.transactionId;
|
185
|
-
return olmSAS.generate_bytes(sasInfo, bytes);
|
186
|
-
},
|
187
|
-
"curve25519": function (sas: SAS, olmSAS: OlmSAS, bytes: number): Uint8Array {
|
188
|
-
const ourInfo = `${sas.baseApis.getUserId()}${sas.baseApis.deviceId}`;
|
189
|
-
const theirInfo = `${sas.userId}${sas.deviceId}`;
|
190
|
-
const sasInfo =
|
191
|
-
"MATRIX_KEY_VERIFICATION_SAS" +
|
192
|
-
(sas.initiatedByMe ? ourInfo + theirInfo : theirInfo + ourInfo) +
|
193
|
-
sas.channel.transactionId;
|
194
|
-
return olmSAS.generate_bytes(sasInfo, bytes);
|
195
|
-
},
|
196
|
-
} as const;
|
197
|
-
|
198
|
-
type KeyAgreement = keyof typeof calculateKeyAgreement;
|
199
|
-
|
200
|
-
/* lists of algorithms/methods that are supported. The key agreement, hashes,
|
201
|
-
* and MAC lists should be sorted in order of preference (most preferred
|
202
|
-
* first).
|
203
|
-
*/
|
204
|
-
const KEY_AGREEMENT_LIST: KeyAgreement[] = ["curve25519-hkdf-sha256", "curve25519"];
|
205
|
-
const HASHES_LIST = ["sha256"];
|
206
|
-
const MAC_LIST: MacMethod[] = [
|
207
|
-
"hkdf-hmac-sha256.v2",
|
208
|
-
"org.matrix.msc3783.hkdf-hmac-sha256",
|
209
|
-
"hkdf-hmac-sha256",
|
210
|
-
"hmac-sha256",
|
211
|
-
];
|
212
|
-
const SAS_LIST = Object.keys(sasGenerators);
|
213
|
-
|
214
|
-
const KEY_AGREEMENT_SET = new Set(KEY_AGREEMENT_LIST);
|
215
|
-
const HASHES_SET = new Set(HASHES_LIST);
|
216
|
-
const MAC_SET = new Set(MAC_LIST);
|
217
|
-
const SAS_SET = new Set(SAS_LIST);
|
218
|
-
|
219
|
-
function intersection<T>(anArray: T[], aSet: Set<T>): T[] {
|
220
|
-
return Array.isArray(anArray) ? anArray.filter((x) => aSet.has(x)) : [];
|
221
|
-
}
|
222
|
-
|
223
|
-
/** @deprecated use VerifierEvent */
|
224
|
-
export type SasEvent = VerifierEvent;
|
225
|
-
/** @deprecated use VerifierEvent */
|
226
|
-
export const SasEvent = VerifierEvent;
|
227
|
-
|
228
|
-
/** @deprecated Avoid referencing this class directly; instead use {@link Crypto.Verifier}. */
|
229
|
-
export class SAS extends Base {
|
230
|
-
private waitingForAccept?: boolean;
|
231
|
-
public ourSASPubKey?: string;
|
232
|
-
public theirSASPubKey?: string;
|
233
|
-
public sasEvent?: ShowSasCallbacks;
|
234
|
-
|
235
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
236
|
-
public static get NAME(): string {
|
237
|
-
return VerificationMethod.Sas;
|
238
|
-
}
|
239
|
-
|
240
|
-
public get events(): string[] {
|
241
|
-
return EVENTS;
|
242
|
-
}
|
243
|
-
|
244
|
-
protected doVerification = async (): Promise<void> => {
|
245
|
-
await globalThis.Olm.init();
|
246
|
-
olmutil = olmutil || new globalThis.Olm.Utility();
|
247
|
-
|
248
|
-
// make sure user's keys are downloaded
|
249
|
-
await this.baseApis.downloadKeys([this.userId]);
|
250
|
-
|
251
|
-
let retry = false;
|
252
|
-
do {
|
253
|
-
try {
|
254
|
-
if (this.initiatedByMe) {
|
255
|
-
return await this.doSendVerification();
|
256
|
-
} else {
|
257
|
-
return await this.doRespondVerification();
|
258
|
-
}
|
259
|
-
} catch (err) {
|
260
|
-
if (err instanceof SwitchStartEventError) {
|
261
|
-
// this changes what initiatedByMe returns
|
262
|
-
this.startEvent = err.startEvent;
|
263
|
-
retry = true;
|
264
|
-
} else {
|
265
|
-
throw err;
|
266
|
-
}
|
267
|
-
}
|
268
|
-
} while (retry);
|
269
|
-
};
|
270
|
-
|
271
|
-
public canSwitchStartEvent(event: MatrixEvent): boolean {
|
272
|
-
if (event.getType() !== START_TYPE) {
|
273
|
-
return false;
|
274
|
-
}
|
275
|
-
const content = event.getContent();
|
276
|
-
return content?.method === SAS.NAME && !!this.waitingForAccept;
|
277
|
-
}
|
278
|
-
|
279
|
-
private async sendStart(): Promise<Record<string, any>> {
|
280
|
-
const startContent = this.channel.completeContent(START_TYPE, {
|
281
|
-
method: SAS.NAME,
|
282
|
-
from_device: this.baseApis.deviceId,
|
283
|
-
key_agreement_protocols: KEY_AGREEMENT_LIST,
|
284
|
-
hashes: HASHES_LIST,
|
285
|
-
message_authentication_codes: MAC_LIST,
|
286
|
-
// FIXME: allow app to specify what SAS methods can be used
|
287
|
-
short_authentication_string: SAS_LIST,
|
288
|
-
});
|
289
|
-
await this.channel.sendCompleted(START_TYPE, startContent);
|
290
|
-
return startContent;
|
291
|
-
}
|
292
|
-
|
293
|
-
private async verifyAndCheckMAC(
|
294
|
-
keyAgreement: KeyAgreement,
|
295
|
-
sasMethods: string[],
|
296
|
-
olmSAS: OlmSAS,
|
297
|
-
macMethod: MacMethod,
|
298
|
-
): Promise<void> {
|
299
|
-
const sasBytes = calculateKeyAgreement[keyAgreement](this, olmSAS, 6);
|
300
|
-
const verifySAS = new Promise<void>((resolve, reject) => {
|
301
|
-
this.sasEvent = {
|
302
|
-
sas: generateSas(sasBytes, sasMethods),
|
303
|
-
confirm: async (): Promise<void> => {
|
304
|
-
try {
|
305
|
-
await this.sendMAC(olmSAS, macMethod);
|
306
|
-
resolve();
|
307
|
-
} catch (err) {
|
308
|
-
reject(err);
|
309
|
-
}
|
310
|
-
},
|
311
|
-
cancel: (): void => reject(newUserCancelledError()),
|
312
|
-
mismatch: (): void => reject(newMismatchedSASError()),
|
313
|
-
};
|
314
|
-
this.emit(SasEvent.ShowSas, this.sasEvent);
|
315
|
-
});
|
316
|
-
|
317
|
-
const [e] = await Promise.all([
|
318
|
-
this.waitForEvent(EventType.KeyVerificationMac).then((e) => {
|
319
|
-
// we don't expect any more messages from the other
|
320
|
-
// party, and they may send a m.key.verification.done
|
321
|
-
// when they're done on their end
|
322
|
-
this.expectedEvent = EventType.KeyVerificationDone;
|
323
|
-
return e;
|
324
|
-
}),
|
325
|
-
verifySAS,
|
326
|
-
]);
|
327
|
-
const content = e.getContent();
|
328
|
-
await this.checkMAC(olmSAS, content, macMethod);
|
329
|
-
}
|
330
|
-
|
331
|
-
private async doSendVerification(): Promise<void> {
|
332
|
-
this.waitingForAccept = true;
|
333
|
-
let startContent;
|
334
|
-
if (this.startEvent) {
|
335
|
-
startContent = this.channel.completedContentFromEvent(this.startEvent);
|
336
|
-
} else {
|
337
|
-
startContent = await this.sendStart();
|
338
|
-
}
|
339
|
-
|
340
|
-
// we might have switched to a different start event,
|
341
|
-
// but was we didn't call _waitForEvent there was no
|
342
|
-
// call that could throw yet. So check manually that
|
343
|
-
// we're still on the initiator side
|
344
|
-
if (!this.initiatedByMe) {
|
345
|
-
throw new SwitchStartEventError(this.startEvent);
|
346
|
-
}
|
347
|
-
|
348
|
-
let e: MatrixEvent;
|
349
|
-
try {
|
350
|
-
e = await this.waitForEvent(EventType.KeyVerificationAccept);
|
351
|
-
} finally {
|
352
|
-
this.waitingForAccept = false;
|
353
|
-
}
|
354
|
-
let content = e.getContent();
|
355
|
-
const sasMethods = intersection(content.short_authentication_string, SAS_SET);
|
356
|
-
if (
|
357
|
-
!(
|
358
|
-
KEY_AGREEMENT_SET.has(content.key_agreement_protocol) &&
|
359
|
-
HASHES_SET.has(content.hash) &&
|
360
|
-
MAC_SET.has(content.message_authentication_code) &&
|
361
|
-
sasMethods.length
|
362
|
-
)
|
363
|
-
) {
|
364
|
-
throw newUnknownMethodError();
|
365
|
-
}
|
366
|
-
if (typeof content.commitment !== "string") {
|
367
|
-
throw newInvalidMessageError();
|
368
|
-
}
|
369
|
-
const keyAgreement = content.key_agreement_protocol;
|
370
|
-
const macMethod = content.message_authentication_code;
|
371
|
-
const hashCommitment = content.commitment;
|
372
|
-
const olmSAS = new globalThis.Olm.SAS();
|
373
|
-
try {
|
374
|
-
this.ourSASPubKey = olmSAS.get_pubkey();
|
375
|
-
await this.send(EventType.KeyVerificationKey, {
|
376
|
-
key: this.ourSASPubKey,
|
377
|
-
});
|
378
|
-
|
379
|
-
e = await this.waitForEvent(EventType.KeyVerificationKey);
|
380
|
-
// FIXME: make sure event is properly formed
|
381
|
-
content = e.getContent();
|
382
|
-
const commitmentStr = content.key + anotherjson.stringify(startContent);
|
383
|
-
// TODO: use selected hash function (when we support multiple)
|
384
|
-
if (olmutil.sha256(commitmentStr) !== hashCommitment) {
|
385
|
-
throw newMismatchedCommitmentError();
|
386
|
-
}
|
387
|
-
this.theirSASPubKey = content.key;
|
388
|
-
olmSAS.set_their_key(content.key);
|
389
|
-
|
390
|
-
await this.verifyAndCheckMAC(keyAgreement, sasMethods, olmSAS, macMethod);
|
391
|
-
} finally {
|
392
|
-
olmSAS.free();
|
393
|
-
}
|
394
|
-
}
|
395
|
-
|
396
|
-
private async doRespondVerification(): Promise<void> {
|
397
|
-
// as m.related_to is not included in the encrypted content in e2e rooms,
|
398
|
-
// we need to make sure it is added
|
399
|
-
let content = this.channel.completedContentFromEvent(this.startEvent!);
|
400
|
-
|
401
|
-
// Note: we intersect using our pre-made lists, rather than the sets,
|
402
|
-
// so that the result will be in our order of preference. Then
|
403
|
-
// fetching the first element from the array will give our preferred
|
404
|
-
// method out of the ones offered by the other party.
|
405
|
-
const keyAgreement = intersection(KEY_AGREEMENT_LIST, new Set(content.key_agreement_protocols))[0];
|
406
|
-
const hashMethod = intersection(HASHES_LIST, new Set(content.hashes))[0];
|
407
|
-
const macMethod = intersection(MAC_LIST, new Set(content.message_authentication_codes))[0];
|
408
|
-
// FIXME: allow app to specify what SAS methods can be used
|
409
|
-
const sasMethods = intersection(content.short_authentication_string, SAS_SET);
|
410
|
-
if (!(keyAgreement !== undefined && hashMethod !== undefined && macMethod !== undefined && sasMethods.length)) {
|
411
|
-
throw newUnknownMethodError();
|
412
|
-
}
|
413
|
-
|
414
|
-
const olmSAS = new globalThis.Olm.SAS();
|
415
|
-
try {
|
416
|
-
const commitmentStr = olmSAS.get_pubkey() + anotherjson.stringify(content);
|
417
|
-
await this.send(EventType.KeyVerificationAccept, {
|
418
|
-
key_agreement_protocol: keyAgreement,
|
419
|
-
hash: hashMethod,
|
420
|
-
message_authentication_code: macMethod,
|
421
|
-
short_authentication_string: sasMethods,
|
422
|
-
// TODO: use selected hash function (when we support multiple)
|
423
|
-
commitment: olmutil.sha256(commitmentStr),
|
424
|
-
});
|
425
|
-
|
426
|
-
const e = await this.waitForEvent(EventType.KeyVerificationKey);
|
427
|
-
// FIXME: make sure event is properly formed
|
428
|
-
content = e.getContent();
|
429
|
-
this.theirSASPubKey = content.key;
|
430
|
-
olmSAS.set_their_key(content.key);
|
431
|
-
this.ourSASPubKey = olmSAS.get_pubkey();
|
432
|
-
await this.send(EventType.KeyVerificationKey, {
|
433
|
-
key: this.ourSASPubKey,
|
434
|
-
});
|
435
|
-
|
436
|
-
await this.verifyAndCheckMAC(keyAgreement, sasMethods, olmSAS, macMethod);
|
437
|
-
} finally {
|
438
|
-
olmSAS.free();
|
439
|
-
}
|
440
|
-
}
|
441
|
-
|
442
|
-
private sendMAC(olmSAS: OlmSAS, method: MacMethod): Promise<void> {
|
443
|
-
const mac: Record<string, string> = {};
|
444
|
-
const keyList: string[] = [];
|
445
|
-
const baseInfo =
|
446
|
-
"MATRIX_KEY_VERIFICATION_MAC" +
|
447
|
-
this.baseApis.getUserId() +
|
448
|
-
this.baseApis.deviceId +
|
449
|
-
this.userId +
|
450
|
-
this.deviceId +
|
451
|
-
this.channel.transactionId;
|
452
|
-
|
453
|
-
const deviceKeyId = `ed25519:${this.baseApis.deviceId}`;
|
454
|
-
mac[deviceKeyId] = calculateMAC(olmSAS, method)(this.baseApis.getDeviceEd25519Key()!, baseInfo + deviceKeyId);
|
455
|
-
keyList.push(deviceKeyId);
|
456
|
-
|
457
|
-
const crossSigningId = this.baseApis.getCrossSigningId();
|
458
|
-
if (crossSigningId) {
|
459
|
-
const crossSigningKeyId = `ed25519:${crossSigningId}`;
|
460
|
-
mac[crossSigningKeyId] = calculateMAC(olmSAS, method)(crossSigningId, baseInfo + crossSigningKeyId);
|
461
|
-
keyList.push(crossSigningKeyId);
|
462
|
-
}
|
463
|
-
|
464
|
-
const keys = calculateMAC(olmSAS, method)(keyList.sort().join(","), baseInfo + "KEY_IDS");
|
465
|
-
return this.send(EventType.KeyVerificationMac, { mac, keys });
|
466
|
-
}
|
467
|
-
|
468
|
-
private async checkMAC(olmSAS: OlmSAS, content: IContent, method: MacMethod): Promise<void> {
|
469
|
-
const baseInfo =
|
470
|
-
"MATRIX_KEY_VERIFICATION_MAC" +
|
471
|
-
this.userId +
|
472
|
-
this.deviceId +
|
473
|
-
this.baseApis.getUserId() +
|
474
|
-
this.baseApis.deviceId +
|
475
|
-
this.channel.transactionId;
|
476
|
-
|
477
|
-
if (
|
478
|
-
content.keys !==
|
479
|
-
calculateMAC(olmSAS, method)(Object.keys(content.mac).sort().join(","), baseInfo + "KEY_IDS")
|
480
|
-
) {
|
481
|
-
throw newKeyMismatchError();
|
482
|
-
}
|
483
|
-
|
484
|
-
await this.verifyKeys(this.userId, content.mac, (keyId, device, keyInfo) => {
|
485
|
-
if (keyInfo !== calculateMAC(olmSAS, method)(device.keys[keyId], baseInfo + keyId)) {
|
486
|
-
throw newKeyMismatchError();
|
487
|
-
}
|
488
|
-
});
|
489
|
-
}
|
490
|
-
|
491
|
-
public getShowSasCallbacks(): ShowSasCallbacks | null {
|
492
|
-
return this.sasEvent ?? null;
|
493
|
-
}
|
494
|
-
}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Copyright 2018 - 2022 The Matrix.org Foundation C.I.C.
|
3
|
-
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
you may not use this file except in compliance with the License.
|
6
|
-
You may obtain a copy of the License at
|
7
|
-
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
See the License for the specific language governing permissions and
|
14
|
-
limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
/**
|
18
|
-
* Implementation of decimal encoding of SAS as per:
|
19
|
-
* https://spec.matrix.org/v1.4/client-server-api/#sas-method-decimal
|
20
|
-
* @param sasBytes - the five bytes generated by HKDF
|
21
|
-
* @returns the derived three numbers between 1000 and 9191 inclusive
|
22
|
-
*/
|
23
|
-
export function generateDecimalSas(sasBytes: number[]): [number, number, number] {
|
24
|
-
/*
|
25
|
-
* +--------+--------+--------+--------+--------+
|
26
|
-
* | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 |
|
27
|
-
* +--------+--------+--------+--------+--------+
|
28
|
-
* bits: 87654321 87654321 87654321 87654321 87654321
|
29
|
-
* \____________/\_____________/\____________/
|
30
|
-
* 1st number 2nd number 3rd number
|
31
|
-
*/
|
32
|
-
return [
|
33
|
-
((sasBytes[0] << 5) | (sasBytes[1] >> 3)) + 1000,
|
34
|
-
(((sasBytes[1] & 0x7) << 10) | (sasBytes[2] << 2) | (sasBytes[3] >> 6)) + 1000,
|
35
|
-
(((sasBytes[3] & 0x3f) << 7) | (sasBytes[4] >> 1)) + 1000,
|
36
|
-
];
|
37
|
-
}
|
@@ -1,34 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Copyright 2021 The Matrix.org Foundation C.I.C.
|
3
|
-
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
you may not use this file except in compliance with the License.
|
6
|
-
You may obtain a copy of the License at
|
7
|
-
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
See the License for the specific language governing permissions and
|
14
|
-
limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
import { MatrixEvent } from "../../../models/event.ts";
|
18
|
-
import { VerificationRequest } from "./VerificationRequest.ts";
|
19
|
-
|
20
|
-
export interface IVerificationChannel {
|
21
|
-
request?: VerificationRequest;
|
22
|
-
readonly userId?: string;
|
23
|
-
readonly roomId?: string;
|
24
|
-
readonly deviceId?: string;
|
25
|
-
readonly transactionId?: string;
|
26
|
-
readonly receiveStartFromOtherDevices?: boolean;
|
27
|
-
getTimestamp(event: MatrixEvent): number;
|
28
|
-
send(type: string, uncompletedContent: Record<string, any>): Promise<void>;
|
29
|
-
completeContent(type: string, content: Record<string, any>): Record<string, any>;
|
30
|
-
sendCompleted(type: string, content: Record<string, any>): Promise<void>;
|
31
|
-
completedContentFromEvent(event: MatrixEvent): Record<string, any>;
|
32
|
-
canCreateRequest(type: string): boolean;
|
33
|
-
handleEvent(event: MatrixEvent, request: VerificationRequest, isLiveEvent: boolean): Promise<void>;
|
34
|
-
}
|