Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Bump emsdk version to 3.1.47
Produces module importable in Node v18
With older (emsdk 3.0.0) version, generated libthemis.js that should load libthemis.wasm fails due to some internal autogenerated code working differently on v16 and v18
Add link flag for WASM builds
Needed to make new emscripten produce working module
Update Node testing versions
Add v18 that should now work, also add v20 that is in active development as of now, but if tests are green then why not?
Switched integration tests to use v16
Removed testing of quite old and deprecated v10
Updated version of BoringSSL submodule to a newer one (not the latest though)
Regarding BoringSSL revisions:
Old revision: 897a2ca3f184b34278641138c726ef902ab1fab2
This is what current master uses
Has minor issues with newer emscripten, the build will fail due to new emscripten being too smart and complaining about some set-but-not-used variables (boringssl is built with -Werror)
Candidate 1: a43c76dbe30d619188dc685b7d432a92e7c2b66b (2023-01-25)
Seem to work well, that's what is used in this PR
Next commit doesn't build on Ubuntu 22.04 (although builds on 20.04), see this CI run
Candidate 2: 987dff1a9fa953a8c7dffa369d78caae02b8d9ab (2023-02-15)
Next commit introduces changes in some structures we use, would require soter engine code update
Apart from these tests in GitHub Actions, local Buildbot libthemis-test is also green, including new debian:bookworm system with Node 18 installed from official Debian repositories.
Checklist
[x] Change is covered by automated tests
[x] ~Benchmark results are attached (if applicable)~
libthemis.js
that should loadlibthemis.wasm
fails due to some internal autogenerated code working differently on v16 and v18Regarding BoringSSL revisions:
897a2ca3f184b34278641138c726ef902ab1fab2
This is what currentmaster
uses Has minor issues with newer emscripten, the build will fail due to new emscripten being too smart and complaining about some set-but-not-used variables (boringssl is built with-Werror
)a43c76dbe30d619188dc685b7d432a92e7c2b66b
(2023-01-25) Seem to work well, that's what is used in this PR Next commit doesn't build on Ubuntu 22.04 (although builds on 20.04), see this CI run987dff1a9fa953a8c7dffa369d78caae02b8d9ab
(2023-02-15) Next commit introduces changes in some structures we use, would require soter engine code updateApart from these tests in GitHub Actions, local Buildbot libthemis-test is also green, including new debian:bookworm system with Node 18 installed from official Debian repositories.
Checklist