@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,23 +0,0 @@
1
- /*
2
- Copyright 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
- export class RendezvousError extends Error {
18
- constructor(message, code) {
19
- super(message);
20
- this.code = code;
21
- }
22
- }
23
- //# sourceMappingURL=RendezvousError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousError.js","names":["RendezvousError","Error","constructor","message","code"],"sources":["../../src/rendezvous/RendezvousError.ts"],"sourcesContent":["/*\nCopyright 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\nimport { RendezvousFailureReason } from \"./index.ts\";\n\nexport class RendezvousError extends Error {\n public constructor(\n message: string,\n public readonly code: RendezvousFailureReason,\n ) {\n super(message);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,MAAMA,eAAe,SAASC,KAAK,CAAC;EAChCC,WAAWA,CACdC,OAAe,EACCC,IAA6B,EAC/C;IACE,KAAK,CAACD,OAAO,CAAC;IAAC,KAFCC,IAA6B,GAA7BA,IAA6B;EAGjD;AACJ","ignoreList":[]}
@@ -1,31 +0,0 @@
1
- export type RendezvousFailureListener = (reason: RendezvousFailureReason) => void;
2
- export type RendezvousFailureReason = MSC4108FailureReason | ClientRendezvousFailureReason;
3
- export declare enum MSC4108FailureReason {
4
- AuthorizationExpired = "authorization_expired",
5
- DeviceAlreadyExists = "device_already_exists",
6
- DeviceNotFound = "device_not_found",
7
- UnexpectedMessageReceived = "unexpected_message_received",
8
- UnsupportedProtocol = "unsupported_protocol",
9
- UserCancelled = "user_cancelled"
10
- }
11
- export declare enum ClientRendezvousFailureReason {
12
- /** The sign in request has expired */
13
- Expired = "expired",
14
- /** The homeserver is lacking support for the required features */
15
- HomeserverLacksSupport = "homeserver_lacks_support",
16
- /** The secure channel verification failed meaning that it might be compromised */
17
- InsecureChannelDetected = "insecure_channel_detected",
18
- /** An invalid/incompatible QR code was scanned */
19
- InvalidCode = "invalid_code",
20
- /** The other device is not signed in */
21
- OtherDeviceNotSignedIn = "other_device_not_signed_in",
22
- /** The other device is already signed in */
23
- OtherDeviceAlreadySignedIn = "other_device_already_signed_in",
24
- /** Other */
25
- Unknown = "unknown",
26
- /** The user declined the sign in request */
27
- UserDeclined = "user_declined",
28
- /** The rendezvous request is missing an ETag header */
29
- ETagMissing = "etag_missing"
30
- }
31
- //# sourceMappingURL=RendezvousFailureReason.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousFailureReason.d.ts","sourceRoot":"","sources":["../../src/rendezvous/RendezvousFailureReason.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAElF,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,6BAA6B,CAAC;AAE3F,oBAAY,oBAAoB;IAC5B,oBAAoB,0BAA0B;IAC9C,mBAAmB,0BAA0B;IAC7C,cAAc,qBAAqB;IACnC,yBAAyB,gCAAgC;IACzD,mBAAmB,yBAAyB;IAC5C,aAAa,mBAAmB;CACnC;AAED,oBAAY,6BAA6B;IACrC,sCAAsC;IACtC,OAAO,YAAY;IACnB,kEAAkE;IAClE,sBAAsB,6BAA6B;IACnD,kFAAkF;IAClF,uBAAuB,8BAA8B;IACrD,kDAAkD;IAClD,WAAW,iBAAiB;IAC5B,wCAAwC;IACxC,sBAAsB,+BAA+B;IACrD,4CAA4C;IAC5C,0BAA0B,mCAAmC;IAC7D,YAAY;IACZ,OAAO,YAAY;IACnB,4CAA4C;IAC5C,YAAY,kBAAkB;IAC9B,uDAAuD;IACvD,WAAW,iBAAiB;CAC/B"}
@@ -1,38 +0,0 @@
1
- /*
2
- Copyright 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
- export var MSC4108FailureReason = /*#__PURE__*/function (MSC4108FailureReason) {
18
- MSC4108FailureReason["AuthorizationExpired"] = "authorization_expired";
19
- MSC4108FailureReason["DeviceAlreadyExists"] = "device_already_exists";
20
- MSC4108FailureReason["DeviceNotFound"] = "device_not_found";
21
- MSC4108FailureReason["UnexpectedMessageReceived"] = "unexpected_message_received";
22
- MSC4108FailureReason["UnsupportedProtocol"] = "unsupported_protocol";
23
- MSC4108FailureReason["UserCancelled"] = "user_cancelled";
24
- return MSC4108FailureReason;
25
- }({});
26
- export var ClientRendezvousFailureReason = /*#__PURE__*/function (ClientRendezvousFailureReason) {
27
- ClientRendezvousFailureReason["Expired"] = "expired";
28
- ClientRendezvousFailureReason["HomeserverLacksSupport"] = "homeserver_lacks_support";
29
- ClientRendezvousFailureReason["InsecureChannelDetected"] = "insecure_channel_detected";
30
- ClientRendezvousFailureReason["InvalidCode"] = "invalid_code";
31
- ClientRendezvousFailureReason["OtherDeviceNotSignedIn"] = "other_device_not_signed_in";
32
- ClientRendezvousFailureReason["OtherDeviceAlreadySignedIn"] = "other_device_already_signed_in";
33
- ClientRendezvousFailureReason["Unknown"] = "unknown";
34
- ClientRendezvousFailureReason["UserDeclined"] = "user_declined";
35
- ClientRendezvousFailureReason["ETagMissing"] = "etag_missing";
36
- return ClientRendezvousFailureReason;
37
- }({});
38
- //# sourceMappingURL=RendezvousFailureReason.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousFailureReason.js","names":["MSC4108FailureReason","ClientRendezvousFailureReason"],"sources":["../../src/rendezvous/RendezvousFailureReason.ts"],"sourcesContent":["/*\nCopyright 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\nexport type RendezvousFailureListener = (reason: RendezvousFailureReason) => void;\n\nexport type RendezvousFailureReason = MSC4108FailureReason | ClientRendezvousFailureReason;\n\nexport enum MSC4108FailureReason {\n AuthorizationExpired = \"authorization_expired\",\n DeviceAlreadyExists = \"device_already_exists\",\n DeviceNotFound = \"device_not_found\",\n UnexpectedMessageReceived = \"unexpected_message_received\",\n UnsupportedProtocol = \"unsupported_protocol\",\n UserCancelled = \"user_cancelled\",\n}\n\nexport enum ClientRendezvousFailureReason {\n /** The sign in request has expired */\n Expired = \"expired\",\n /** The homeserver is lacking support for the required features */\n HomeserverLacksSupport = \"homeserver_lacks_support\",\n /** The secure channel verification failed meaning that it might be compromised */\n InsecureChannelDetected = \"insecure_channel_detected\",\n /** An invalid/incompatible QR code was scanned */\n InvalidCode = \"invalid_code\",\n /** The other device is not signed in */\n OtherDeviceNotSignedIn = \"other_device_not_signed_in\",\n /** The other device is already signed in */\n OtherDeviceAlreadySignedIn = \"other_device_already_signed_in\",\n /** Other */\n Unknown = \"unknown\",\n /** The user declined the sign in request */\n UserDeclined = \"user_declined\",\n /** The rendezvous request is missing an ETag header */\n ETagMissing = \"etag_missing\",\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAShC,WAAYC,6BAA6B,0BAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAAA,OAA7BA,6BAA6B;AAAA","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- export declare enum RendezvousIntent {
2
- LOGIN_ON_NEW_DEVICE = "login.start",
3
- RECIPROCATE_LOGIN_ON_EXISTING_DEVICE = "login.reciprocate"
4
- }
5
- //# sourceMappingURL=RendezvousIntent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousIntent.d.ts","sourceRoot":"","sources":["../../src/rendezvous/RendezvousIntent.ts"],"names":[],"mappings":"AAgBA,oBAAY,gBAAgB;IACxB,mBAAmB,gBAAgB;IACnC,oCAAoC,sBAAsB;CAC7D"}
@@ -1,22 +0,0 @@
1
- /*
2
- Copyright 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
- export var RendezvousIntent = /*#__PURE__*/function (RendezvousIntent) {
18
- RendezvousIntent["LOGIN_ON_NEW_DEVICE"] = "login.start";
19
- RendezvousIntent["RECIPROCATE_LOGIN_ON_EXISTING_DEVICE"] = "login.reciprocate";
20
- return RendezvousIntent;
21
- }({});
22
- //# sourceMappingURL=RendezvousIntent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousIntent.js","names":["RendezvousIntent"],"sources":["../../src/rendezvous/RendezvousIntent.ts"],"sourcesContent":["/*\nCopyright 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\nexport enum RendezvousIntent {\n LOGIN_ON_NEW_DEVICE = \"login.start\",\n RECIPROCATE_LOGIN_ON_EXISTING_DEVICE = \"login.reciprocate\",\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
@@ -1,36 +0,0 @@
1
- import { RendezvousFailureListener, RendezvousFailureReason } from "./index.ts";
2
- export interface RendezvousTransportDetails {
3
- type: string;
4
- }
5
- /**
6
- * Interface representing a generic rendezvous transport.
7
- */
8
- export interface RendezvousTransport<T> {
9
- /**
10
- * Ready state of the transport. This is set to true when the transport is ready to be used.
11
- */
12
- readonly ready: boolean;
13
- /**
14
- * Listener for cancellation events. This is called when the rendezvous is cancelled or fails.
15
- */
16
- onFailure?: RendezvousFailureListener;
17
- /**
18
- * @returns the transport details that can be encoded in a QR or similar
19
- */
20
- details(): Promise<RendezvousTransportDetails>;
21
- /**
22
- * Send data via the transport.
23
- * @param data - the data itself
24
- */
25
- send(data: T): Promise<void>;
26
- /**
27
- * Receive data from the transport.
28
- */
29
- receive(): Promise<Partial<T> | undefined>;
30
- /**
31
- * Cancel the rendezvous. This will call `onCancelled()` if it is set.
32
- * @param reason - the reason for the cancellation/failure
33
- */
34
- cancel(reason: RendezvousFailureReason): Promise<void>;
35
- }
36
- //# sourceMappingURL=RendezvousTransport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousTransport.d.ts","sourceRoot":"","sources":["../../src/rendezvous/RendezvousTransport.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC;IAEtC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE/C;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE3C;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousTransport.js","names":[],"sources":["../../src/rendezvous/RendezvousTransport.ts"],"sourcesContent":["/*\nCopyright 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\nimport { RendezvousFailureListener, RendezvousFailureReason } from \"./index.ts\";\n\nexport interface RendezvousTransportDetails {\n type: string;\n}\n\n/**\n * Interface representing a generic rendezvous transport.\n */\nexport interface RendezvousTransport<T> {\n /**\n * Ready state of the transport. This is set to true when the transport is ready to be used.\n */\n readonly ready: boolean;\n\n /**\n * Listener for cancellation events. This is called when the rendezvous is cancelled or fails.\n */\n onFailure?: RendezvousFailureListener;\n\n /**\n * @returns the transport details that can be encoded in a QR or similar\n */\n details(): Promise<RendezvousTransportDetails>;\n\n /**\n * Send data via the transport.\n * @param data - the data itself\n */\n send(data: T): Promise<void>;\n\n /**\n * Receive data from the transport.\n */\n receive(): Promise<Partial<T> | undefined>;\n\n /**\n * Cancel the rendezvous. This will call `onCancelled()` if it is set.\n * @param reason - the reason for the cancellation/failure\n */\n cancel(reason: RendezvousFailureReason): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,58 +0,0 @@
1
- import { Curve25519PublicKey, QrCodeMode } from "@matrix-org/matrix-sdk-crypto-wasm";
2
- import { ClientRendezvousFailureReason, MSC4108FailureReason, MSC4108Payload, RendezvousFailureListener } from "../index.ts";
3
- import { MSC4108RendezvousSession } from "../transports/MSC4108RendezvousSession.ts";
4
- /**
5
- * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
6
- * secure rendezvous session protocol.
7
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
8
- * Imports @matrix-org/matrix-sdk-crypto-wasm so should be async-imported to avoid bundling the WASM into the main bundle.
9
- */
10
- export declare class MSC4108SecureChannel {
11
- private rendezvousSession;
12
- private theirPublicKey?;
13
- onFailure?: RendezvousFailureListener | undefined;
14
- private readonly secureChannel;
15
- private establishedChannel?;
16
- private connected;
17
- constructor(rendezvousSession: MSC4108RendezvousSession, theirPublicKey?: Curve25519PublicKey | undefined, onFailure?: RendezvousFailureListener | undefined);
18
- /**
19
- * Generate a QR code for the current session.
20
- * @param mode the mode to generate the QR code in, either `Login` or `Reciprocate`.
21
- * @param serverName the name of the homeserver to connect to, as defined by server discovery in the spec, required for `Reciprocate` mode.
22
- */
23
- generateCode(mode: QrCodeMode.Login): Promise<Uint8Array>;
24
- generateCode(mode: QrCodeMode.Reciprocate, serverName: string): Promise<Uint8Array>;
25
- /**
26
- * Returns the check code for the secure channel or undefined if not generated yet.
27
- */
28
- getCheckCode(): string | undefined;
29
- /**
30
- * Connects and establishes a secure channel with the other device.
31
- */
32
- connect(): Promise<void>;
33
- private decrypt;
34
- private encrypt;
35
- /**
36
- * Sends a payload securely to the other device.
37
- * @param payload the payload to encrypt and send
38
- */
39
- secureSend<T extends MSC4108Payload>(payload: T): Promise<void>;
40
- /**
41
- * Receives an encrypted payload from the other device and decrypts it.
42
- */
43
- secureReceive<T extends MSC4108Payload>(): Promise<Partial<T> | undefined>;
44
- /**
45
- * Closes the secure channel.
46
- */
47
- close(): Promise<void>;
48
- /**
49
- * Cancels the secure channel.
50
- * @param reason the reason for the cancellation
51
- */
52
- cancel(reason: MSC4108FailureReason | ClientRendezvousFailureReason): Promise<void>;
53
- /**
54
- * Returns whether the rendezvous session has been cancelled.
55
- */
56
- get cancelled(): boolean;
57
- }
58
- //# sourceMappingURL=MSC4108SecureChannel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MSC4108SecureChannel.d.ts","sourceRoot":"","sources":["../../../src/rendezvous/channels/MSC4108SecureChannel.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,mBAAmB,EAInB,UAAU,EACb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACH,6BAA6B,EAC7B,oBAAoB,EACpB,cAAc,EAEd,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF;;;;;GAKG;AACH,qBAAa,oBAAoB;IAMzB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,cAAc,CAAC;IAChB,SAAS,CAAC,EAAE,yBAAyB;IAPhD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAmB;IAC9C,OAAO,CAAC,SAAS,CAAS;gBAGd,iBAAiB,EAAE,wBAAwB,EAC3C,cAAc,CAAC,EAAE,mBAAmB,YAAA,EACrC,SAAS,CAAC,EAAE,yBAAyB,YAAA;IAKhD;;;;OAIG;IACU,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IACzD,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAehG;;OAEG;IACI,YAAY,IAAI,MAAM,GAAG,SAAS;IAWzC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAsGvB,OAAO;YAQP,OAAO;IAQrB;;;OAGG;IACU,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5E;;OAEG;IACU,aAAa,CAAC,CAAC,SAAS,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAgBvF;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;;OAGG;IACU,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAShG;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;CACJ"}
@@ -1,246 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2024 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
- import { Ecies, QrCodeData, QrCodeMode } from "@matrix-org/matrix-sdk-crypto-wasm";
20
- import { ClientRendezvousFailureReason, MSC4108FailureReason, RendezvousError } from "../index.js";
21
- import { logger } from "../../logger.js";
22
-
23
- /**
24
- * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
25
- * secure rendezvous session protocol.
26
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
27
- * Imports @matrix-org/matrix-sdk-crypto-wasm so should be async-imported to avoid bundling the WASM into the main bundle.
28
- */
29
- export class MSC4108SecureChannel {
30
- constructor(rendezvousSession, theirPublicKey, onFailure) {
31
- this.rendezvousSession = rendezvousSession;
32
- this.theirPublicKey = theirPublicKey;
33
- this.onFailure = onFailure;
34
- _defineProperty(this, "secureChannel", void 0);
35
- _defineProperty(this, "establishedChannel", void 0);
36
- _defineProperty(this, "connected", false);
37
- this.secureChannel = new Ecies();
38
- }
39
-
40
- /**
41
- * Generate a QR code for the current session.
42
- * @param mode the mode to generate the QR code in, either `Login` or `Reciprocate`.
43
- * @param serverName the name of the homeserver to connect to, as defined by server discovery in the spec, required for `Reciprocate` mode.
44
- */
45
-
46
- generateCode(mode, serverName) {
47
- var _this = this;
48
- return _asyncToGenerator(function* () {
49
- var {
50
- url
51
- } = _this.rendezvousSession;
52
- if (!url) {
53
- throw new Error("No rendezvous session URL");
54
- }
55
- return new QrCodeData(_this.secureChannel.public_key(), url, mode === QrCodeMode.Reciprocate ? serverName : undefined).toBytes();
56
- })();
57
- }
58
-
59
- /**
60
- * Returns the check code for the secure channel or undefined if not generated yet.
61
- */
62
- getCheckCode() {
63
- var _this$establishedChan;
64
- var x = (_this$establishedChan = this.establishedChannel) === null || _this$establishedChan === void 0 ? void 0 : _this$establishedChan.check_code();
65
- if (!x) {
66
- return undefined;
67
- }
68
- return Array.from(x.as_bytes()).map(b => "".concat(b % 10)).join("");
69
- }
70
-
71
- /**
72
- * Connects and establishes a secure channel with the other device.
73
- */
74
- connect() {
75
- var _this2 = this;
76
- return _asyncToGenerator(function* () {
77
- if (_this2.connected) {
78
- throw new Error("Channel already connected");
79
- }
80
- if (_this2.theirPublicKey) {
81
- // We are the scanning device
82
- var result = _this2.secureChannel.establish_outbound_channel(_this2.theirPublicKey, "MATRIX_QR_CODE_LOGIN_INITIATE");
83
- _this2.establishedChannel = result.channel;
84
-
85
- /*
86
- Secure Channel step 4. Device S sends the initial message
87
- Nonce := 0
88
- SH := ECDH(Ss, Gp)
89
- EncKey := HKDF_SHA256(SH, "MATRIX_QR_CODE_LOGIN|" || Gp || "|" || Sp, 0, 32)
90
- TaggedCiphertext := ChaCha20Poly1305_Encrypt(EncKey, Nonce, "MATRIX_QR_CODE_LOGIN_INITIATE")
91
- Nonce := Nonce + 2
92
- LoginInitiateMessage := UnpaddedBase64(TaggedCiphertext) || "|" || UnpaddedBase64(Sp)
93
- */
94
- {
95
- logger.info("Sending LoginInitiateMessage");
96
- yield _this2.rendezvousSession.send(result.initial_message);
97
- }
98
-
99
- /*
100
- Secure Channel step 6. Verification by Device S
101
- Nonce_G := 1
102
- (TaggedCiphertext, Sp) := Unpack(Message)
103
- Plaintext := ChaCha20Poly1305_Decrypt(EncKey, Nonce_G, TaggedCiphertext)
104
- Nonce_G := Nonce_G + 2
105
- unless Plaintext == "MATRIX_QR_CODE_LOGIN_OK":
106
- FAIL
107
- */
108
- {
109
- logger.info("Waiting for LoginOkMessage");
110
- var ciphertext = yield _this2.rendezvousSession.receive();
111
- if (!ciphertext) {
112
- throw new RendezvousError("No response from other device", MSC4108FailureReason.UnexpectedMessageReceived);
113
- }
114
- var candidateLoginOkMessage = yield _this2.decrypt(ciphertext);
115
- if (candidateLoginOkMessage !== "MATRIX_QR_CODE_LOGIN_OK") {
116
- throw new RendezvousError("Invalid response from other device", ClientRendezvousFailureReason.InsecureChannelDetected);
117
- }
118
-
119
- // Step 6 is now complete. We trust the channel
120
- }
121
- } else {
122
- /*
123
- Secure Channel step 5. Device G confirms
124
- Nonce_S := 0
125
- (TaggedCiphertext, Sp) := Unpack(LoginInitiateMessage)
126
- SH := ECDH(Gs, Sp)
127
- EncKey := HKDF_SHA256(SH, "MATRIX_QR_CODE_LOGIN|" || Gp || "|" || Sp, 0, 32)
128
- Plaintext := ChaCha20Poly1305_Decrypt(EncKey, Nonce_S, TaggedCiphertext)
129
- Nonce_S := Nonce_S + 2
130
- */
131
- // wait for the other side to send us their public key
132
- logger.info("Waiting for LoginInitiateMessage");
133
- var loginInitiateMessage = yield _this2.rendezvousSession.receive();
134
- if (!loginInitiateMessage) {
135
- throw new Error("No response from other device");
136
- }
137
- var {
138
- channel,
139
- message: candidateLoginInitiateMessage
140
- } = _this2.secureChannel.establish_inbound_channel(loginInitiateMessage);
141
- _this2.establishedChannel = channel;
142
- if (candidateLoginInitiateMessage !== "MATRIX_QR_CODE_LOGIN_INITIATE") {
143
- throw new RendezvousError("Invalid response from other device", ClientRendezvousFailureReason.InsecureChannelDetected);
144
- }
145
- logger.info("LoginInitiateMessage received");
146
- logger.info("Sending LoginOkMessage");
147
- var loginOkMessage = yield _this2.encrypt("MATRIX_QR_CODE_LOGIN_OK");
148
- yield _this2.rendezvousSession.send(loginOkMessage);
149
-
150
- // Step 5 is complete. We don't yet trust the channel
151
-
152
- // next step will be for the user to confirm the check code on the other device
153
- }
154
- _this2.connected = true;
155
- })();
156
- }
157
- decrypt(ciphertext) {
158
- var _this3 = this;
159
- return _asyncToGenerator(function* () {
160
- if (!_this3.establishedChannel) {
161
- throw new Error("Channel closed");
162
- }
163
- return _this3.establishedChannel.decrypt(ciphertext);
164
- })();
165
- }
166
- encrypt(plaintext) {
167
- var _this4 = this;
168
- return _asyncToGenerator(function* () {
169
- if (!_this4.establishedChannel) {
170
- throw new Error("Channel closed");
171
- }
172
- return _this4.establishedChannel.encrypt(plaintext);
173
- })();
174
- }
175
-
176
- /**
177
- * Sends a payload securely to the other device.
178
- * @param payload the payload to encrypt and send
179
- */
180
- secureSend(payload) {
181
- var _this5 = this;
182
- return _asyncToGenerator(function* () {
183
- if (!_this5.connected) {
184
- throw new Error("Channel closed");
185
- }
186
- var stringifiedPayload = JSON.stringify(payload);
187
- logger.debug("=> {\"type\": ".concat(JSON.stringify(payload.type), ", ...}"));
188
- yield _this5.rendezvousSession.send(yield _this5.encrypt(stringifiedPayload));
189
- })();
190
- }
191
-
192
- /**
193
- * Receives an encrypted payload from the other device and decrypts it.
194
- */
195
- secureReceive() {
196
- var _this6 = this;
197
- return _asyncToGenerator(function* () {
198
- if (!_this6.establishedChannel) {
199
- throw new Error("Channel closed");
200
- }
201
- var ciphertext = yield _this6.rendezvousSession.receive();
202
- if (!ciphertext) {
203
- return undefined;
204
- }
205
- var plaintext = yield _this6.decrypt(ciphertext);
206
- var json = JSON.parse(plaintext);
207
- logger.debug("<= {\"type\": ".concat(JSON.stringify(json.type), ", ...}"));
208
- return json;
209
- })();
210
- }
211
-
212
- /**
213
- * Closes the secure channel.
214
- */
215
- close() {
216
- var _this7 = this;
217
- return _asyncToGenerator(function* () {
218
- yield _this7.rendezvousSession.close();
219
- })();
220
- }
221
-
222
- /**
223
- * Cancels the secure channel.
224
- * @param reason the reason for the cancellation
225
- */
226
- cancel(reason) {
227
- var _this8 = this;
228
- return _asyncToGenerator(function* () {
229
- try {
230
- var _this8$onFailure;
231
- yield _this8.rendezvousSession.cancel(reason);
232
- (_this8$onFailure = _this8.onFailure) === null || _this8$onFailure === void 0 || _this8$onFailure.call(_this8, reason);
233
- } finally {
234
- yield _this8.close();
235
- }
236
- })();
237
- }
238
-
239
- /**
240
- * Returns whether the rendezvous session has been cancelled.
241
- */
242
- get cancelled() {
243
- return this.rendezvousSession.cancelled;
244
- }
245
- }
246
- //# sourceMappingURL=MSC4108SecureChannel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MSC4108SecureChannel.js","names":["Ecies","QrCodeData","QrCodeMode","ClientRendezvousFailureReason","MSC4108FailureReason","RendezvousError","logger","MSC4108SecureChannel","constructor","rendezvousSession","theirPublicKey","onFailure","_defineProperty","secureChannel","generateCode","mode","serverName","_this","_asyncToGenerator","url","Error","public_key","Reciprocate","undefined","toBytes","getCheckCode","_this$establishedChan","x","establishedChannel","check_code","Array","from","as_bytes","map","b","concat","join","connect","_this2","connected","result","establish_outbound_channel","channel","info","send","initial_message","ciphertext","receive","UnexpectedMessageReceived","candidateLoginOkMessage","decrypt","InsecureChannelDetected","loginInitiateMessage","message","candidateLoginInitiateMessage","establish_inbound_channel","loginOkMessage","encrypt","_this3","plaintext","_this4","secureSend","payload","_this5","stringifiedPayload","JSON","stringify","debug","type","secureReceive","_this6","json","parse","close","_this7","cancel","reason","_this8","_this8$onFailure","call","cancelled"],"sources":["../../../src/rendezvous/channels/MSC4108SecureChannel.ts"],"sourcesContent":["/*\nCopyright 2024 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\nimport {\n Curve25519PublicKey,\n Ecies,\n EstablishedEcies,\n QrCodeData,\n QrCodeMode,\n} from \"@matrix-org/matrix-sdk-crypto-wasm\";\n\nimport {\n ClientRendezvousFailureReason,\n MSC4108FailureReason,\n MSC4108Payload,\n RendezvousError,\n RendezvousFailureListener,\n} from \"../index.ts\";\nimport { MSC4108RendezvousSession } from \"../transports/MSC4108RendezvousSession.ts\";\nimport { logger } from \"../../logger.ts\";\n\n/**\n * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)\n * secure rendezvous session protocol.\n * @experimental Note that this is UNSTABLE and may have breaking changes without notice.\n * Imports @matrix-org/matrix-sdk-crypto-wasm so should be async-imported to avoid bundling the WASM into the main bundle.\n */\nexport class MSC4108SecureChannel {\n private readonly secureChannel: Ecies;\n private establishedChannel?: EstablishedEcies;\n private connected = false;\n\n public constructor(\n private rendezvousSession: MSC4108RendezvousSession,\n private theirPublicKey?: Curve25519PublicKey,\n public onFailure?: RendezvousFailureListener,\n ) {\n this.secureChannel = new Ecies();\n }\n\n /**\n * Generate a QR code for the current session.\n * @param mode the mode to generate the QR code in, either `Login` or `Reciprocate`.\n * @param serverName the name of the homeserver to connect to, as defined by server discovery in the spec, required for `Reciprocate` mode.\n */\n public async generateCode(mode: QrCodeMode.Login): Promise<Uint8Array>;\n public async generateCode(mode: QrCodeMode.Reciprocate, serverName: string): Promise<Uint8Array>;\n public async generateCode(mode: QrCodeMode, serverName?: string): Promise<Uint8Array> {\n const { url } = this.rendezvousSession;\n\n if (!url) {\n throw new Error(\"No rendezvous session URL\");\n }\n\n return new QrCodeData(\n this.secureChannel.public_key(),\n url,\n mode === QrCodeMode.Reciprocate ? serverName : undefined,\n ).toBytes();\n }\n\n /**\n * Returns the check code for the secure channel or undefined if not generated yet.\n */\n public getCheckCode(): string | undefined {\n const x = this.establishedChannel?.check_code();\n\n if (!x) {\n return undefined;\n }\n return Array.from(x.as_bytes())\n .map((b) => `${b % 10}`)\n .join(\"\");\n }\n\n /**\n * Connects and establishes a secure channel with the other device.\n */\n public async connect(): Promise<void> {\n if (this.connected) {\n throw new Error(\"Channel already connected\");\n }\n\n if (this.theirPublicKey) {\n // We are the scanning device\n const result = this.secureChannel.establish_outbound_channel(\n this.theirPublicKey,\n \"MATRIX_QR_CODE_LOGIN_INITIATE\",\n );\n this.establishedChannel = result.channel;\n\n /*\n Secure Channel step 4. Device S sends the initial message\n\n Nonce := 0\n SH := ECDH(Ss, Gp)\n EncKey := HKDF_SHA256(SH, \"MATRIX_QR_CODE_LOGIN|\" || Gp || \"|\" || Sp, 0, 32)\n TaggedCiphertext := ChaCha20Poly1305_Encrypt(EncKey, Nonce, \"MATRIX_QR_CODE_LOGIN_INITIATE\")\n Nonce := Nonce + 2\n LoginInitiateMessage := UnpaddedBase64(TaggedCiphertext) || \"|\" || UnpaddedBase64(Sp)\n */\n {\n logger.info(\"Sending LoginInitiateMessage\");\n await this.rendezvousSession.send(result.initial_message);\n }\n\n /*\n Secure Channel step 6. Verification by Device S\n\n Nonce_G := 1\n (TaggedCiphertext, Sp) := Unpack(Message)\n Plaintext := ChaCha20Poly1305_Decrypt(EncKey, Nonce_G, TaggedCiphertext)\n Nonce_G := Nonce_G + 2\n\n unless Plaintext == \"MATRIX_QR_CODE_LOGIN_OK\":\n FAIL\n */\n {\n logger.info(\"Waiting for LoginOkMessage\");\n const ciphertext = await this.rendezvousSession.receive();\n\n if (!ciphertext) {\n throw new RendezvousError(\n \"No response from other device\",\n MSC4108FailureReason.UnexpectedMessageReceived,\n );\n }\n const candidateLoginOkMessage = await this.decrypt(ciphertext);\n\n if (candidateLoginOkMessage !== \"MATRIX_QR_CODE_LOGIN_OK\") {\n throw new RendezvousError(\n \"Invalid response from other device\",\n ClientRendezvousFailureReason.InsecureChannelDetected,\n );\n }\n\n // Step 6 is now complete. We trust the channel\n }\n } else {\n /*\n Secure Channel step 5. Device G confirms\n\n Nonce_S := 0\n (TaggedCiphertext, Sp) := Unpack(LoginInitiateMessage)\n SH := ECDH(Gs, Sp)\n EncKey := HKDF_SHA256(SH, \"MATRIX_QR_CODE_LOGIN|\" || Gp || \"|\" || Sp, 0, 32)\n Plaintext := ChaCha20Poly1305_Decrypt(EncKey, Nonce_S, TaggedCiphertext)\n Nonce_S := Nonce_S + 2\n */\n // wait for the other side to send us their public key\n logger.info(\"Waiting for LoginInitiateMessage\");\n const loginInitiateMessage = await this.rendezvousSession.receive();\n if (!loginInitiateMessage) {\n throw new Error(\"No response from other device\");\n }\n\n const { channel, message: candidateLoginInitiateMessage } =\n this.secureChannel.establish_inbound_channel(loginInitiateMessage);\n this.establishedChannel = channel;\n\n if (candidateLoginInitiateMessage !== \"MATRIX_QR_CODE_LOGIN_INITIATE\") {\n throw new RendezvousError(\n \"Invalid response from other device\",\n ClientRendezvousFailureReason.InsecureChannelDetected,\n );\n }\n logger.info(\"LoginInitiateMessage received\");\n\n logger.info(\"Sending LoginOkMessage\");\n const loginOkMessage = await this.encrypt(\"MATRIX_QR_CODE_LOGIN_OK\");\n await this.rendezvousSession.send(loginOkMessage);\n\n // Step 5 is complete. We don't yet trust the channel\n\n // next step will be for the user to confirm the check code on the other device\n }\n\n this.connected = true;\n }\n\n private async decrypt(ciphertext: string): Promise<string> {\n if (!this.establishedChannel) {\n throw new Error(\"Channel closed\");\n }\n\n return this.establishedChannel.decrypt(ciphertext);\n }\n\n private async encrypt(plaintext: string): Promise<string> {\n if (!this.establishedChannel) {\n throw new Error(\"Channel closed\");\n }\n\n return this.establishedChannel.encrypt(plaintext);\n }\n\n /**\n * Sends a payload securely to the other device.\n * @param payload the payload to encrypt and send\n */\n public async secureSend<T extends MSC4108Payload>(payload: T): Promise<void> {\n if (!this.connected) {\n throw new Error(\"Channel closed\");\n }\n\n const stringifiedPayload = JSON.stringify(payload);\n logger.debug(`=> {\"type\": ${JSON.stringify(payload.type)}, ...}`);\n\n await this.rendezvousSession.send(await this.encrypt(stringifiedPayload));\n }\n\n /**\n * Receives an encrypted payload from the other device and decrypts it.\n */\n public async secureReceive<T extends MSC4108Payload>(): Promise<Partial<T> | undefined> {\n if (!this.establishedChannel) {\n throw new Error(\"Channel closed\");\n }\n\n const ciphertext = await this.rendezvousSession.receive();\n if (!ciphertext) {\n return undefined;\n }\n const plaintext = await this.decrypt(ciphertext);\n const json = JSON.parse(plaintext);\n\n logger.debug(`<= {\"type\": ${JSON.stringify(json.type)}, ...}`);\n return json as Partial<T> | undefined;\n }\n\n /**\n * Closes the secure channel.\n */\n public async close(): Promise<void> {\n await this.rendezvousSession.close();\n }\n\n /**\n * Cancels the secure channel.\n * @param reason the reason for the cancellation\n */\n public async cancel(reason: MSC4108FailureReason | ClientRendezvousFailureReason): Promise<void> {\n try {\n await this.rendezvousSession.cancel(reason);\n this.onFailure?.(reason);\n } finally {\n await this.close();\n }\n }\n\n /**\n * Returns whether the rendezvous session has been cancelled.\n */\n public get cancelled(): boolean {\n return this.rendezvousSession.cancelled;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export * from "./MSC4108SecureChannel.ts";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rendezvous/channels/index.ts"],"names":[],"mappings":"AAgBA,cAAc,2BAA2B,CAAC"}
@@ -1,18 +0,0 @@
1
- /*
2
- Copyright 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
- export * from "./MSC4108SecureChannel.js";
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/rendezvous/channels/index.ts"],"sourcesContent":["/*\nCopyright 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\nexport * from \"./MSC4108SecureChannel.ts\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,2BAA2B","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- export * from "./MSC4108SignInWithQR.ts";
2
- export type * from "./RendezvousChannel.ts";
3
- export type * from "./RendezvousCode.ts";
4
- export * from "./RendezvousError.ts";
5
- export * from "./RendezvousFailureReason.ts";
6
- export * from "./RendezvousIntent.ts";
7
- export type * from "./RendezvousTransport.ts";
8
- export * from "./transports/index.ts";
9
- export * from "./channels/index.ts";
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rendezvous/index.ts"],"names":[],"mappings":"AAgBA,cAAc,0BAA0B,CAAC;AACzC,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,qBAAqB,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
@@ -1,23 +0,0 @@
1
- /*
2
- Copyright 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
- export * from "./MSC4108SignInWithQR.js";
18
- export * from "./RendezvousError.js";
19
- export * from "./RendezvousFailureReason.js";
20
- export * from "./RendezvousIntent.js";
21
- export * from "./transports/index.js";
22
- export * from "./channels/index.js";
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/rendezvous/index.ts"],"sourcesContent":["/*\nCopyright 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\nexport * from \"./MSC4108SignInWithQR.ts\";\nexport type * from \"./RendezvousChannel.ts\";\nexport type * from \"./RendezvousCode.ts\";\nexport * from \"./RendezvousError.ts\";\nexport * from \"./RendezvousFailureReason.ts\";\nexport * from \"./RendezvousIntent.ts\";\nexport type * from \"./RendezvousTransport.ts\";\nexport * from \"./transports/index.ts\";\nexport * from \"./channels/index.ts\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,0BAA0B;AAGxC,cAAc,sBAAsB;AACpC,cAAc,8BAA8B;AAC5C,cAAc,uBAAuB;AAErC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB","ignoreList":[]}