@unwanted/matrix-sdk-mini 34.12.0-2 → 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/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 -1176
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +346 -2717
- 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 -166
- 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 -19
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.js +1 -26
- 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/global.d.ts +0 -3
- package/src/browser-index.ts +0 -11
- package/src/client.ts +57 -2732
- package/src/embedded.ts +3 -130
- package/src/event-mapper.ts +0 -4
- package/src/matrix.ts +0 -28
- 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/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/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/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
@@ -1,35 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Error messages.
|
3
|
-
*/
|
4
|
-
import { MatrixEvent } from "../../models/event.ts";
|
5
|
-
export declare function newVerificationError(code: string, reason: string, extraData?: Record<string, any>): MatrixEvent;
|
6
|
-
export declare function errorFactory(code: string, reason: string): (extraData?: Record<string, any>) => MatrixEvent;
|
7
|
-
/**
|
8
|
-
* The verification was cancelled by the user.
|
9
|
-
*/
|
10
|
-
export declare const newUserCancelledError: (extraData?: Record<string, any>) => MatrixEvent;
|
11
|
-
/**
|
12
|
-
* The verification timed out.
|
13
|
-
*/
|
14
|
-
export declare const newTimeoutError: (extraData?: Record<string, any>) => MatrixEvent;
|
15
|
-
/**
|
16
|
-
* An unknown method was selected.
|
17
|
-
*/
|
18
|
-
export declare const newUnknownMethodError: (extraData?: Record<string, any>) => MatrixEvent;
|
19
|
-
/**
|
20
|
-
* An unexpected message was sent.
|
21
|
-
*/
|
22
|
-
export declare const newUnexpectedMessageError: (extraData?: Record<string, any>) => MatrixEvent;
|
23
|
-
/**
|
24
|
-
* The key does not match.
|
25
|
-
*/
|
26
|
-
export declare const newKeyMismatchError: (extraData?: Record<string, any>) => MatrixEvent;
|
27
|
-
/**
|
28
|
-
* An invalid message was sent.
|
29
|
-
*/
|
30
|
-
export declare const newInvalidMessageError: (extraData?: Record<string, any>) => MatrixEvent;
|
31
|
-
export declare function errorFromEvent(event: MatrixEvent): {
|
32
|
-
code: string;
|
33
|
-
reason: string;
|
34
|
-
};
|
35
|
-
//# sourceMappingURL=Error.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../../src/crypto/verification/Error.ts"],"names":[],"mappings":"AAgBA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,WAAW,CAM/G;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,WAAW,CAI3G;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,eATuC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,WASjB,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,eAAe,eAd6C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,WAc5B,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,qBAAqB,eAnBuC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,WAmBV,CAAC;AAExF;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAxBmC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,WAwBE,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,mBAAmB,eA7ByC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,WA6BhB,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAlCsC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,WAkCP,CAAC;AAE3F,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQnF"}
|
@@ -1,86 +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
|
-
* Error messages.
|
19
|
-
*/
|
20
|
-
|
21
|
-
import { MatrixEvent } from "../../models/event.js";
|
22
|
-
import { EventType } from "../../@types/event.js";
|
23
|
-
export function newVerificationError(code, reason, extraData) {
|
24
|
-
var content = Object.assign({}, {
|
25
|
-
code,
|
26
|
-
reason
|
27
|
-
}, extraData);
|
28
|
-
return new MatrixEvent({
|
29
|
-
type: EventType.KeyVerificationCancel,
|
30
|
-
content
|
31
|
-
});
|
32
|
-
}
|
33
|
-
export function errorFactory(code, reason) {
|
34
|
-
return function (extraData) {
|
35
|
-
return newVerificationError(code, reason, extraData);
|
36
|
-
};
|
37
|
-
}
|
38
|
-
|
39
|
-
/**
|
40
|
-
* The verification was cancelled by the user.
|
41
|
-
*/
|
42
|
-
export var newUserCancelledError = errorFactory("m.user", "Cancelled by user");
|
43
|
-
|
44
|
-
/**
|
45
|
-
* The verification timed out.
|
46
|
-
*/
|
47
|
-
export var newTimeoutError = errorFactory("m.timeout", "Timed out");
|
48
|
-
|
49
|
-
/**
|
50
|
-
* An unknown method was selected.
|
51
|
-
*/
|
52
|
-
export var newUnknownMethodError = errorFactory("m.unknown_method", "Unknown method");
|
53
|
-
|
54
|
-
/**
|
55
|
-
* An unexpected message was sent.
|
56
|
-
*/
|
57
|
-
export var newUnexpectedMessageError = errorFactory("m.unexpected_message", "Unexpected message");
|
58
|
-
|
59
|
-
/**
|
60
|
-
* The key does not match.
|
61
|
-
*/
|
62
|
-
export var newKeyMismatchError = errorFactory("m.key_mismatch", "Key mismatch");
|
63
|
-
|
64
|
-
/**
|
65
|
-
* An invalid message was sent.
|
66
|
-
*/
|
67
|
-
export var newInvalidMessageError = errorFactory("m.invalid_message", "Invalid message");
|
68
|
-
export function errorFromEvent(event) {
|
69
|
-
var content = event.getContent();
|
70
|
-
if (content) {
|
71
|
-
var {
|
72
|
-
code,
|
73
|
-
reason
|
74
|
-
} = content;
|
75
|
-
return {
|
76
|
-
code,
|
77
|
-
reason
|
78
|
-
};
|
79
|
-
} else {
|
80
|
-
return {
|
81
|
-
code: "Unknown error",
|
82
|
-
reason: "m.unknown"
|
83
|
-
};
|
84
|
-
}
|
85
|
-
}
|
86
|
-
//# sourceMappingURL=Error.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Error.js","names":["MatrixEvent","EventType","newVerificationError","code","reason","extraData","content","Object","assign","type","KeyVerificationCancel","errorFactory","newUserCancelledError","newTimeoutError","newUnknownMethodError","newUnexpectedMessageError","newKeyMismatchError","newInvalidMessageError","errorFromEvent","event","getContent"],"sources":["../../../src/crypto/verification/Error.ts"],"sourcesContent":["/*\nCopyright 2018 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Error messages.\n */\n\nimport { MatrixEvent } from \"../../models/event.ts\";\nimport { EventType } from \"../../@types/event.ts\";\n\nexport function newVerificationError(code: string, reason: string, extraData?: Record<string, any>): MatrixEvent {\n const content = Object.assign({}, { code, reason }, extraData);\n return new MatrixEvent({\n type: EventType.KeyVerificationCancel,\n content,\n });\n}\n\nexport function errorFactory(code: string, reason: string): (extraData?: Record<string, any>) => MatrixEvent {\n return function (extraData?: Record<string, any>) {\n return newVerificationError(code, reason, extraData);\n };\n}\n\n/**\n * The verification was cancelled by the user.\n */\nexport const newUserCancelledError = errorFactory(\"m.user\", \"Cancelled by user\");\n\n/**\n * The verification timed out.\n */\nexport const newTimeoutError = errorFactory(\"m.timeout\", \"Timed out\");\n\n/**\n * An unknown method was selected.\n */\nexport const newUnknownMethodError = errorFactory(\"m.unknown_method\", \"Unknown method\");\n\n/**\n * An unexpected message was sent.\n */\nexport const newUnexpectedMessageError = errorFactory(\"m.unexpected_message\", \"Unexpected message\");\n\n/**\n * The key does not match.\n */\nexport const newKeyMismatchError = errorFactory(\"m.key_mismatch\", \"Key mismatch\");\n\n/**\n * An invalid message was sent.\n */\nexport const newInvalidMessageError = errorFactory(\"m.invalid_message\", \"Invalid message\");\n\nexport function errorFromEvent(event: MatrixEvent): { code: string; reason: string } {\n const content = event.getContent();\n if (content) {\n const { code, reason } = content;\n return { code, reason };\n } else {\n return { code: \"Unknown error\", reason: \"m.unknown\" };\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,uBAAuB;AACnD,SAASC,SAAS,QAAQ,uBAAuB;AAEjD,OAAO,SAASC,oBAAoBA,CAACC,IAAY,EAAEC,MAAc,EAAEC,SAA+B,EAAe;EAC7G,IAAMC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE;IAAEL,IAAI;IAAEC;EAAO,CAAC,EAAEC,SAAS,CAAC;EAC9D,OAAO,IAAIL,WAAW,CAAC;IACnBS,IAAI,EAAER,SAAS,CAACS,qBAAqB;IACrCJ;EACJ,CAAC,CAAC;AACN;AAEA,OAAO,SAASK,YAAYA,CAACR,IAAY,EAAEC,MAAc,EAAoD;EACzG,OAAO,UAAUC,SAA+B,EAAE;IAC9C,OAAOH,oBAAoB,CAACC,IAAI,EAAEC,MAAM,EAAEC,SAAS,CAAC;EACxD,CAAC;AACL;;AAEA;AACA;AACA;AACA,OAAO,IAAMO,qBAAqB,GAAGD,YAAY,CAAC,QAAQ,EAAE,mBAAmB,CAAC;;AAEhF;AACA;AACA;AACA,OAAO,IAAME,eAAe,GAAGF,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;;AAErE;AACA;AACA;AACA,OAAO,IAAMG,qBAAqB,GAAGH,YAAY,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;;AAEvF;AACA;AACA;AACA,OAAO,IAAMI,yBAAyB,GAAGJ,YAAY,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;;AAEnG;AACA;AACA;AACA,OAAO,IAAMK,mBAAmB,GAAGL,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC;;AAEjF;AACA;AACA;AACA,OAAO,IAAMM,sBAAsB,GAAGN,YAAY,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;AAE1F,OAAO,SAASO,cAAcA,CAACC,KAAkB,EAAoC;EACjF,IAAMb,OAAO,GAAGa,KAAK,CAACC,UAAU,CAAC,CAAC;EAClC,IAAId,OAAO,EAAE;IACT,IAAM;MAAEH,IAAI;MAAEC;IAAO,CAAC,GAAGE,OAAO;IAChC,OAAO;MAAEH,IAAI;MAAEC;IAAO,CAAC;EAC3B,CAAC,MAAM;IACH,OAAO;MAAED,IAAI,EAAE,eAAe;MAAEC,MAAM,EAAE;IAAY,CAAC;EACzD;AACJ","ignoreList":[]}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Verification method that is illegal to have (cannot possibly
|
3
|
-
* do verification with this method).
|
4
|
-
*/
|
5
|
-
import { VerificationBase as Base, VerificationEvent, VerificationEventHandlerMap } from "./Base.ts";
|
6
|
-
import { IVerificationChannel } from "./request/Channel.ts";
|
7
|
-
import { MatrixClient } from "../../client.ts";
|
8
|
-
import { MatrixEvent } from "../../models/event.ts";
|
9
|
-
import { VerificationRequest } from "./request/VerificationRequest.ts";
|
10
|
-
export declare class IllegalMethod extends Base<VerificationEvent, VerificationEventHandlerMap> {
|
11
|
-
static factory(channel: IVerificationChannel, baseApis: MatrixClient, userId: string, deviceId: string, startEvent: MatrixEvent, request: VerificationRequest): IllegalMethod;
|
12
|
-
static get NAME(): string;
|
13
|
-
protected doVerification: () => Promise<void>;
|
14
|
-
}
|
15
|
-
//# sourceMappingURL=IllegalMethod.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"IllegalMethod.d.ts","sourceRoot":"","sources":["../../../src/crypto/verification/IllegalMethod.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,IAAI,IAAI,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,qBAAa,aAAc,SAAQ,IAAI,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;WACrE,OAAO,CACjB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,mBAAmB,GAC7B,aAAa;IAKhB,WAAkB,IAAI,IAAI,MAAM,CAI/B;IAED,SAAS,CAAC,cAAc,QAAa,OAAO,CAAC,IAAI,CAAC,CAEhD;CACL"}
|
@@ -1,43 +0,0 @@
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
|
-
/*
|
4
|
-
Copyright 2020 The Matrix.org Foundation C.I.C.
|
5
|
-
|
6
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
-
you may not use this file except in compliance with the License.
|
8
|
-
You may obtain a copy of the License at
|
9
|
-
|
10
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
|
12
|
-
Unless required by applicable law or agreed to in writing, software
|
13
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
-
See the License for the specific language governing permissions and
|
16
|
-
limitations under the License.
|
17
|
-
*/
|
18
|
-
|
19
|
-
/**
|
20
|
-
* Verification method that is illegal to have (cannot possibly
|
21
|
-
* do verification with this method).
|
22
|
-
*/
|
23
|
-
|
24
|
-
import { VerificationBase as Base } from "./Base.js";
|
25
|
-
export class IllegalMethod extends Base {
|
26
|
-
constructor() {
|
27
|
-
super(...arguments);
|
28
|
-
_defineProperty(this, "doVerification", /*#__PURE__*/_asyncToGenerator(function* () {
|
29
|
-
throw new Error("Verification is not possible with this method");
|
30
|
-
}));
|
31
|
-
}
|
32
|
-
static factory(channel, baseApis, userId, deviceId, startEvent, request) {
|
33
|
-
return new IllegalMethod(channel, baseApis, userId, deviceId, startEvent, request);
|
34
|
-
}
|
35
|
-
|
36
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
37
|
-
static get NAME() {
|
38
|
-
// Typically the name will be something else, but to complete
|
39
|
-
// the contract we offer a default one here.
|
40
|
-
return "org.matrix.illegal_method";
|
41
|
-
}
|
42
|
-
}
|
43
|
-
//# sourceMappingURL=IllegalMethod.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"IllegalMethod.js","names":["VerificationBase","Base","IllegalMethod","constructor","arguments","_defineProperty","_asyncToGenerator","Error","factory","channel","baseApis","userId","deviceId","startEvent","request","NAME"],"sources":["../../../src/crypto/verification/IllegalMethod.ts"],"sourcesContent":["/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Verification method that is illegal to have (cannot possibly\n * do verification with this method).\n */\n\nimport { VerificationBase as Base, VerificationEvent, VerificationEventHandlerMap } from \"./Base.ts\";\nimport { IVerificationChannel } from \"./request/Channel.ts\";\nimport { MatrixClient } from \"../../client.ts\";\nimport { MatrixEvent } from \"../../models/event.ts\";\nimport { VerificationRequest } from \"./request/VerificationRequest.ts\";\n\nexport class IllegalMethod extends Base<VerificationEvent, VerificationEventHandlerMap> {\n public static factory(\n channel: IVerificationChannel,\n baseApis: MatrixClient,\n userId: string,\n deviceId: string,\n startEvent: MatrixEvent,\n request: VerificationRequest,\n ): IllegalMethod {\n return new IllegalMethod(channel, baseApis, userId, deviceId, startEvent, request);\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public static get NAME(): string {\n // Typically the name will be something else, but to complete\n // the contract we offer a default one here.\n return \"org.matrix.illegal_method\";\n }\n\n protected doVerification = async (): Promise<void> => {\n throw new Error(\"Verification is not possible with this method\");\n };\n}\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAASA,gBAAgB,IAAIC,IAAI,QAAwD,WAAW;AAMpG,OAAO,MAAMC,aAAa,SAASD,IAAI,CAAiD;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,sCAAAC,iBAAA,CAmBzD,aAA2B;MAClD,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;IACpE,CAAC;EAAA;EApBD,OAAcC,OAAOA,CACjBC,OAA6B,EAC7BC,QAAsB,EACtBC,MAAc,EACdC,QAAgB,EAChBC,UAAuB,EACvBC,OAA4B,EACf;IACb,OAAO,IAAIZ,aAAa,CAACO,OAAO,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,OAAO,CAAC;EACtF;;EAEA;EACA,WAAkBC,IAAIA,CAAA,EAAW;IAC7B;IACA;IACA,OAAO,2BAA2B;EACtC;AAKJ","ignoreList":[]}
|
@@ -1,51 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* QR code key verification.
|
3
|
-
*/
|
4
|
-
import { VerificationBase as Base } from "./Base.ts";
|
5
|
-
import { VerificationRequest } from "./request/VerificationRequest.ts";
|
6
|
-
import { MatrixClient } from "../../client.ts";
|
7
|
-
import { IVerificationChannel } from "./request/Channel.ts";
|
8
|
-
import { MatrixEvent } from "../../models/event.ts";
|
9
|
-
import { ShowQrCodeCallbacks, VerifierEvent } from "../../crypto-api/verification.ts";
|
10
|
-
import { VerificationMethod } from "../../types.ts";
|
11
|
-
export declare const SHOW_QR_CODE_METHOD = VerificationMethod.ShowQrCode;
|
12
|
-
export declare const SCAN_QR_CODE_METHOD = VerificationMethod.ScanQrCode;
|
13
|
-
/** @deprecated use VerifierEvent */
|
14
|
-
export type QrCodeEvent = VerifierEvent;
|
15
|
-
/** @deprecated use VerifierEvent */
|
16
|
-
export declare const QrCodeEvent: typeof VerifierEvent;
|
17
|
-
/** @deprecated Avoid referencing this class directly; instead use {@link Crypto.Verifier}. */
|
18
|
-
export declare class ReciprocateQRCode extends Base {
|
19
|
-
reciprocateQREvent?: ShowQrCodeCallbacks;
|
20
|
-
static factory(channel: IVerificationChannel, baseApis: MatrixClient, userId: string, deviceId: string, startEvent: MatrixEvent, request: VerificationRequest): ReciprocateQRCode;
|
21
|
-
static get NAME(): string;
|
22
|
-
protected doVerification: () => Promise<void>;
|
23
|
-
getReciprocateQrCodeCallbacks(): ShowQrCodeCallbacks | null;
|
24
|
-
}
|
25
|
-
declare enum Mode {
|
26
|
-
VerifyOtherUser = 0,// Verifying someone who isn't us
|
27
|
-
VerifySelfTrusted = 1,// We trust the master key
|
28
|
-
VerifySelfUntrusted = 2
|
29
|
-
}
|
30
|
-
export declare class QRCodeData {
|
31
|
-
readonly mode: Mode;
|
32
|
-
private readonly sharedSecret;
|
33
|
-
readonly otherUserMasterKey: string | null;
|
34
|
-
readonly otherDeviceKey: string | null;
|
35
|
-
readonly myMasterKey: string | null;
|
36
|
-
private readonly buffer;
|
37
|
-
constructor(mode: Mode, sharedSecret: string, otherUserMasterKey: string | null, otherDeviceKey: string | null, myMasterKey: string | null, buffer: Buffer);
|
38
|
-
static create(request: VerificationRequest, client: MatrixClient): Promise<QRCodeData>;
|
39
|
-
/**
|
40
|
-
* The unpadded base64 encoded shared secret.
|
41
|
-
*/
|
42
|
-
get encodedSharedSecret(): string;
|
43
|
-
getBuffer(): Buffer;
|
44
|
-
private static generateSharedSecret;
|
45
|
-
private static getOtherDeviceKey;
|
46
|
-
private static determineMode;
|
47
|
-
private static generateQrData;
|
48
|
-
private static generateBuffer;
|
49
|
-
}
|
50
|
-
export {};
|
51
|
-
//# sourceMappingURL=QRCode.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"QRCode.d.ts","sourceRoot":"","sources":["../../../src/crypto/verification/QRCode.ts"],"names":[],"mappings":"AAgBA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAIrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AACjE,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AAEjE,oCAAoC;AACpC,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AACxC,oCAAoC;AACpC,eAAO,MAAM,WAAW,sBAAgB,CAAC;AAEzC,8FAA8F;AAC9F,qBAAa,iBAAkB,SAAQ,IAAI;IAChC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;WAElC,OAAO,CACjB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,mBAAmB,GAC7B,iBAAiB;IAKpB,WAAkB,IAAI,IAAI,MAAM,CAE/B;IAED,SAAS,CAAC,cAAc,QAAa,OAAO,CAAC,IAAI,CAAC,CA+DhD;IAEK,6BAA6B,IAAI,mBAAmB,GAAG,IAAI;CAGrE;AAKD,aAAK,IAAI;IACL,eAAe,IAAO,CAAE,iCAAiC;IACzD,iBAAiB,IAAO,CAAE,0BAA0B;IACpD,mBAAmB,IAAO;CAC7B;AAYD,qBAAa,UAAU;aAEC,IAAI,EAAE,IAAI;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;aAEb,kBAAkB,EAAE,MAAM,GAAG,IAAI;aAEjC,cAAc,EAAE,MAAM,GAAG,IAAI;aAE7B,WAAW,EAAE,MAAM,GAAG,IAAI;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBARP,IAAI,EAAE,IAAI,EACT,YAAY,EAAE,MAAM,EAErB,kBAAkB,EAAE,MAAM,GAAG,IAAI,EAEjC,cAAc,EAAE,MAAM,GAAG,IAAI,EAE7B,WAAW,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,MAAM;WAGf,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BnG;;OAEG;IACH,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IAEM,SAAS,IAAI,MAAM;IAI1B,OAAO,CAAC,MAAM,CAAC,oBAAoB;mBAMd,iBAAiB;IAUtC,OAAO,CAAC,MAAM,CAAC,aAAa;IAiB5B,OAAO,CAAC,MAAM,CAAC,cAAc;IAyC7B,OAAO,CAAC,MAAM,CAAC,cAAc;CAkChC"}
|
@@ -1,277 +0,0 @@
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
|
-
/*
|
4
|
-
Copyright 2018 - 2021 The Matrix.org Foundation C.I.C.
|
5
|
-
|
6
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
-
you may not use this file except in compliance with the License.
|
8
|
-
You may obtain a copy of the License at
|
9
|
-
|
10
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
|
12
|
-
Unless required by applicable law or agreed to in writing, software
|
13
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
-
See the License for the specific language governing permissions and
|
16
|
-
limitations under the License.
|
17
|
-
*/
|
18
|
-
|
19
|
-
/**
|
20
|
-
* QR code key verification.
|
21
|
-
*/
|
22
|
-
|
23
|
-
import { VerificationBase as Base } from "./Base.js";
|
24
|
-
import { newKeyMismatchError, newUserCancelledError } from "./Error.js";
|
25
|
-
import { decodeBase64, encodeUnpaddedBase64 } from "../../base64.js";
|
26
|
-
import { logger } from "../../logger.js";
|
27
|
-
import { VerifierEvent } from "../../crypto-api/verification.js";
|
28
|
-
import { VerificationMethod } from "../../types.js";
|
29
|
-
export var SHOW_QR_CODE_METHOD = VerificationMethod.ShowQrCode;
|
30
|
-
export var SCAN_QR_CODE_METHOD = VerificationMethod.ScanQrCode;
|
31
|
-
|
32
|
-
/** @deprecated use VerifierEvent */
|
33
|
-
|
34
|
-
/** @deprecated use VerifierEvent */
|
35
|
-
export var QrCodeEvent = VerifierEvent;
|
36
|
-
|
37
|
-
/** @deprecated Avoid referencing this class directly; instead use {@link Crypto.Verifier}. */
|
38
|
-
export class ReciprocateQRCode extends Base {
|
39
|
-
constructor() {
|
40
|
-
var _this;
|
41
|
-
super(...arguments);
|
42
|
-
_this = this;
|
43
|
-
_defineProperty(this, "reciprocateQREvent", void 0);
|
44
|
-
_defineProperty(this, "doVerification", /*#__PURE__*/_asyncToGenerator(function* () {
|
45
|
-
if (!_this.startEvent) {
|
46
|
-
// TODO: Support scanning QR codes
|
47
|
-
throw new Error("It is not currently possible to start verification" + "with this method yet.");
|
48
|
-
}
|
49
|
-
var {
|
50
|
-
qrCodeData
|
51
|
-
} = _this.request;
|
52
|
-
// 1. check the secret
|
53
|
-
if (_this.startEvent.getContent()["secret"] !== (qrCodeData === null || qrCodeData === void 0 ? void 0 : qrCodeData.encodedSharedSecret)) {
|
54
|
-
throw newKeyMismatchError();
|
55
|
-
}
|
56
|
-
|
57
|
-
// 2. ask if other user shows shield as well
|
58
|
-
yield new Promise((resolve, reject) => {
|
59
|
-
_this.reciprocateQREvent = {
|
60
|
-
confirm: resolve,
|
61
|
-
cancel: () => reject(newUserCancelledError())
|
62
|
-
};
|
63
|
-
_this.emit(QrCodeEvent.ShowReciprocateQr, _this.reciprocateQREvent);
|
64
|
-
});
|
65
|
-
|
66
|
-
// 3. determine key to sign / mark as trusted
|
67
|
-
var keys = {};
|
68
|
-
switch (qrCodeData === null || qrCodeData === void 0 ? void 0 : qrCodeData.mode) {
|
69
|
-
case Mode.VerifyOtherUser:
|
70
|
-
{
|
71
|
-
// add master key to keys to be signed, only if we're not doing self-verification
|
72
|
-
var masterKey = qrCodeData.otherUserMasterKey;
|
73
|
-
keys["ed25519:".concat(masterKey)] = masterKey;
|
74
|
-
break;
|
75
|
-
}
|
76
|
-
case Mode.VerifySelfTrusted:
|
77
|
-
{
|
78
|
-
var deviceId = _this.request.targetDevice.deviceId;
|
79
|
-
keys["ed25519:".concat(deviceId)] = qrCodeData.otherDeviceKey;
|
80
|
-
break;
|
81
|
-
}
|
82
|
-
case Mode.VerifySelfUntrusted:
|
83
|
-
{
|
84
|
-
var _masterKey = qrCodeData.myMasterKey;
|
85
|
-
keys["ed25519:".concat(_masterKey)] = _masterKey;
|
86
|
-
break;
|
87
|
-
}
|
88
|
-
}
|
89
|
-
|
90
|
-
// 4. sign the key (or mark own MSK as verified in case of MODE_VERIFY_SELF_TRUSTED)
|
91
|
-
yield _this.verifyKeys(_this.userId, keys, (keyId, device, keyInfo) => {
|
92
|
-
// make sure the device has the expected keys
|
93
|
-
var targetKey = keys[keyId];
|
94
|
-
if (!targetKey) throw newKeyMismatchError();
|
95
|
-
if (keyInfo !== targetKey) {
|
96
|
-
logger.error("key ID from key info does not match");
|
97
|
-
throw newKeyMismatchError();
|
98
|
-
}
|
99
|
-
for (var deviceKeyId in device.keys) {
|
100
|
-
if (!deviceKeyId.startsWith("ed25519")) continue;
|
101
|
-
var deviceTargetKey = keys[deviceKeyId];
|
102
|
-
if (!deviceTargetKey) throw newKeyMismatchError();
|
103
|
-
if (device.keys[deviceKeyId] !== deviceTargetKey) {
|
104
|
-
logger.error("master key does not match");
|
105
|
-
throw newKeyMismatchError();
|
106
|
-
}
|
107
|
-
}
|
108
|
-
});
|
109
|
-
}));
|
110
|
-
}
|
111
|
-
static factory(channel, baseApis, userId, deviceId, startEvent, request) {
|
112
|
-
return new ReciprocateQRCode(channel, baseApis, userId, deviceId, startEvent, request);
|
113
|
-
}
|
114
|
-
|
115
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
116
|
-
static get NAME() {
|
117
|
-
return "m.reciprocate.v1";
|
118
|
-
}
|
119
|
-
getReciprocateQrCodeCallbacks() {
|
120
|
-
var _this$reciprocateQREv;
|
121
|
-
return (_this$reciprocateQREv = this.reciprocateQREvent) !== null && _this$reciprocateQREv !== void 0 ? _this$reciprocateQREv : null;
|
122
|
-
}
|
123
|
-
}
|
124
|
-
var CODE_VERSION = 0x02; // the version of binary QR codes we support
|
125
|
-
var BINARY_PREFIX = "MATRIX"; // ASCII, used to prefix the binary format
|
126
|
-
var Mode = /*#__PURE__*/function (Mode) {
|
127
|
-
Mode[Mode["VerifyOtherUser"] = 0] = "VerifyOtherUser";
|
128
|
-
Mode[Mode["VerifySelfTrusted"] = 1] = "VerifySelfTrusted";
|
129
|
-
Mode[Mode["VerifySelfUntrusted"] = 2] = "VerifySelfUntrusted";
|
130
|
-
return Mode;
|
131
|
-
}(Mode || {}); // We do not trust the master key
|
132
|
-
export class QRCodeData {
|
133
|
-
constructor(mode, sharedSecret,
|
134
|
-
// only set when mode is MODE_VERIFY_OTHER_USER, master key of other party at time of generating QR code
|
135
|
-
otherUserMasterKey,
|
136
|
-
// only set when mode is MODE_VERIFY_SELF_TRUSTED, device key of other party at time of generating QR code
|
137
|
-
otherDeviceKey,
|
138
|
-
// only set when mode is MODE_VERIFY_SELF_UNTRUSTED, own master key at time of generating QR code
|
139
|
-
myMasterKey, buffer) {
|
140
|
-
this.mode = mode;
|
141
|
-
this.sharedSecret = sharedSecret;
|
142
|
-
this.otherUserMasterKey = otherUserMasterKey;
|
143
|
-
this.otherDeviceKey = otherDeviceKey;
|
144
|
-
this.myMasterKey = myMasterKey;
|
145
|
-
this.buffer = buffer;
|
146
|
-
}
|
147
|
-
static create(request, client) {
|
148
|
-
return _asyncToGenerator(function* () {
|
149
|
-
var sharedSecret = QRCodeData.generateSharedSecret();
|
150
|
-
var mode = QRCodeData.determineMode(request, client);
|
151
|
-
var otherUserMasterKey = null;
|
152
|
-
var otherDeviceKey = null;
|
153
|
-
var myMasterKey = null;
|
154
|
-
if (mode === Mode.VerifyOtherUser) {
|
155
|
-
var otherUserCrossSigningInfo = client.getStoredCrossSigningForUser(request.otherUserId);
|
156
|
-
otherUserMasterKey = otherUserCrossSigningInfo.getId("master");
|
157
|
-
} else if (mode === Mode.VerifySelfTrusted) {
|
158
|
-
otherDeviceKey = yield QRCodeData.getOtherDeviceKey(request, client);
|
159
|
-
} else if (mode === Mode.VerifySelfUntrusted) {
|
160
|
-
var myUserId = client.getUserId();
|
161
|
-
var myCrossSigningInfo = client.getStoredCrossSigningForUser(myUserId);
|
162
|
-
myMasterKey = myCrossSigningInfo.getId("master");
|
163
|
-
}
|
164
|
-
var qrData = QRCodeData.generateQrData(request, client, mode, sharedSecret, otherUserMasterKey, otherDeviceKey, myMasterKey);
|
165
|
-
var buffer = QRCodeData.generateBuffer(qrData);
|
166
|
-
return new QRCodeData(mode, sharedSecret, otherUserMasterKey, otherDeviceKey, myMasterKey, buffer);
|
167
|
-
})();
|
168
|
-
}
|
169
|
-
|
170
|
-
/**
|
171
|
-
* The unpadded base64 encoded shared secret.
|
172
|
-
*/
|
173
|
-
get encodedSharedSecret() {
|
174
|
-
return this.sharedSecret;
|
175
|
-
}
|
176
|
-
getBuffer() {
|
177
|
-
return this.buffer;
|
178
|
-
}
|
179
|
-
static generateSharedSecret() {
|
180
|
-
var secretBytes = new Uint8Array(11);
|
181
|
-
globalThis.crypto.getRandomValues(secretBytes);
|
182
|
-
return encodeUnpaddedBase64(secretBytes);
|
183
|
-
}
|
184
|
-
static getOtherDeviceKey(request, client) {
|
185
|
-
return _asyncToGenerator(function* () {
|
186
|
-
var myUserId = client.getUserId();
|
187
|
-
var otherDevice = request.targetDevice;
|
188
|
-
var device = otherDevice.deviceId ? client.getStoredDevice(myUserId, otherDevice.deviceId) : undefined;
|
189
|
-
if (!device) {
|
190
|
-
throw new Error("could not find device " + (otherDevice === null || otherDevice === void 0 ? void 0 : otherDevice.deviceId));
|
191
|
-
}
|
192
|
-
return device.getFingerprint();
|
193
|
-
})();
|
194
|
-
}
|
195
|
-
static determineMode(request, client) {
|
196
|
-
var myUserId = client.getUserId();
|
197
|
-
var otherUserId = request.otherUserId;
|
198
|
-
var mode = Mode.VerifyOtherUser;
|
199
|
-
if (myUserId === otherUserId) {
|
200
|
-
// Mode changes depending on whether or not we trust the master cross signing key
|
201
|
-
var myTrust = client.checkUserTrust(myUserId);
|
202
|
-
if (myTrust.isCrossSigningVerified()) {
|
203
|
-
mode = Mode.VerifySelfTrusted;
|
204
|
-
} else {
|
205
|
-
mode = Mode.VerifySelfUntrusted;
|
206
|
-
}
|
207
|
-
}
|
208
|
-
return mode;
|
209
|
-
}
|
210
|
-
static generateQrData(request, client, mode, encodedSharedSecret, otherUserMasterKey, otherDeviceKey, myMasterKey) {
|
211
|
-
var myUserId = client.getUserId();
|
212
|
-
var transactionId = request.channel.transactionId;
|
213
|
-
var qrData = {
|
214
|
-
prefix: BINARY_PREFIX,
|
215
|
-
version: CODE_VERSION,
|
216
|
-
mode,
|
217
|
-
transactionId,
|
218
|
-
firstKeyB64: "",
|
219
|
-
// worked out shortly
|
220
|
-
secondKeyB64: "",
|
221
|
-
// worked out shortly
|
222
|
-
secretB64: encodedSharedSecret
|
223
|
-
};
|
224
|
-
var myCrossSigningInfo = client.getStoredCrossSigningForUser(myUserId);
|
225
|
-
if (mode === Mode.VerifyOtherUser) {
|
226
|
-
// First key is our master cross signing key
|
227
|
-
qrData.firstKeyB64 = myCrossSigningInfo.getId("master");
|
228
|
-
// Second key is the other user's master cross signing key
|
229
|
-
qrData.secondKeyB64 = otherUserMasterKey;
|
230
|
-
} else if (mode === Mode.VerifySelfTrusted) {
|
231
|
-
// First key is our master cross signing key
|
232
|
-
qrData.firstKeyB64 = myCrossSigningInfo.getId("master");
|
233
|
-
qrData.secondKeyB64 = otherDeviceKey;
|
234
|
-
} else if (mode === Mode.VerifySelfUntrusted) {
|
235
|
-
// First key is our device's key
|
236
|
-
qrData.firstKeyB64 = client.getDeviceEd25519Key();
|
237
|
-
// Second key is what we think our master cross signing key is
|
238
|
-
qrData.secondKeyB64 = myMasterKey;
|
239
|
-
}
|
240
|
-
return qrData;
|
241
|
-
}
|
242
|
-
static generateBuffer(qrData) {
|
243
|
-
var buf = Buffer.alloc(0); // we'll concat our way through life
|
244
|
-
|
245
|
-
var appendByte = b => {
|
246
|
-
var tmpBuf = Buffer.from([b]);
|
247
|
-
buf = Buffer.concat([buf, tmpBuf]);
|
248
|
-
};
|
249
|
-
var appendInt = i => {
|
250
|
-
var tmpBuf = Buffer.alloc(2);
|
251
|
-
tmpBuf.writeInt16BE(i, 0);
|
252
|
-
buf = Buffer.concat([buf, tmpBuf]);
|
253
|
-
};
|
254
|
-
var appendStr = function appendStr(s, enc) {
|
255
|
-
var withLengthPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
256
|
-
var tmpBuf = Buffer.from(s, enc);
|
257
|
-
if (withLengthPrefix) appendInt(tmpBuf.byteLength);
|
258
|
-
buf = Buffer.concat([buf, tmpBuf]);
|
259
|
-
};
|
260
|
-
var appendEncBase64 = b64 => {
|
261
|
-
var b = decodeBase64(b64);
|
262
|
-
var tmpBuf = Buffer.from(b);
|
263
|
-
buf = Buffer.concat([buf, tmpBuf]);
|
264
|
-
};
|
265
|
-
|
266
|
-
// Actually build the buffer for the QR code
|
267
|
-
appendStr(qrData.prefix, "ascii", false);
|
268
|
-
appendByte(qrData.version);
|
269
|
-
appendByte(qrData.mode);
|
270
|
-
appendStr(qrData.transactionId, "utf-8");
|
271
|
-
appendEncBase64(qrData.firstKeyB64);
|
272
|
-
appendEncBase64(qrData.secondKeyB64);
|
273
|
-
appendEncBase64(qrData.secretB64);
|
274
|
-
return buf;
|
275
|
-
}
|
276
|
-
}
|
277
|
-
//# sourceMappingURL=QRCode.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"QRCode.js","names":["VerificationBase","Base","newKeyMismatchError","newUserCancelledError","decodeBase64","encodeUnpaddedBase64","logger","VerifierEvent","VerificationMethod","SHOW_QR_CODE_METHOD","ShowQrCode","SCAN_QR_CODE_METHOD","ScanQrCode","QrCodeEvent","ReciprocateQRCode","constructor","_this","arguments","this","_defineProperty","_asyncToGenerator","startEvent","Error","qrCodeData","request","getContent","encodedSharedSecret","Promise","resolve","reject","reciprocateQREvent","confirm","cancel","emit","ShowReciprocateQr","keys","mode","Mode","VerifyOtherUser","masterKey","otherUserMasterKey","concat","VerifySelfTrusted","deviceId","targetDevice","otherDeviceKey","VerifySelfUntrusted","myMasterKey","verifyKeys","userId","keyId","device","keyInfo","targetKey","error","deviceKeyId","startsWith","deviceTargetKey","factory","channel","baseApis","NAME","getReciprocateQrCodeCallbacks","_this$reciprocateQREv","CODE_VERSION","BINARY_PREFIX","QRCodeData","sharedSecret","buffer","create","client","generateSharedSecret","determineMode","otherUserCrossSigningInfo","getStoredCrossSigningForUser","otherUserId","getId","getOtherDeviceKey","myUserId","getUserId","myCrossSigningInfo","qrData","generateQrData","generateBuffer","getBuffer","secretBytes","Uint8Array","globalThis","crypto","getRandomValues","otherDevice","getStoredDevice","undefined","getFingerprint","myTrust","checkUserTrust","isCrossSigningVerified","transactionId","prefix","version","firstKeyB64","secondKeyB64","secretB64","getDeviceEd25519Key","buf","Buffer","alloc","appendByte","b","tmpBuf","from","appendInt","i","writeInt16BE","appendStr","s","enc","withLengthPrefix","length","byteLength","appendEncBase64","b64"],"sources":["../../../src/crypto/verification/QRCode.ts"],"sourcesContent":["/*\nCopyright 2018 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * QR code key verification.\n */\n\nimport { VerificationBase as Base } from \"./Base.ts\";\nimport { newKeyMismatchError, newUserCancelledError } from \"./Error.ts\";\nimport { decodeBase64, encodeUnpaddedBase64 } from \"../../base64.ts\";\nimport { logger } from \"../../logger.ts\";\nimport { VerificationRequest } from \"./request/VerificationRequest.ts\";\nimport { MatrixClient } from \"../../client.ts\";\nimport { IVerificationChannel } from \"./request/Channel.ts\";\nimport { MatrixEvent } from \"../../models/event.ts\";\nimport { ShowQrCodeCallbacks, VerifierEvent } from \"../../crypto-api/verification.ts\";\nimport { VerificationMethod } from \"../../types.ts\";\n\nexport const SHOW_QR_CODE_METHOD = VerificationMethod.ShowQrCode;\nexport const SCAN_QR_CODE_METHOD = VerificationMethod.ScanQrCode;\n\n/** @deprecated use VerifierEvent */\nexport type QrCodeEvent = VerifierEvent;\n/** @deprecated use VerifierEvent */\nexport const QrCodeEvent = VerifierEvent;\n\n/** @deprecated Avoid referencing this class directly; instead use {@link Crypto.Verifier}. */\nexport class ReciprocateQRCode extends Base {\n public reciprocateQREvent?: ShowQrCodeCallbacks;\n\n public static factory(\n channel: IVerificationChannel,\n baseApis: MatrixClient,\n userId: string,\n deviceId: string,\n startEvent: MatrixEvent,\n request: VerificationRequest,\n ): ReciprocateQRCode {\n return new ReciprocateQRCode(channel, baseApis, userId, deviceId, startEvent, request);\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public static get NAME(): string {\n return \"m.reciprocate.v1\";\n }\n\n protected doVerification = async (): Promise<void> => {\n if (!this.startEvent) {\n // TODO: Support scanning QR codes\n throw new Error(\"It is not currently possible to start verification\" + \"with this method yet.\");\n }\n\n const { qrCodeData } = this.request;\n // 1. check the secret\n if (this.startEvent.getContent()[\"secret\"] !== qrCodeData?.encodedSharedSecret) {\n throw newKeyMismatchError();\n }\n\n // 2. ask if other user shows shield as well\n await new Promise<void>((resolve, reject) => {\n this.reciprocateQREvent = {\n confirm: resolve,\n cancel: (): void => reject(newUserCancelledError()),\n };\n this.emit(QrCodeEvent.ShowReciprocateQr, this.reciprocateQREvent);\n });\n\n // 3. determine key to sign / mark as trusted\n const keys: Record<string, string> = {};\n\n switch (qrCodeData?.mode) {\n case Mode.VerifyOtherUser: {\n // add master key to keys to be signed, only if we're not doing self-verification\n const masterKey = qrCodeData.otherUserMasterKey;\n keys[`ed25519:${masterKey}`] = masterKey!;\n break;\n }\n case Mode.VerifySelfTrusted: {\n const deviceId = this.request.targetDevice.deviceId;\n keys[`ed25519:${deviceId}`] = qrCodeData.otherDeviceKey!;\n break;\n }\n case Mode.VerifySelfUntrusted: {\n const masterKey = qrCodeData.myMasterKey;\n keys[`ed25519:${masterKey}`] = masterKey!;\n break;\n }\n }\n\n // 4. sign the key (or mark own MSK as verified in case of MODE_VERIFY_SELF_TRUSTED)\n await this.verifyKeys(this.userId, keys, (keyId, device, keyInfo) => {\n // make sure the device has the expected keys\n const targetKey = keys[keyId];\n if (!targetKey) throw newKeyMismatchError();\n\n if (keyInfo !== targetKey) {\n logger.error(\"key ID from key info does not match\");\n throw newKeyMismatchError();\n }\n for (const deviceKeyId in device.keys) {\n if (!deviceKeyId.startsWith(\"ed25519\")) continue;\n const deviceTargetKey = keys[deviceKeyId];\n if (!deviceTargetKey) throw newKeyMismatchError();\n if (device.keys[deviceKeyId] !== deviceTargetKey) {\n logger.error(\"master key does not match\");\n throw newKeyMismatchError();\n }\n }\n });\n };\n\n public getReciprocateQrCodeCallbacks(): ShowQrCodeCallbacks | null {\n return this.reciprocateQREvent ?? null;\n }\n}\n\nconst CODE_VERSION = 0x02; // the version of binary QR codes we support\nconst BINARY_PREFIX = \"MATRIX\"; // ASCII, used to prefix the binary format\n\nenum Mode {\n VerifyOtherUser = 0x00, // Verifying someone who isn't us\n VerifySelfTrusted = 0x01, // We trust the master key\n VerifySelfUntrusted = 0x02, // We do not trust the master key\n}\n\ninterface IQrData {\n prefix: string;\n version: number;\n mode: Mode;\n transactionId?: string;\n firstKeyB64: string;\n secondKeyB64: string;\n secretB64: string;\n}\n\nexport class QRCodeData {\n public constructor(\n public readonly mode: Mode,\n private readonly sharedSecret: string,\n // only set when mode is MODE_VERIFY_OTHER_USER, master key of other party at time of generating QR code\n public readonly otherUserMasterKey: string | null,\n // only set when mode is MODE_VERIFY_SELF_TRUSTED, device key of other party at time of generating QR code\n public readonly otherDeviceKey: string | null,\n // only set when mode is MODE_VERIFY_SELF_UNTRUSTED, own master key at time of generating QR code\n public readonly myMasterKey: string | null,\n private readonly buffer: Buffer,\n ) {}\n\n public static async create(request: VerificationRequest, client: MatrixClient): Promise<QRCodeData> {\n const sharedSecret = QRCodeData.generateSharedSecret();\n const mode = QRCodeData.determineMode(request, client);\n let otherUserMasterKey: string | null = null;\n let otherDeviceKey: string | null = null;\n let myMasterKey: string | null = null;\n if (mode === Mode.VerifyOtherUser) {\n const otherUserCrossSigningInfo = client.getStoredCrossSigningForUser(request.otherUserId);\n otherUserMasterKey = otherUserCrossSigningInfo!.getId(\"master\");\n } else if (mode === Mode.VerifySelfTrusted) {\n otherDeviceKey = await QRCodeData.getOtherDeviceKey(request, client);\n } else if (mode === Mode.VerifySelfUntrusted) {\n const myUserId = client.getUserId()!;\n const myCrossSigningInfo = client.getStoredCrossSigningForUser(myUserId);\n myMasterKey = myCrossSigningInfo!.getId(\"master\");\n }\n const qrData = QRCodeData.generateQrData(\n request,\n client,\n mode,\n sharedSecret,\n otherUserMasterKey!,\n otherDeviceKey!,\n myMasterKey!,\n );\n const buffer = QRCodeData.generateBuffer(qrData);\n return new QRCodeData(mode, sharedSecret, otherUserMasterKey, otherDeviceKey, myMasterKey, buffer);\n }\n\n /**\n * The unpadded base64 encoded shared secret.\n */\n public get encodedSharedSecret(): string {\n return this.sharedSecret;\n }\n\n public getBuffer(): Buffer {\n return this.buffer;\n }\n\n private static generateSharedSecret(): string {\n const secretBytes = new Uint8Array(11);\n globalThis.crypto.getRandomValues(secretBytes);\n return encodeUnpaddedBase64(secretBytes);\n }\n\n private static async getOtherDeviceKey(request: VerificationRequest, client: MatrixClient): Promise<string> {\n const myUserId = client.getUserId()!;\n const otherDevice = request.targetDevice;\n const device = otherDevice.deviceId ? client.getStoredDevice(myUserId, otherDevice.deviceId) : undefined;\n if (!device) {\n throw new Error(\"could not find device \" + otherDevice?.deviceId);\n }\n return device.getFingerprint();\n }\n\n private static determineMode(request: VerificationRequest, client: MatrixClient): Mode {\n const myUserId = client.getUserId();\n const otherUserId = request.otherUserId;\n\n let mode = Mode.VerifyOtherUser;\n if (myUserId === otherUserId) {\n // Mode changes depending on whether or not we trust the master cross signing key\n const myTrust = client.checkUserTrust(myUserId);\n if (myTrust.isCrossSigningVerified()) {\n mode = Mode.VerifySelfTrusted;\n } else {\n mode = Mode.VerifySelfUntrusted;\n }\n }\n return mode;\n }\n\n private static generateQrData(\n request: VerificationRequest,\n client: MatrixClient,\n mode: Mode,\n encodedSharedSecret: string,\n otherUserMasterKey?: string,\n otherDeviceKey?: string,\n myMasterKey?: string,\n ): IQrData {\n const myUserId = client.getUserId()!;\n const transactionId = request.channel.transactionId;\n const qrData: IQrData = {\n prefix: BINARY_PREFIX,\n version: CODE_VERSION,\n mode,\n transactionId,\n firstKeyB64: \"\", // worked out shortly\n secondKeyB64: \"\", // worked out shortly\n secretB64: encodedSharedSecret,\n };\n\n const myCrossSigningInfo = client.getStoredCrossSigningForUser(myUserId);\n\n if (mode === Mode.VerifyOtherUser) {\n // First key is our master cross signing key\n qrData.firstKeyB64 = myCrossSigningInfo!.getId(\"master\")!;\n // Second key is the other user's master cross signing key\n qrData.secondKeyB64 = otherUserMasterKey!;\n } else if (mode === Mode.VerifySelfTrusted) {\n // First key is our master cross signing key\n qrData.firstKeyB64 = myCrossSigningInfo!.getId(\"master\")!;\n qrData.secondKeyB64 = otherDeviceKey!;\n } else if (mode === Mode.VerifySelfUntrusted) {\n // First key is our device's key\n qrData.firstKeyB64 = client.getDeviceEd25519Key()!;\n // Second key is what we think our master cross signing key is\n qrData.secondKeyB64 = myMasterKey!;\n }\n return qrData;\n }\n\n private static generateBuffer(qrData: IQrData): Buffer {\n let buf = Buffer.alloc(0); // we'll concat our way through life\n\n const appendByte = (b: number): void => {\n const tmpBuf = Buffer.from([b]);\n buf = Buffer.concat([buf, tmpBuf]);\n };\n const appendInt = (i: number): void => {\n const tmpBuf = Buffer.alloc(2);\n tmpBuf.writeInt16BE(i, 0);\n buf = Buffer.concat([buf, tmpBuf]);\n };\n const appendStr = (s: string, enc: BufferEncoding, withLengthPrefix = true): void => {\n const tmpBuf = Buffer.from(s, enc);\n if (withLengthPrefix) appendInt(tmpBuf.byteLength);\n buf = Buffer.concat([buf, tmpBuf]);\n };\n const appendEncBase64 = (b64: string): void => {\n const b = decodeBase64(b64);\n const tmpBuf = Buffer.from(b);\n buf = Buffer.concat([buf, tmpBuf]);\n };\n\n // Actually build the buffer for the QR code\n appendStr(qrData.prefix, \"ascii\", false);\n appendByte(qrData.version);\n appendByte(qrData.mode);\n appendStr(qrData.transactionId!, \"utf-8\");\n appendEncBase64(qrData.firstKeyB64);\n appendEncBase64(qrData.secondKeyB64);\n appendEncBase64(qrData.secretB64);\n\n return buf;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,27 +0,0 @@
|
|
1
|
-
import { VerificationBase as Base } from "./Base.ts";
|
2
|
-
import { MatrixEvent } from "../../models/event.ts";
|
3
|
-
import { ShowSasCallbacks, VerifierEvent } from "../../crypto-api/verification.ts";
|
4
|
-
export type { ShowSasCallbacks as ISasEvent, GeneratedSas as IGeneratedSas, EmojiMapping, } from "../../crypto-api/verification.ts";
|
5
|
-
/** @deprecated use VerifierEvent */
|
6
|
-
export type SasEvent = VerifierEvent;
|
7
|
-
/** @deprecated use VerifierEvent */
|
8
|
-
export declare const SasEvent: typeof VerifierEvent;
|
9
|
-
/** @deprecated Avoid referencing this class directly; instead use {@link Crypto.Verifier}. */
|
10
|
-
export declare class SAS extends Base {
|
11
|
-
private waitingForAccept?;
|
12
|
-
ourSASPubKey?: string;
|
13
|
-
theirSASPubKey?: string;
|
14
|
-
sasEvent?: ShowSasCallbacks;
|
15
|
-
static get NAME(): string;
|
16
|
-
get events(): string[];
|
17
|
-
protected doVerification: () => Promise<void>;
|
18
|
-
canSwitchStartEvent(event: MatrixEvent): boolean;
|
19
|
-
private sendStart;
|
20
|
-
private verifyAndCheckMAC;
|
21
|
-
private doSendVerification;
|
22
|
-
private doRespondVerification;
|
23
|
-
private sendMAC;
|
24
|
-
private checkMAC;
|
25
|
-
getShowSasCallbacks(): ShowSasCallbacks | null;
|
26
|
-
}
|
27
|
-
//# sourceMappingURL=SAS.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SAS.d.ts","sourceRoot":"","sources":["../../../src/crypto/verification/SAS.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,gBAAgB,IAAI,IAAI,EAAyB,MAAM,WAAW,CAAC;AAS5E,OAAO,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,EAA8B,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAI/G,YAAY,EACR,gBAAgB,IAAI,SAAS,EAC7B,YAAY,IAAI,aAAa,EAC7B,YAAY,GACf,MAAM,kCAAkC,CAAC;AAmL1C,oCAAoC;AACpC,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC;AACrC,oCAAoC;AACpC,eAAO,MAAM,QAAQ,sBAAgB,CAAC;AAEtC,8FAA8F;AAC9F,qBAAa,GAAI,SAAQ,IAAI;IACzB,OAAO,CAAC,gBAAgB,CAAC,CAAU;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAGnC,WAAkB,IAAI,IAAI,MAAM,CAE/B;IAED,IAAW,MAAM,IAAI,MAAM,EAAE,CAE5B;IAED,SAAS,CAAC,cAAc,QAAa,OAAO,CAAC,IAAI,CAAC,CAyBhD;IAEK,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;YAQzC,SAAS;YAcT,iBAAiB;YAsCjB,kBAAkB;YAiElB,qBAAqB;IA8CnC,OAAO,CAAC,OAAO;YA0BD,QAAQ;IAuBf,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;CAGxD"}
|