@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.
Files changed (467) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/global.d.js +0 -2
  3. package/lib/@types/global.d.js.map +1 -1
  4. package/lib/browser-index.d.ts.map +1 -1
  5. package/lib/browser-index.js +0 -11
  6. package/lib/browser-index.js.map +1 -1
  7. package/lib/client.d.ts +2 -1176
  8. package/lib/client.d.ts.map +1 -1
  9. package/lib/client.js +346 -2717
  10. package/lib/client.js.map +1 -1
  11. package/lib/embedded.d.ts +0 -22
  12. package/lib/embedded.d.ts.map +1 -1
  13. package/lib/embedded.js +24 -166
  14. package/lib/embedded.js.map +1 -1
  15. package/lib/event-mapper.d.ts.map +1 -1
  16. package/lib/event-mapper.js +0 -4
  17. package/lib/event-mapper.js.map +1 -1
  18. package/lib/matrix.d.ts +0 -19
  19. package/lib/matrix.d.ts.map +1 -1
  20. package/lib/matrix.js +1 -26
  21. package/lib/matrix.js.map +1 -1
  22. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  23. package/lib/models/MSC3089Branch.js +0 -3
  24. package/lib/models/MSC3089Branch.js.map +1 -1
  25. package/lib/models/event.d.ts +0 -94
  26. package/lib/models/event.d.ts.map +1 -1
  27. package/lib/models/event.js +0 -274
  28. package/lib/models/event.js.map +1 -1
  29. package/lib/models/poll.d.ts.map +1 -1
  30. package/lib/models/poll.js +1 -5
  31. package/lib/models/poll.js.map +1 -1
  32. package/lib/models/relations-container.d.ts.map +1 -1
  33. package/lib/models/relations-container.js +1 -7
  34. package/lib/models/relations-container.js.map +1 -1
  35. package/lib/models/relations.d.ts +0 -1
  36. package/lib/models/relations.d.ts.map +1 -1
  37. package/lib/models/relations.js +0 -8
  38. package/lib/models/relations.js.map +1 -1
  39. package/lib/models/room-state.d.ts.map +1 -1
  40. package/lib/models/room-state.js +10 -26
  41. package/lib/models/room-state.js.map +1 -1
  42. package/lib/models/room.d.ts +0 -18
  43. package/lib/models/room.d.ts.map +1 -1
  44. package/lib/models/room.js +94 -148
  45. package/lib/models/room.js.map +1 -1
  46. package/lib/models/thread.d.ts.map +1 -1
  47. package/lib/models/thread.js +0 -1
  48. package/lib/models/thread.js.map +1 -1
  49. package/lib/sliding-sync-sdk.d.ts +2 -3
  50. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  51. package/lib/sliding-sync-sdk.js +41 -90
  52. package/lib/sliding-sync-sdk.js.map +1 -1
  53. package/lib/sync.d.ts +0 -12
  54. package/lib/sync.d.ts.map +1 -1
  55. package/lib/sync.js +1 -73
  56. package/lib/sync.js.map +1 -1
  57. package/lib/testing.d.ts +0 -48
  58. package/lib/testing.d.ts.map +1 -1
  59. package/lib/testing.js +0 -105
  60. package/lib/testing.js.map +1 -1
  61. package/package.json +1 -3
  62. package/src/@types/global.d.ts +0 -3
  63. package/src/browser-index.ts +0 -11
  64. package/src/client.ts +57 -2732
  65. package/src/embedded.ts +3 -130
  66. package/src/event-mapper.ts +0 -4
  67. package/src/matrix.ts +0 -28
  68. package/src/models/MSC3089Branch.ts +0 -3
  69. package/src/models/event.ts +0 -289
  70. package/src/models/poll.ts +0 -6
  71. package/src/models/relations-container.ts +1 -8
  72. package/src/models/relations.ts +0 -8
  73. package/src/models/room-state.ts +2 -8
  74. package/src/models/room.ts +0 -62
  75. package/src/models/thread.ts +0 -1
  76. package/src/sliding-sync-sdk.ts +2 -72
  77. package/src/sync.ts +1 -98
  78. package/src/testing.ts +0 -108
  79. package/lib/@types/crypto.d.ts +0 -47
  80. package/lib/@types/crypto.d.ts.map +0 -1
  81. package/lib/@types/crypto.js +0 -1
  82. package/lib/@types/crypto.js.map +0 -1
  83. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  84. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  85. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  86. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  87. package/lib/common-crypto/CryptoBackend.js +0 -73
  88. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  89. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  90. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  91. package/lib/common-crypto/key-passphrase.js +0 -33
  92. package/lib/common-crypto/key-passphrase.js.map +0 -1
  93. package/lib/crypto/CrossSigning.d.ts +0 -184
  94. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  95. package/lib/crypto/CrossSigning.js +0 -718
  96. package/lib/crypto/CrossSigning.js.map +0 -1
  97. package/lib/crypto/DeviceList.d.ts +0 -216
  98. package/lib/crypto/DeviceList.d.ts.map +0 -1
  99. package/lib/crypto/DeviceList.js +0 -892
  100. package/lib/crypto/DeviceList.js.map +0 -1
  101. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  102. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  103. package/lib/crypto/EncryptionSetup.js +0 -356
  104. package/lib/crypto/EncryptionSetup.js.map +0 -1
  105. package/lib/crypto/OlmDevice.d.ts +0 -457
  106. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  107. package/lib/crypto/OlmDevice.js +0 -1241
  108. package/lib/crypto/OlmDevice.js.map +0 -1
  109. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  110. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  111. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  112. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  113. package/lib/crypto/RoomList.d.ts +0 -26
  114. package/lib/crypto/RoomList.d.ts.map +0 -1
  115. package/lib/crypto/RoomList.js +0 -71
  116. package/lib/crypto/RoomList.js.map +0 -1
  117. package/lib/crypto/SecretSharing.d.ts +0 -24
  118. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  119. package/lib/crypto/SecretSharing.js +0 -194
  120. package/lib/crypto/SecretSharing.js.map +0 -1
  121. package/lib/crypto/SecretStorage.d.ts +0 -55
  122. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  123. package/lib/crypto/SecretStorage.js +0 -118
  124. package/lib/crypto/SecretStorage.js.map +0 -1
  125. package/lib/crypto/aes.d.ts +0 -6
  126. package/lib/crypto/aes.d.ts.map +0 -1
  127. package/lib/crypto/aes.js +0 -24
  128. package/lib/crypto/aes.js.map +0 -1
  129. package/lib/crypto/algorithms/base.d.ts +0 -156
  130. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  131. package/lib/crypto/algorithms/base.js +0 -187
  132. package/lib/crypto/algorithms/base.js.map +0 -1
  133. package/lib/crypto/algorithms/index.d.ts +0 -4
  134. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  135. package/lib/crypto/algorithms/index.js +0 -20
  136. package/lib/crypto/algorithms/index.js.map +0 -1
  137. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  138. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  139. package/lib/crypto/algorithms/megolm.js +0 -1822
  140. package/lib/crypto/algorithms/megolm.js.map +0 -1
  141. package/lib/crypto/algorithms/olm.d.ts +0 -5
  142. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  143. package/lib/crypto/algorithms/olm.js +0 -299
  144. package/lib/crypto/algorithms/olm.js.map +0 -1
  145. package/lib/crypto/api.d.ts +0 -32
  146. package/lib/crypto/api.d.ts.map +0 -1
  147. package/lib/crypto/api.js +0 -22
  148. package/lib/crypto/api.js.map +0 -1
  149. package/lib/crypto/backup.d.ts +0 -227
  150. package/lib/crypto/backup.d.ts.map +0 -1
  151. package/lib/crypto/backup.js +0 -824
  152. package/lib/crypto/backup.js.map +0 -1
  153. package/lib/crypto/crypto.d.ts +0 -3
  154. package/lib/crypto/crypto.d.ts.map +0 -1
  155. package/lib/crypto/crypto.js +0 -19
  156. package/lib/crypto/crypto.js.map +0 -1
  157. package/lib/crypto/dehydration.d.ts +0 -34
  158. package/lib/crypto/dehydration.d.ts.map +0 -1
  159. package/lib/crypto/dehydration.js +0 -252
  160. package/lib/crypto/dehydration.js.map +0 -1
  161. package/lib/crypto/device-converter.d.ts +0 -9
  162. package/lib/crypto/device-converter.d.ts.map +0 -1
  163. package/lib/crypto/device-converter.js +0 -42
  164. package/lib/crypto/device-converter.js.map +0 -1
  165. package/lib/crypto/deviceinfo.d.ts +0 -99
  166. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  167. package/lib/crypto/deviceinfo.js +0 -148
  168. package/lib/crypto/deviceinfo.js.map +0 -1
  169. package/lib/crypto/index.d.ts +0 -1209
  170. package/lib/crypto/index.d.ts.map +0 -1
  171. package/lib/crypto/index.js +0 -4097
  172. package/lib/crypto/index.js.map +0 -1
  173. package/lib/crypto/key_passphrase.d.ts +0 -14
  174. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  175. package/lib/crypto/key_passphrase.js +0 -44
  176. package/lib/crypto/key_passphrase.js.map +0 -1
  177. package/lib/crypto/keybackup.d.ts +0 -18
  178. package/lib/crypto/keybackup.d.ts.map +0 -1
  179. package/lib/crypto/keybackup.js +0 -1
  180. package/lib/crypto/keybackup.js.map +0 -1
  181. package/lib/crypto/olmlib.d.ts +0 -129
  182. package/lib/crypto/olmlib.d.ts.map +0 -1
  183. package/lib/crypto/olmlib.js +0 -492
  184. package/lib/crypto/olmlib.js.map +0 -1
  185. package/lib/crypto/recoverykey.d.ts +0 -2
  186. package/lib/crypto/recoverykey.d.ts.map +0 -1
  187. package/lib/crypto/recoverykey.js +0 -19
  188. package/lib/crypto/recoverykey.js.map +0 -1
  189. package/lib/crypto/store/base.d.ts +0 -252
  190. package/lib/crypto/store/base.d.ts.map +0 -1
  191. package/lib/crypto/store/base.js +0 -64
  192. package/lib/crypto/store/base.js.map +0 -1
  193. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  194. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  195. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  196. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  197. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  198. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  199. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  200. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  201. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  202. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  203. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  204. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  205. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  206. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  207. package/lib/crypto/store/memory-crypto-store.js +0 -622
  208. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  209. package/lib/crypto/verification/Base.d.ts +0 -105
  210. package/lib/crypto/verification/Base.d.ts.map +0 -1
  211. package/lib/crypto/verification/Base.js +0 -372
  212. package/lib/crypto/verification/Base.js.map +0 -1
  213. package/lib/crypto/verification/Error.d.ts +0 -35
  214. package/lib/crypto/verification/Error.d.ts.map +0 -1
  215. package/lib/crypto/verification/Error.js +0 -86
  216. package/lib/crypto/verification/Error.js.map +0 -1
  217. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  218. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  219. package/lib/crypto/verification/IllegalMethod.js +0 -43
  220. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  221. package/lib/crypto/verification/QRCode.d.ts +0 -51
  222. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  223. package/lib/crypto/verification/QRCode.js +0 -277
  224. package/lib/crypto/verification/QRCode.js.map +0 -1
  225. package/lib/crypto/verification/SAS.d.ts +0 -27
  226. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  227. package/lib/crypto/verification/SAS.js +0 -485
  228. package/lib/crypto/verification/SAS.js.map +0 -1
  229. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  230. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  231. package/lib/crypto/verification/SASDecimal.js +0 -34
  232. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  233. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  234. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  235. package/lib/crypto/verification/request/Channel.js +0 -1
  236. package/lib/crypto/verification/request/Channel.js.map +0 -1
  237. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  238. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  239. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  240. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  241. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  242. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  243. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  244. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  245. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  246. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  247. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  248. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  249. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  250. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  251. package/lib/crypto-api/CryptoEvent.js +0 -33
  252. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  253. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  254. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  255. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  256. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  257. package/lib/crypto-api/index.d.ts +0 -978
  258. package/lib/crypto-api/index.d.ts.map +0 -1
  259. package/lib/crypto-api/index.js +0 -304
  260. package/lib/crypto-api/index.js.map +0 -1
  261. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  262. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  263. package/lib/crypto-api/key-passphrase.js +0 -51
  264. package/lib/crypto-api/key-passphrase.js.map +0 -1
  265. package/lib/crypto-api/keybackup.d.ts +0 -88
  266. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  267. package/lib/crypto-api/keybackup.js +0 -1
  268. package/lib/crypto-api/keybackup.js.map +0 -1
  269. package/lib/crypto-api/recovery-key.d.ts +0 -11
  270. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  271. package/lib/crypto-api/recovery-key.js +0 -65
  272. package/lib/crypto-api/recovery-key.js.map +0 -1
  273. package/lib/crypto-api/verification.d.ts +0 -344
  274. package/lib/crypto-api/verification.d.ts.map +0 -1
  275. package/lib/crypto-api/verification.js +0 -91
  276. package/lib/crypto-api/verification.js.map +0 -1
  277. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  278. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  279. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  280. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  281. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  282. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  283. package/lib/rendezvous/RendezvousChannel.js +0 -1
  284. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  285. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  286. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  287. package/lib/rendezvous/RendezvousCode.js +0 -1
  288. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  289. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  290. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  291. package/lib/rendezvous/RendezvousError.js +0 -23
  292. package/lib/rendezvous/RendezvousError.js.map +0 -1
  293. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  294. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  295. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  296. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  297. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  298. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  299. package/lib/rendezvous/RendezvousIntent.js +0 -22
  300. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  301. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  302. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  303. package/lib/rendezvous/RendezvousTransport.js +0 -1
  304. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  305. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  306. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  307. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  308. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  309. package/lib/rendezvous/channels/index.d.ts +0 -2
  310. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  311. package/lib/rendezvous/channels/index.js +0 -18
  312. package/lib/rendezvous/channels/index.js.map +0 -1
  313. package/lib/rendezvous/index.d.ts +0 -10
  314. package/lib/rendezvous/index.d.ts.map +0 -1
  315. package/lib/rendezvous/index.js +0 -23
  316. package/lib/rendezvous/index.js.map +0 -1
  317. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  318. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  319. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  320. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  321. package/lib/rendezvous/transports/index.d.ts +0 -2
  322. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  323. package/lib/rendezvous/transports/index.js +0 -18
  324. package/lib/rendezvous/transports/index.js.map +0 -1
  325. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  326. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  327. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  328. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  329. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  330. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  331. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  332. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  333. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  334. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  335. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  336. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  337. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  338. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  339. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  340. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  341. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  342. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  343. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  344. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  345. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  346. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  347. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  348. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  349. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  350. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  351. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  352. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  353. package/lib/rust-crypto/backup.d.ts +0 -254
  354. package/lib/rust-crypto/backup.d.ts.map +0 -1
  355. package/lib/rust-crypto/backup.js +0 -837
  356. package/lib/rust-crypto/backup.js.map +0 -1
  357. package/lib/rust-crypto/constants.d.ts +0 -3
  358. package/lib/rust-crypto/constants.d.ts.map +0 -1
  359. package/lib/rust-crypto/constants.js +0 -19
  360. package/lib/rust-crypto/constants.js.map +0 -1
  361. package/lib/rust-crypto/device-converter.d.ts +0 -28
  362. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  363. package/lib/rust-crypto/device-converter.js +0 -123
  364. package/lib/rust-crypto/device-converter.js.map +0 -1
  365. package/lib/rust-crypto/index.d.ts +0 -61
  366. package/lib/rust-crypto/index.d.ts.map +0 -1
  367. package/lib/rust-crypto/index.js +0 -152
  368. package/lib/rust-crypto/index.js.map +0 -1
  369. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  370. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  371. package/lib/rust-crypto/libolm_migration.js +0 -459
  372. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  373. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  374. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  375. package/lib/rust-crypto/rust-crypto.js +0 -2016
  376. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  377. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  378. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  379. package/lib/rust-crypto/secret-storage.js +0 -63
  380. package/lib/rust-crypto/secret-storage.js.map +0 -1
  381. package/lib/rust-crypto/verification.d.ts +0 -319
  382. package/lib/rust-crypto/verification.d.ts.map +0 -1
  383. package/lib/rust-crypto/verification.js +0 -816
  384. package/lib/rust-crypto/verification.js.map +0 -1
  385. package/lib/secret-storage.d.ts +0 -370
  386. package/lib/secret-storage.d.ts.map +0 -1
  387. package/lib/secret-storage.js +0 -466
  388. package/lib/secret-storage.js.map +0 -1
  389. package/src/@types/crypto.ts +0 -73
  390. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  391. package/src/common-crypto/CryptoBackend.ts +0 -302
  392. package/src/common-crypto/README.md +0 -4
  393. package/src/common-crypto/key-passphrase.ts +0 -43
  394. package/src/crypto/CrossSigning.ts +0 -773
  395. package/src/crypto/DeviceList.ts +0 -989
  396. package/src/crypto/EncryptionSetup.ts +0 -351
  397. package/src/crypto/OlmDevice.ts +0 -1500
  398. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  399. package/src/crypto/RoomList.ts +0 -70
  400. package/src/crypto/SecretSharing.ts +0 -240
  401. package/src/crypto/SecretStorage.ts +0 -136
  402. package/src/crypto/aes.ts +0 -23
  403. package/src/crypto/algorithms/base.ts +0 -236
  404. package/src/crypto/algorithms/index.ts +0 -20
  405. package/src/crypto/algorithms/megolm.ts +0 -2216
  406. package/src/crypto/algorithms/olm.ts +0 -381
  407. package/src/crypto/api.ts +0 -70
  408. package/src/crypto/backup.ts +0 -922
  409. package/src/crypto/crypto.ts +0 -18
  410. package/src/crypto/dehydration.ts +0 -272
  411. package/src/crypto/device-converter.ts +0 -45
  412. package/src/crypto/deviceinfo.ts +0 -158
  413. package/src/crypto/index.ts +0 -4414
  414. package/src/crypto/key_passphrase.ts +0 -42
  415. package/src/crypto/keybackup.ts +0 -47
  416. package/src/crypto/olmlib.ts +0 -539
  417. package/src/crypto/recoverykey.ts +0 -18
  418. package/src/crypto/store/base.ts +0 -348
  419. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  420. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  421. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  422. package/src/crypto/store/memory-crypto-store.ts +0 -680
  423. package/src/crypto/verification/Base.ts +0 -409
  424. package/src/crypto/verification/Error.ts +0 -76
  425. package/src/crypto/verification/IllegalMethod.ts +0 -50
  426. package/src/crypto/verification/QRCode.ts +0 -310
  427. package/src/crypto/verification/SAS.ts +0 -494
  428. package/src/crypto/verification/SASDecimal.ts +0 -37
  429. package/src/crypto/verification/request/Channel.ts +0 -34
  430. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  431. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  432. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  433. package/src/crypto-api/CryptoEvent.ts +0 -93
  434. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  435. package/src/crypto-api/index.ts +0 -1175
  436. package/src/crypto-api/key-passphrase.ts +0 -58
  437. package/src/crypto-api/keybackup.ts +0 -115
  438. package/src/crypto-api/recovery-key.ts +0 -69
  439. package/src/crypto-api/verification.ts +0 -408
  440. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  441. package/src/rendezvous/RendezvousChannel.ts +0 -48
  442. package/src/rendezvous/RendezvousCode.ts +0 -25
  443. package/src/rendezvous/RendezvousError.ts +0 -26
  444. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  445. package/src/rendezvous/RendezvousIntent.ts +0 -20
  446. package/src/rendezvous/RendezvousTransport.ts +0 -58
  447. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  448. package/src/rendezvous/channels/index.ts +0 -17
  449. package/src/rendezvous/index.ts +0 -25
  450. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  451. package/src/rendezvous/transports/index.ts +0 -17
  452. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  453. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  454. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  455. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  456. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  457. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  458. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  459. package/src/rust-crypto/backup.ts +0 -881
  460. package/src/rust-crypto/constants.ts +0 -18
  461. package/src/rust-crypto/device-converter.ts +0 -128
  462. package/src/rust-crypto/index.ts +0 -237
  463. package/src/rust-crypto/libolm_migration.ts +0 -530
  464. package/src/rust-crypto/rust-crypto.ts +0 -2205
  465. package/src/rust-crypto/secret-storage.ts +0 -60
  466. package/src/rust-crypto/verification.ts +0 -830
  467. 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"}