@unwanted/matrix-sdk-mini 34.12.0-1 → 34.12.0-3

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