clients
clients copied to clipboard
[PM-6419] Change desktop argon implementation for Node
Type of change
- [x] Bug fix
- [ ] New feature development
- [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc)
- [ ] Build/deploy pipeline (DevOps)
- [ ] Other
Objective
At the moment desktop is using the WASM implementation of Argon2, which is failing to load in the renderer processes now that context isolation is enabled. By moving the implementation to the main process we avoid this problem, and as a plus it allows us to switch to the faster Node implementation.
Code changes
- Created two new
CryptoFunctionService
implementations, specifically for desktop usage:-
RendererCryptoFunctionService
, for the renderer processes. Inherits from the WebCrypto implementation with the exception that it replaces the argon2 implementation by an IPC call -
MainCryptoFunctionService
, for the main process. Inherits from the node implementation and adds a listener that responds to the IPC calls from the renderer service.
-
Codecov Report
Attention: Patch coverage is 0%
with 16 lines
in your changes are missing coverage. Please review.
Project coverage is 24.61%. Comparing base (
7bbe168
) to head (5a63406
). Report is 1 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #8048 +/- ##
==========================================
- Coverage 24.62% 24.61% -0.01%
==========================================
Files 2222 2224 +2
Lines 65310 65326 +16
Branches 12338 12338
==========================================
Hits 16081 16081
- Misses 47907 47923 +16
Partials 1322 1322
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Checkmarx One – Scan Summary & Details – 595b0433-aa6c-4e2e-b4d7-41094c1a8bae
Fixed Issues
Severity | Issue | Source File / Package |
---|---|---|
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/protonpass/protonpass-json-importer.ts: 44 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 29 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 55 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 33 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 30 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 30 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 45 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/keepass2-xml-importer.ts: 72 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/passworddragon-xml-importer.ts: 28 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 37 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 51 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 46 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 51 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 39 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 43 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 46 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/passwordsafe-xml-importer.ts: 36 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 42 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 26 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 37 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 47 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 31 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 49 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 35 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 50 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 40 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 48 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 27 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 35 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 36 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 45 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 42 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 28 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 34 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 31 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 26 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/keepass2-xml-importer.ts: 114 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 45 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 37 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 44 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 41 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 39 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 47 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 49 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 25 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 48 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 35 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 29 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 31 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 28 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 27 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 46 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 44 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 36 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 32 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/passworddragon-xml-importer.ts: 28 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 33 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 39 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 52 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 50 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/keepass2-xml-importer.ts: 67 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 49 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 34 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 41 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 29 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 47 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 50 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/passwordsafe-xml-importer.ts: 36 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/keepass2-xml-importer.ts: 60 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 38 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 30 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 36 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 38 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 43 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 34 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 40 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 52 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 55 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 32 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 32 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 28 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 25 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 27 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 33 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 44 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 40 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 41 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 42 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 25 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/keepass2-xml-importer.ts: 71 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 55 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 52 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 51 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 48 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 43 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 38 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 26 |
![]() |
Use_Of_Hardcoded_Password | /libs/importer/src/importers/base-importer.ts: 131 |
Heh. I see you've picked up the patch we've been carrying in openSUSE for a few months because wasm modules are such a pain to build.
(FWIW — at least on Linux the native module loaded fine without moving the procedure to the main process; not sure whether the sandbox restrixtions are different on other platforms)