@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,194 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2019-2023 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
- import { v4 as uuidv4 } from "uuid";
19
- import { defer } from "../utils.js";
20
- import { ToDeviceMessageId } from "../@types/event.js";
21
- import { logger } from "../logger.js";
22
- import * as olmlib from "./olmlib.js";
23
- export class SecretSharing {
24
- constructor(baseApis, cryptoCallbacks) {
25
- this.baseApis = baseApis;
26
- this.cryptoCallbacks = cryptoCallbacks;
27
- _defineProperty(this, "requests", new Map());
28
- }
29
-
30
- /**
31
- * Request a secret from another device
32
- *
33
- * @param name - the name of the secret to request
34
- * @param devices - the devices to request the secret from
35
- */
36
- request(name, devices) {
37
- var requestId = this.baseApis.makeTxnId();
38
- var deferred = defer();
39
- this.requests.set(requestId, {
40
- name,
41
- devices,
42
- deferred
43
- });
44
- var cancel = reason => {
45
- // send cancellation event
46
- var cancelData = {
47
- action: "request_cancellation",
48
- requesting_device_id: this.baseApis.deviceId,
49
- request_id: requestId
50
- };
51
- var toDevice = new Map();
52
- for (var device of devices) {
53
- toDevice.set(device, cancelData);
54
- }
55
- this.baseApis.sendToDevice("m.secret.request", new Map([[this.baseApis.getUserId(), toDevice]]));
56
-
57
- // and reject the promise so that anyone waiting on it will be
58
- // notified
59
- deferred.reject(new Error(reason || "Cancelled"));
60
- };
61
-
62
- // send request to devices
63
- var requestData = {
64
- name,
65
- action: "request",
66
- requesting_device_id: this.baseApis.deviceId,
67
- request_id: requestId,
68
- [ToDeviceMessageId]: uuidv4()
69
- };
70
- var toDevice = new Map();
71
- for (var device of devices) {
72
- toDevice.set(device, requestData);
73
- }
74
- logger.info("Request secret ".concat(name, " from ").concat(devices, ", id ").concat(requestId));
75
- this.baseApis.sendToDevice("m.secret.request", new Map([[this.baseApis.getUserId(), toDevice]]));
76
- return {
77
- requestId,
78
- promise: deferred.promise,
79
- cancel
80
- };
81
- }
82
- onRequestReceived(event) {
83
- var _this = this;
84
- return _asyncToGenerator(function* () {
85
- var sender = event.getSender();
86
- var content = event.getContent();
87
- if (sender !== _this.baseApis.getUserId() || !(content.name && content.action && content.requesting_device_id && content.request_id)) {
88
- // ignore requests from anyone else, for now
89
- return;
90
- }
91
- var deviceId = content.requesting_device_id;
92
- // check if it's a cancel
93
- if (content.action === "request_cancellation") {
94
- /*
95
- Looks like we intended to emit events when we got cancelations, but
96
- we never put anything in the _incomingRequests object, and the request
97
- itself doesn't use events anyway so if we were to wire up cancellations,
98
- they probably ought to use the same callback interface. I'm leaving them
99
- disabled for now while converting this file to typescript.
100
- if (this._incomingRequests[deviceId]
101
- && this._incomingRequests[deviceId][content.request_id]) {
102
- logger.info(
103
- "received request cancellation for secret (" + sender +
104
- ", " + deviceId + ", " + content.request_id + ")",
105
- );
106
- this.baseApis.emit("crypto.secrets.requestCancelled", {
107
- user_id: sender,
108
- device_id: deviceId,
109
- request_id: content.request_id,
110
- });
111
- }
112
- */
113
- } else if (content.action === "request") {
114
- if (deviceId === _this.baseApis.deviceId) {
115
- // no point in trying to send ourself the secret
116
- return;
117
- }
118
-
119
- // check if we have the secret
120
- logger.info("received request for secret (" + sender + ", " + deviceId + ", " + content.request_id + ")");
121
- if (!_this.cryptoCallbacks.onSecretRequested) {
122
- return;
123
- }
124
- var secret = yield _this.cryptoCallbacks.onSecretRequested(sender, deviceId, content.request_id, content.name, _this.baseApis.checkDeviceTrust(sender, deviceId));
125
- if (secret) {
126
- logger.info("Preparing ".concat(content.name, " secret for ").concat(deviceId));
127
- var payload = {
128
- type: "m.secret.send",
129
- content: {
130
- request_id: content.request_id,
131
- secret: secret
132
- }
133
- };
134
- var encryptedContent = {
135
- algorithm: olmlib.OLM_ALGORITHM,
136
- sender_key: _this.baseApis.crypto.olmDevice.deviceCurve25519Key,
137
- ciphertext: {},
138
- [ToDeviceMessageId]: uuidv4()
139
- };
140
- yield olmlib.ensureOlmSessionsForDevices(_this.baseApis.crypto.olmDevice, _this.baseApis, new Map([[sender, [_this.baseApis.getStoredDevice(sender, deviceId)]]]));
141
- yield olmlib.encryptMessageForDevice(encryptedContent.ciphertext, _this.baseApis.getUserId(), _this.baseApis.deviceId, _this.baseApis.crypto.olmDevice, sender, _this.baseApis.getStoredDevice(sender, deviceId), payload);
142
- var contentMap = new Map([[sender, new Map([[deviceId, encryptedContent]])]]);
143
- logger.info("Sending ".concat(content.name, " secret for ").concat(deviceId));
144
- _this.baseApis.sendToDevice("m.room.encrypted", contentMap);
145
- } else {
146
- logger.info("Request denied for ".concat(content.name, " secret for ").concat(deviceId));
147
- }
148
- }
149
- })();
150
- }
151
- onSecretReceived(event) {
152
- if (event.getSender() !== this.baseApis.getUserId()) {
153
- // we shouldn't be receiving secrets from anyone else, so ignore
154
- // because someone could be trying to send us bogus data
155
- return;
156
- }
157
- if (!olmlib.isOlmEncrypted(event)) {
158
- logger.error("secret event not properly encrypted");
159
- return;
160
- }
161
- var content = event.getContent();
162
- var senderKeyUser = this.baseApis.crypto.deviceList.getUserByIdentityKey(olmlib.OLM_ALGORITHM, event.getSenderKey() || "");
163
- if (senderKeyUser !== event.getSender()) {
164
- logger.error("sending device does not belong to the user it claims to be from");
165
- return;
166
- }
167
- logger.log("got secret share for request", content.request_id);
168
- var requestControl = this.requests.get(content.request_id);
169
- if (requestControl) {
170
- // make sure that the device that sent it is one of the devices that
171
- // we requested from
172
- var deviceInfo = this.baseApis.crypto.deviceList.getDeviceByIdentityKey(olmlib.OLM_ALGORITHM, event.getSenderKey());
173
- if (!deviceInfo) {
174
- logger.log("secret share from unknown device with key", event.getSenderKey());
175
- return;
176
- }
177
- if (!requestControl.devices.includes(deviceInfo.deviceId)) {
178
- logger.log("unsolicited secret share from device", deviceInfo.deviceId);
179
- return;
180
- }
181
- // unsure that the sender is trusted. In theory, this check is
182
- // unnecessary since we only accept secret shares from devices that
183
- // we requested from, but it doesn't hurt.
184
- var deviceTrust = this.baseApis.crypto.checkDeviceInfoTrust(event.getSender(), deviceInfo);
185
- if (!deviceTrust.isVerified()) {
186
- logger.log("secret share from unverified device");
187
- return;
188
- }
189
- logger.log("Successfully received secret ".concat(requestControl.name, " ") + "from ".concat(deviceInfo.deviceId));
190
- requestControl.deferred.resolve(content.secret);
191
- }
192
- }
193
- }
194
- //# sourceMappingURL=SecretSharing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecretSharing.js","names":["v4","uuidv4","defer","ToDeviceMessageId","logger","olmlib","SecretSharing","constructor","baseApis","cryptoCallbacks","_defineProperty","Map","request","name","devices","requestId","makeTxnId","deferred","requests","set","cancel","reason","cancelData","action","requesting_device_id","deviceId","request_id","toDevice","device","sendToDevice","getUserId","reject","Error","requestData","info","concat","promise","onRequestReceived","event","_this","_asyncToGenerator","sender","getSender","content","getContent","onSecretRequested","secret","checkDeviceTrust","payload","type","encryptedContent","algorithm","OLM_ALGORITHM","sender_key","crypto","olmDevice","deviceCurve25519Key","ciphertext","ensureOlmSessionsForDevices","getStoredDevice","encryptMessageForDevice","contentMap","onSecretReceived","isOlmEncrypted","error","senderKeyUser","deviceList","getUserByIdentityKey","getSenderKey","log","requestControl","get","deviceInfo","getDeviceByIdentityKey","includes","deviceTrust","checkDeviceInfoTrust","isVerified","resolve"],"sources":["../../src/crypto/SecretSharing.ts"],"sourcesContent":["/*\nCopyright 2019-2023 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*/\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { MatrixClient } from \"../client.ts\";\nimport { ICryptoCallbacks, IEncryptedContent } from \"./index.ts\";\nimport { defer, IDeferred } from \"../utils.ts\";\nimport { ToDeviceMessageId } from \"../@types/event.ts\";\nimport { logger } from \"../logger.ts\";\nimport { MatrixEvent } from \"../models/event.ts\";\nimport * as olmlib from \"./olmlib.ts\";\n\nexport interface ISecretRequest {\n requestId: string;\n promise: Promise<string>;\n cancel: (reason: string) => void;\n}\n\ninterface ISecretRequestInternal {\n name: string;\n devices: string[];\n deferred: IDeferred<string>;\n}\n\nexport class SecretSharing {\n private requests = new Map<string, ISecretRequestInternal>();\n\n public constructor(\n private readonly baseApis: MatrixClient,\n private readonly cryptoCallbacks: ICryptoCallbacks,\n ) {}\n\n /**\n * Request a secret from another device\n *\n * @param name - the name of the secret to request\n * @param devices - the devices to request the secret from\n */\n public request(name: string, devices: string[]): ISecretRequest {\n const requestId = this.baseApis.makeTxnId();\n\n const deferred = defer<string>();\n this.requests.set(requestId, { name, devices, deferred });\n\n const cancel = (reason: string): void => {\n // send cancellation event\n const cancelData = {\n action: \"request_cancellation\",\n requesting_device_id: this.baseApis.deviceId,\n request_id: requestId,\n };\n const toDevice: Map<string, typeof cancelData> = new Map();\n for (const device of devices) {\n toDevice.set(device, cancelData);\n }\n this.baseApis.sendToDevice(\"m.secret.request\", new Map([[this.baseApis.getUserId()!, toDevice]]));\n\n // and reject the promise so that anyone waiting on it will be\n // notified\n deferred.reject(new Error(reason || \"Cancelled\"));\n };\n\n // send request to devices\n const requestData = {\n name,\n action: \"request\",\n requesting_device_id: this.baseApis.deviceId,\n request_id: requestId,\n [ToDeviceMessageId]: uuidv4(),\n };\n const toDevice: Map<string, typeof requestData> = new Map();\n for (const device of devices) {\n toDevice.set(device, requestData);\n }\n logger.info(`Request secret ${name} from ${devices}, id ${requestId}`);\n this.baseApis.sendToDevice(\"m.secret.request\", new Map([[this.baseApis.getUserId()!, toDevice]]));\n\n return {\n requestId,\n promise: deferred.promise,\n cancel,\n };\n }\n\n public async onRequestReceived(event: MatrixEvent): Promise<void> {\n const sender = event.getSender();\n const content = event.getContent();\n if (\n sender !== this.baseApis.getUserId() ||\n !(content.name && content.action && content.requesting_device_id && content.request_id)\n ) {\n // ignore requests from anyone else, for now\n return;\n }\n const deviceId = content.requesting_device_id;\n // check if it's a cancel\n if (content.action === \"request_cancellation\") {\n /*\n Looks like we intended to emit events when we got cancelations, but\n we never put anything in the _incomingRequests object, and the request\n itself doesn't use events anyway so if we were to wire up cancellations,\n they probably ought to use the same callback interface. I'm leaving them\n disabled for now while converting this file to typescript.\n if (this._incomingRequests[deviceId]\n && this._incomingRequests[deviceId][content.request_id]) {\n logger.info(\n \"received request cancellation for secret (\" + sender +\n \", \" + deviceId + \", \" + content.request_id + \")\",\n );\n this.baseApis.emit(\"crypto.secrets.requestCancelled\", {\n user_id: sender,\n device_id: deviceId,\n request_id: content.request_id,\n });\n }\n */\n } else if (content.action === \"request\") {\n if (deviceId === this.baseApis.deviceId) {\n // no point in trying to send ourself the secret\n return;\n }\n\n // check if we have the secret\n logger.info(\"received request for secret (\" + sender + \", \" + deviceId + \", \" + content.request_id + \")\");\n if (!this.cryptoCallbacks.onSecretRequested) {\n return;\n }\n const secret = await this.cryptoCallbacks.onSecretRequested(\n sender,\n deviceId,\n content.request_id,\n content.name,\n this.baseApis.checkDeviceTrust(sender, deviceId),\n );\n if (secret) {\n logger.info(`Preparing ${content.name} secret for ${deviceId}`);\n const payload = {\n type: \"m.secret.send\",\n content: {\n request_id: content.request_id,\n secret: secret,\n },\n };\n const encryptedContent: IEncryptedContent = {\n algorithm: olmlib.OLM_ALGORITHM,\n sender_key: this.baseApis.crypto!.olmDevice.deviceCurve25519Key!,\n ciphertext: {},\n [ToDeviceMessageId]: uuidv4(),\n };\n await olmlib.ensureOlmSessionsForDevices(\n this.baseApis.crypto!.olmDevice,\n this.baseApis,\n new Map([[sender, [this.baseApis.getStoredDevice(sender, deviceId)!]]]),\n );\n await olmlib.encryptMessageForDevice(\n encryptedContent.ciphertext,\n this.baseApis.getUserId()!,\n this.baseApis.deviceId!,\n this.baseApis.crypto!.olmDevice,\n sender,\n this.baseApis.getStoredDevice(sender, deviceId)!,\n payload,\n );\n const contentMap = new Map([[sender, new Map([[deviceId, encryptedContent]])]]);\n\n logger.info(`Sending ${content.name} secret for ${deviceId}`);\n this.baseApis.sendToDevice(\"m.room.encrypted\", contentMap);\n } else {\n logger.info(`Request denied for ${content.name} secret for ${deviceId}`);\n }\n }\n }\n\n public onSecretReceived(event: MatrixEvent): void {\n if (event.getSender() !== this.baseApis.getUserId()) {\n // we shouldn't be receiving secrets from anyone else, so ignore\n // because someone could be trying to send us bogus data\n return;\n }\n\n if (!olmlib.isOlmEncrypted(event)) {\n logger.error(\"secret event not properly encrypted\");\n return;\n }\n\n const content = event.getContent();\n\n const senderKeyUser = this.baseApis.crypto!.deviceList.getUserByIdentityKey(\n olmlib.OLM_ALGORITHM,\n event.getSenderKey() || \"\",\n );\n if (senderKeyUser !== event.getSender()) {\n logger.error(\"sending device does not belong to the user it claims to be from\");\n return;\n }\n\n logger.log(\"got secret share for request\", content.request_id);\n const requestControl = this.requests.get(content.request_id);\n if (requestControl) {\n // make sure that the device that sent it is one of the devices that\n // we requested from\n const deviceInfo = this.baseApis.crypto!.deviceList.getDeviceByIdentityKey(\n olmlib.OLM_ALGORITHM,\n event.getSenderKey()!,\n );\n if (!deviceInfo) {\n logger.log(\"secret share from unknown device with key\", event.getSenderKey());\n return;\n }\n if (!requestControl.devices.includes(deviceInfo.deviceId)) {\n logger.log(\"unsolicited secret share from device\", deviceInfo.deviceId);\n return;\n }\n // unsure that the sender is trusted. In theory, this check is\n // unnecessary since we only accept secret shares from devices that\n // we requested from, but it doesn't hurt.\n const deviceTrust = this.baseApis.crypto!.checkDeviceInfoTrust(event.getSender()!, deviceInfo);\n if (!deviceTrust.isVerified()) {\n logger.log(\"secret share from unverified device\");\n return;\n }\n\n logger.log(`Successfully received secret ${requestControl.name} ` + `from ${deviceInfo.deviceId}`);\n requestControl.deferred.resolve(content.secret);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,55 +0,0 @@
1
- import { ICryptoCallbacks } from "./index.ts";
2
- import { MatrixEvent } from "../models/event.ts";
3
- import { MatrixClient } from "../client.ts";
4
- import { SecretStorageKeyDescription, SecretStorageKeyTuple, SecretStorageKeyObject, AddSecretStorageKeyOpts, AccountDataClient, ServerSideSecretStorage } from "../secret-storage.ts";
5
- import { ISecretRequest } from "./SecretSharing.ts";
6
- export type { AccountDataClient as IAccountDataClient, SecretStorageKeyTuple, SecretStorageKeyObject, SECRET_STORAGE_ALGORITHM_V1_AES, } from "../secret-storage.ts";
7
- export type { ISecretRequest } from "./SecretSharing.ts";
8
- /**
9
- * Implements Secure Secret Storage and Sharing (MSC1946)
10
- *
11
- * @deprecated This is just a backwards-compatibility hack which will be removed soon.
12
- * Use {@link SecretStorage.ServerSideSecretStorageImpl} from `../secret-storage` and/or {@link SecretSharing} from `./SecretSharing`.
13
- */
14
- export declare class SecretStorage<B extends MatrixClient | undefined = MatrixClient> implements ServerSideSecretStorage {
15
- private readonly storageImpl;
16
- private readonly sharingImpl;
17
- constructor(accountDataAdapter: AccountDataClient, cryptoCallbacks: ICryptoCallbacks, baseApis: B);
18
- getDefaultKeyId(): Promise<string | null>;
19
- setDefaultKeyId(keyId: string): Promise<void>;
20
- /**
21
- * Add a key for encrypting secrets.
22
- */
23
- addKey(algorithm: string, opts: AddSecretStorageKeyOpts, keyId?: string): Promise<SecretStorageKeyObject>;
24
- /**
25
- * Get the key information for a given ID.
26
- */
27
- getKey(keyId?: string | null): Promise<SecretStorageKeyTuple | null>;
28
- /**
29
- * Check whether we have a key with a given ID.
30
- */
31
- hasKey(keyId?: string): Promise<boolean>;
32
- /**
33
- * Check whether a key matches what we expect based on the key info
34
- */
35
- checkKey(key: Uint8Array, info: SecretStorageKeyDescription): Promise<boolean>;
36
- /**
37
- * Store an encrypted secret on the server
38
- */
39
- store(name: string, secret: string, keys?: string[] | null): Promise<void>;
40
- /**
41
- * Get a secret from storage.
42
- */
43
- get(name: string): Promise<string | undefined>;
44
- /**
45
- * Check if a secret is stored on the server.
46
- */
47
- isStored(name: string): Promise<Record<string, SecretStorageKeyDescription> | null>;
48
- /**
49
- * Request a secret from another device
50
- */
51
- request(name: string, devices: string[]): ISecretRequest;
52
- onRequestReceived(event: MatrixEvent): Promise<void>;
53
- onSecretReceived(event: MatrixEvent): void;
54
- }
55
- //# sourceMappingURL=SecretStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecretStorage.d.ts","sourceRoot":"","sources":["../../src/crypto/SecretStorage.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACH,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EAE1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAiB,MAAM,oBAAoB,CAAC;AAGnE,YAAY,EACR,iBAAiB,IAAI,kBAAkB,EACvC,qBAAqB,EACrB,sBAAsB,EACtB,+BAA+B,GAClC,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,CAAE,YAAW,uBAAuB;IAC5G,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAWzB,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAKjG,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;IACI,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIhH;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAI3E;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrF;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,GAAG,IAAI,CAAC;IAIhG;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc;IAIxD,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAGpD"}
@@ -1,118 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2019 - 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
- import { ServerSideSecretStorageImpl } from "../secret-storage.js";
20
- import { SecretSharing } from "./SecretSharing.js";
21
-
22
- /* re-exports for backwards compatibility */
23
-
24
- /**
25
- * Implements Secure Secret Storage and Sharing (MSC1946)
26
- *
27
- * @deprecated This is just a backwards-compatibility hack which will be removed soon.
28
- * Use {@link SecretStorage.ServerSideSecretStorageImpl} from `../secret-storage` and/or {@link SecretSharing} from `./SecretSharing`.
29
- */
30
- export class SecretStorage {
31
- // In its pure javascript days, this was relying on some proper Javascript-style
32
- // type-abuse where sometimes we'd pass in a fake client object with just the account
33
- // data methods implemented, which is all this class needs unless you use the secret
34
- // sharing code, so it was fine. As a low-touch TypeScript migration, we added
35
- // an extra, optional param for a real matrix client, so you can not pass it as long
36
- // as you don't request any secrets.
37
- //
38
- // Nowadays, the whole class is scheduled for destruction, once we get rid of the legacy
39
- // Crypto impl that exposes it.
40
- constructor(accountDataAdapter, cryptoCallbacks, baseApis) {
41
- _defineProperty(this, "storageImpl", void 0);
42
- _defineProperty(this, "sharingImpl", void 0);
43
- this.storageImpl = new ServerSideSecretStorageImpl(accountDataAdapter, cryptoCallbacks);
44
- this.sharingImpl = new SecretSharing(baseApis, cryptoCallbacks);
45
- }
46
- getDefaultKeyId() {
47
- return this.storageImpl.getDefaultKeyId();
48
- }
49
- setDefaultKeyId(keyId) {
50
- return this.storageImpl.setDefaultKeyId(keyId);
51
- }
52
-
53
- /**
54
- * Add a key for encrypting secrets.
55
- */
56
- addKey(algorithm, opts, keyId) {
57
- return this.storageImpl.addKey(algorithm, opts, keyId);
58
- }
59
-
60
- /**
61
- * Get the key information for a given ID.
62
- */
63
- getKey(keyId) {
64
- return this.storageImpl.getKey(keyId);
65
- }
66
-
67
- /**
68
- * Check whether we have a key with a given ID.
69
- */
70
- hasKey(keyId) {
71
- return this.storageImpl.hasKey(keyId);
72
- }
73
-
74
- /**
75
- * Check whether a key matches what we expect based on the key info
76
- */
77
- checkKey(key, info) {
78
- return this.storageImpl.checkKey(key, info);
79
- }
80
-
81
- /**
82
- * Store an encrypted secret on the server
83
- */
84
- store(name, secret, keys) {
85
- return this.storageImpl.store(name, secret, keys);
86
- }
87
-
88
- /**
89
- * Get a secret from storage.
90
- */
91
- get(name) {
92
- return this.storageImpl.get(name);
93
- }
94
-
95
- /**
96
- * Check if a secret is stored on the server.
97
- */
98
- isStored(name) {
99
- var _this = this;
100
- return _asyncToGenerator(function* () {
101
- return _this.storageImpl.isStored(name);
102
- })();
103
- }
104
-
105
- /**
106
- * Request a secret from another device
107
- */
108
- request(name, devices) {
109
- return this.sharingImpl.request(name, devices);
110
- }
111
- onRequestReceived(event) {
112
- return this.sharingImpl.onRequestReceived(event);
113
- }
114
- onSecretReceived(event) {
115
- this.sharingImpl.onSecretReceived(event);
116
- }
117
- }
118
- //# sourceMappingURL=SecretStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecretStorage.js","names":["ServerSideSecretStorageImpl","SecretSharing","SecretStorage","constructor","accountDataAdapter","cryptoCallbacks","baseApis","_defineProperty","storageImpl","sharingImpl","getDefaultKeyId","setDefaultKeyId","keyId","addKey","algorithm","opts","getKey","hasKey","checkKey","key","info","store","name","secret","keys","get","isStored","_this","_asyncToGenerator","request","devices","onRequestReceived","event","onSecretReceived"],"sources":["../../src/crypto/SecretStorage.ts"],"sourcesContent":["/*\nCopyright 2019 - 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\nimport { ICryptoCallbacks } from \"./index.ts\";\nimport { MatrixEvent } from \"../models/event.ts\";\nimport { MatrixClient } from \"../client.ts\";\nimport {\n SecretStorageKeyDescription,\n SecretStorageKeyTuple,\n SecretStorageKeyObject,\n AddSecretStorageKeyOpts,\n AccountDataClient,\n ServerSideSecretStorage,\n ServerSideSecretStorageImpl,\n} from \"../secret-storage.ts\";\nimport { ISecretRequest, SecretSharing } from \"./SecretSharing.ts\";\n\n/* re-exports for backwards compatibility */\nexport type {\n AccountDataClient as IAccountDataClient,\n SecretStorageKeyTuple,\n SecretStorageKeyObject,\n SECRET_STORAGE_ALGORITHM_V1_AES,\n} from \"../secret-storage.ts\";\n\nexport type { ISecretRequest } from \"./SecretSharing.ts\";\n\n/**\n * Implements Secure Secret Storage and Sharing (MSC1946)\n *\n * @deprecated This is just a backwards-compatibility hack which will be removed soon.\n * Use {@link SecretStorage.ServerSideSecretStorageImpl} from `../secret-storage` and/or {@link SecretSharing} from `./SecretSharing`.\n */\nexport class SecretStorage<B extends MatrixClient | undefined = MatrixClient> implements ServerSideSecretStorage {\n private readonly storageImpl: ServerSideSecretStorageImpl;\n private readonly sharingImpl: SecretSharing;\n\n // In its pure javascript days, this was relying on some proper Javascript-style\n // type-abuse where sometimes we'd pass in a fake client object with just the account\n // data methods implemented, which is all this class needs unless you use the secret\n // sharing code, so it was fine. As a low-touch TypeScript migration, we added\n // an extra, optional param for a real matrix client, so you can not pass it as long\n // as you don't request any secrets.\n //\n // Nowadays, the whole class is scheduled for destruction, once we get rid of the legacy\n // Crypto impl that exposes it.\n public constructor(accountDataAdapter: AccountDataClient, cryptoCallbacks: ICryptoCallbacks, baseApis: B) {\n this.storageImpl = new ServerSideSecretStorageImpl(accountDataAdapter, cryptoCallbacks);\n this.sharingImpl = new SecretSharing(baseApis as MatrixClient, cryptoCallbacks);\n }\n\n public getDefaultKeyId(): Promise<string | null> {\n return this.storageImpl.getDefaultKeyId();\n }\n\n public setDefaultKeyId(keyId: string): Promise<void> {\n return this.storageImpl.setDefaultKeyId(keyId);\n }\n\n /**\n * Add a key for encrypting secrets.\n */\n public addKey(algorithm: string, opts: AddSecretStorageKeyOpts, keyId?: string): Promise<SecretStorageKeyObject> {\n return this.storageImpl.addKey(algorithm, opts, keyId);\n }\n\n /**\n * Get the key information for a given ID.\n */\n public getKey(keyId?: string | null): Promise<SecretStorageKeyTuple | null> {\n return this.storageImpl.getKey(keyId);\n }\n\n /**\n * Check whether we have a key with a given ID.\n */\n public hasKey(keyId?: string): Promise<boolean> {\n return this.storageImpl.hasKey(keyId);\n }\n\n /**\n * Check whether a key matches what we expect based on the key info\n */\n public checkKey(key: Uint8Array, info: SecretStorageKeyDescription): Promise<boolean> {\n return this.storageImpl.checkKey(key, info);\n }\n\n /**\n * Store an encrypted secret on the server\n */\n public store(name: string, secret: string, keys?: string[] | null): Promise<void> {\n return this.storageImpl.store(name, secret, keys);\n }\n\n /**\n * Get a secret from storage.\n */\n public get(name: string): Promise<string | undefined> {\n return this.storageImpl.get(name);\n }\n\n /**\n * Check if a secret is stored on the server.\n */\n public async isStored(name: string): Promise<Record<string, SecretStorageKeyDescription> | null> {\n return this.storageImpl.isStored(name);\n }\n\n /**\n * Request a secret from another device\n */\n public request(name: string, devices: string[]): ISecretRequest {\n return this.sharingImpl.request(name, devices);\n }\n\n public onRequestReceived(event: MatrixEvent): Promise<void> {\n return this.sharingImpl.onRequestReceived(event);\n }\n\n public onSecretReceived(event: MatrixEvent): void {\n this.sharingImpl.onSecretReceived(event);\n }\n}\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,SAOIA,2BAA2B,QACxB,sBAAsB;AAC7B,SAAyBC,aAAa,QAAQ,oBAAoB;;AAElE;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,CAAuF;EAI7G;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACOC,WAAWA,CAACC,kBAAqC,EAAEC,eAAiC,EAAEC,QAAW,EAAE;IAAAC,eAAA;IAAAA,eAAA;IACtG,IAAI,CAACC,WAAW,GAAG,IAAIR,2BAA2B,CAACI,kBAAkB,EAAEC,eAAe,CAAC;IACvF,IAAI,CAACI,WAAW,GAAG,IAAIR,aAAa,CAACK,QAAQ,EAAkBD,eAAe,CAAC;EACnF;EAEOK,eAAeA,CAAA,EAA2B;IAC7C,OAAO,IAAI,CAACF,WAAW,CAACE,eAAe,CAAC,CAAC;EAC7C;EAEOC,eAAeA,CAACC,KAAa,EAAiB;IACjD,OAAO,IAAI,CAACJ,WAAW,CAACG,eAAe,CAACC,KAAK,CAAC;EAClD;;EAEA;AACJ;AACA;EACWC,MAAMA,CAACC,SAAiB,EAAEC,IAA6B,EAAEH,KAAc,EAAmC;IAC7G,OAAO,IAAI,CAACJ,WAAW,CAACK,MAAM,CAACC,SAAS,EAAEC,IAAI,EAAEH,KAAK,CAAC;EAC1D;;EAEA;AACJ;AACA;EACWI,MAAMA,CAACJ,KAAqB,EAAyC;IACxE,OAAO,IAAI,CAACJ,WAAW,CAACQ,MAAM,CAACJ,KAAK,CAAC;EACzC;;EAEA;AACJ;AACA;EACWK,MAAMA,CAACL,KAAc,EAAoB;IAC5C,OAAO,IAAI,CAACJ,WAAW,CAACS,MAAM,CAACL,KAAK,CAAC;EACzC;;EAEA;AACJ;AACA;EACWM,QAAQA,CAACC,GAAe,EAAEC,IAAiC,EAAoB;IAClF,OAAO,IAAI,CAACZ,WAAW,CAACU,QAAQ,CAACC,GAAG,EAAEC,IAAI,CAAC;EAC/C;;EAEA;AACJ;AACA;EACWC,KAAKA,CAACC,IAAY,EAAEC,MAAc,EAAEC,IAAsB,EAAiB;IAC9E,OAAO,IAAI,CAAChB,WAAW,CAACa,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,IAAI,CAAC;EACrD;;EAEA;AACJ;AACA;EACWC,GAAGA,CAACH,IAAY,EAA+B;IAClD,OAAO,IAAI,CAACd,WAAW,CAACiB,GAAG,CAACH,IAAI,CAAC;EACrC;;EAEA;AACJ;AACA;EACiBI,QAAQA,CAACJ,IAAY,EAA+D;IAAA,IAAAK,KAAA;IAAA,OAAAC,iBAAA;MAC7F,OAAOD,KAAI,CAACnB,WAAW,CAACkB,QAAQ,CAACJ,IAAI,CAAC;IAAC;EAC3C;;EAEA;AACJ;AACA;EACWO,OAAOA,CAACP,IAAY,EAAEQ,OAAiB,EAAkB;IAC5D,OAAO,IAAI,CAACrB,WAAW,CAACoB,OAAO,CAACP,IAAI,EAAEQ,OAAO,CAAC;EAClD;EAEOC,iBAAiBA,CAACC,KAAkB,EAAiB;IACxD,OAAO,IAAI,CAACvB,WAAW,CAACsB,iBAAiB,CAACC,KAAK,CAAC;EACpD;EAEOC,gBAAgBA,CAACD,KAAkB,EAAQ;IAC9C,IAAI,CAACvB,WAAW,CAACwB,gBAAgB,CAACD,KAAK,CAAC;EAC5C;AACJ","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- import encryptAESSecretStorageItem from "../utils/encryptAESSecretStorageItem.ts";
2
- import decryptAESSecretStorageItem from "../utils/decryptAESSecretStorageItem.ts";
3
- export type { AESEncryptedSecretStoragePayload as IEncryptedPayload } from "../@types/AESEncryptedSecretStoragePayload.ts";
4
- export { encryptAESSecretStorageItem as encryptAES, decryptAESSecretStorageItem as decryptAES };
5
- export { calculateKeyCheck } from "../secret-storage.ts";
6
- //# sourceMappingURL=aes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aes.d.ts","sourceRoot":"","sources":["../../src/crypto/aes.ts"],"names":[],"mappings":"AAgBA,OAAO,2BAA2B,MAAM,yCAAyC,CAAC;AAClF,OAAO,2BAA2B,MAAM,yCAAyC,CAAC;AAGlF,YAAY,EAAE,gCAAgC,IAAI,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAC3H,OAAO,EAAE,2BAA2B,IAAI,UAAU,EAAE,2BAA2B,IAAI,UAAU,EAAE,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
package/lib/crypto/aes.js DELETED
@@ -1,24 +0,0 @@
1
- /*
2
- Copyright 2020 - 2021 The Matrix.org Foundation C.I.C.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
-
17
- import encryptAESSecretStorageItem from "../utils/encryptAESSecretStorageItem.js";
18
- import decryptAESSecretStorageItem from "../utils/decryptAESSecretStorageItem.js";
19
-
20
- // Export for backwards compatibility
21
-
22
- export { encryptAESSecretStorageItem as encryptAES, decryptAESSecretStorageItem as decryptAES };
23
- export { calculateKeyCheck } from "../secret-storage.js";
24
- //# sourceMappingURL=aes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aes.js","names":["encryptAESSecretStorageItem","decryptAESSecretStorageItem","encryptAES","decryptAES","calculateKeyCheck"],"sources":["../../src/crypto/aes.ts"],"sourcesContent":["/*\nCopyright 2020 - 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\nimport encryptAESSecretStorageItem from \"../utils/encryptAESSecretStorageItem.ts\";\nimport decryptAESSecretStorageItem from \"../utils/decryptAESSecretStorageItem.ts\";\n\n// Export for backwards compatibility\nexport type { AESEncryptedSecretStoragePayload as IEncryptedPayload } from \"../@types/AESEncryptedSecretStoragePayload.ts\";\nexport { encryptAESSecretStorageItem as encryptAES, decryptAESSecretStorageItem as decryptAES };\nexport { calculateKeyCheck } from \"../secret-storage.ts\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,2BAA2B,MAAM,yCAAyC;AACjF,OAAOC,2BAA2B,MAAM,yCAAyC;;AAEjF;;AAEA,SAASD,2BAA2B,IAAIE,UAAU,EAAED,2BAA2B,IAAIE,UAAU;AAC7F,SAASC,iBAAiB,QAAQ,sBAAsB","ignoreList":[]}
@@ -1,156 +0,0 @@
1
- /**
2
- * Internal module. Defines the base classes of the encryption implementations
3
- */
4
- import type { IMegolmSessionData } from "../../@types/crypto.ts";
5
- import { MatrixClient } from "../../client.ts";
6
- import { Room } from "../../models/room.ts";
7
- import { OlmDevice } from "../OlmDevice.ts";
8
- import { IContent, MatrixEvent, RoomMember } from "../../matrix.ts";
9
- import { Crypto, IEncryptedContent, IEventDecryptionResult, IncomingRoomKeyRequest } from "../index.ts";
10
- import { DeviceInfo } from "../deviceinfo.ts";
11
- import { IRoomEncryption } from "../RoomList.ts";
12
- import { DeviceInfoMap } from "../DeviceList.ts";
13
- /**
14
- * Map of registered encryption algorithm classes. A map from string to {@link EncryptionAlgorithm} class
15
- */
16
- export declare const ENCRYPTION_CLASSES: Map<string, new (params: IParams) => EncryptionAlgorithm>;
17
- export type DecryptionClassParams<P extends IParams = IParams> = Omit<P, "deviceId" | "config">;
18
- /**
19
- * map of registered encryption algorithm classes. Map from string to {@link DecryptionAlgorithm} class
20
- */
21
- export declare const DECRYPTION_CLASSES: Map<string, new (params: DecryptionClassParams) => DecryptionAlgorithm>;
22
- export interface IParams {
23
- /** The UserID for the local user */
24
- userId: string;
25
- /** The identifier for this device. */
26
- deviceId: string;
27
- /** crypto core */
28
- crypto: Crypto;
29
- /** olm.js wrapper */
30
- olmDevice: OlmDevice;
31
- /** base matrix api interface */
32
- baseApis: MatrixClient;
33
- /** The ID of the room we will be sending to */
34
- roomId?: string;
35
- /** The body of the m.room.encryption event */
36
- config: IRoomEncryption & object;
37
- }
38
- /**
39
- * base type for encryption implementations
40
- */
41
- export declare abstract class EncryptionAlgorithm {
42
- protected readonly userId: string;
43
- protected readonly deviceId: string;
44
- protected readonly crypto: Crypto;
45
- protected readonly olmDevice: OlmDevice;
46
- protected readonly baseApis: MatrixClient;
47
- /**
48
- * @param params - parameters
49
- */
50
- constructor(params: IParams);
51
- /**
52
- * Perform any background tasks that can be done before a message is ready to
53
- * send, in order to speed up sending of the message.
54
- *
55
- * @param room - the room the event is in
56
- */
57
- prepareToEncrypt(room: Room): void;
58
- /**
59
- * Encrypt a message event
60
- *
61
- * @public
62
- *
63
- * @param content - event content
64
- *
65
- * @returns Promise which resolves to the new event body
66
- */
67
- abstract encryptMessage(room: Room, eventType: string, content: IContent): Promise<IEncryptedContent>;
68
- /**
69
- * Called when the membership of a member of the room changes.
70
- *
71
- * @param event - event causing the change
72
- * @param member - user whose membership changed
73
- * @param oldMembership - previous membership
74
- * @public
75
- */
76
- onRoomMembership(event: MatrixEvent, member: RoomMember, oldMembership?: string): void;
77
- reshareKeyWithDevice?(senderKey: string, sessionId: string, userId: string, device: DeviceInfo): Promise<void>;
78
- forceDiscardSession?(): void;
79
- }
80
- /**
81
- * base type for decryption implementations
82
- */
83
- export declare abstract class DecryptionAlgorithm {
84
- protected readonly userId: string;
85
- protected readonly crypto: Crypto;
86
- protected readonly olmDevice: OlmDevice;
87
- protected readonly baseApis: MatrixClient;
88
- constructor(params: DecryptionClassParams);
89
- /**
90
- * Decrypt an event
91
- *
92
- * @param event - undecrypted event
93
- *
94
- * @returns promise which
95
- * resolves once we have finished decrypting. Rejects with an
96
- * `algorithms.DecryptionError` if there is a problem decrypting the event.
97
- */
98
- abstract decryptEvent(event: MatrixEvent): Promise<IEventDecryptionResult>;
99
- /**
100
- * Handle a key event
101
- *
102
- * @param params - event key event
103
- */
104
- onRoomKeyEvent(params: MatrixEvent): Promise<void>;
105
- /**
106
- * Import a room key
107
- *
108
- * @param opts - object
109
- */
110
- importRoomKey(session: IMegolmSessionData, opts: object): Promise<void>;
111
- /**
112
- * Determine if we have the keys necessary to respond to a room key request
113
- *
114
- * @returns true if we have the keys and could (theoretically) share
115
- * them; else false.
116
- */
117
- hasKeysForKeyRequest(keyRequest: IncomingRoomKeyRequest): Promise<boolean>;
118
- /**
119
- * Send the response to a room key request
120
- *
121
- */
122
- shareKeysWithDevice(keyRequest: IncomingRoomKeyRequest): void;
123
- /**
124
- * Retry decrypting all the events from a sender that haven't been
125
- * decrypted yet.
126
- *
127
- * @param senderKey - the sender's key
128
- */
129
- retryDecryptionFromSender(senderKey: string): Promise<boolean>;
130
- onRoomKeyWithheldEvent?(event: MatrixEvent): Promise<void>;
131
- sendSharedHistoryInboundSessions?(devicesByUser: Map<string, DeviceInfo[]>): Promise<void>;
132
- }
133
- export declare class UnknownDeviceError extends Error {
134
- readonly devices: DeviceInfoMap;
135
- event?: MatrixEvent | undefined;
136
- /**
137
- * Exception thrown specifically when we want to warn the user to consider
138
- * the security of their conversation before continuing
139
- *
140
- * @param msg - message describing the problem
141
- * @param devices - set of unknown devices per user we're warning about
142
- */
143
- constructor(msg: string, devices: DeviceInfoMap, event?: MatrixEvent | undefined);
144
- }
145
- /**
146
- * Registers an encryption/decryption class for a particular algorithm
147
- *
148
- * @param algorithm - algorithm tag to register for
149
- *
150
- * @param encryptor - {@link EncryptionAlgorithm} implementation
151
- *
152
- * @param decryptor - {@link DecryptionAlgorithm} implementation
153
- */
154
- export declare function registerAlgorithm<P extends IParams = IParams>(algorithm: string, encryptor: new (params: P) => EncryptionAlgorithm, decryptor: new (params: DecryptionClassParams<P>) => DecryptionAlgorithm): void;
155
- export { DecryptionError } from "../../common-crypto/CryptoBackend.ts";
156
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/crypto/algorithms/base.ts"],"names":[],"mappings":"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"}