[RFC,13/15] npm_build: Enable OpenSSL 3.0 legacy provider

Message ID 20211124144739.2250-14-stefan.herbrechtsmeier-oss@weidmueller.com
State New
Headers show
Series Rework npm support | expand

Commit Message

Stefan Herbrechtsmeier Nov. 24, 2021, 2:47 p.m. UTC
From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>

The OpenSSL legacy provider supplies OpenSSL implementations of
algorithms that have been deemed legacy. Node.js v16 use OpenSSL 1.1.0
by default and support legacy algorithms (example: md4 for webpack).

This patch depends on a backport of [1] for nodejs.

[1] https://github.com/nodejs/node/commit/1d2f37d970e839ab2acafd871fe369babdb1a334

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
---

 meta/classes/npm_build.bbclass | 4 ++++
 1 file changed, 4 insertions(+)

Patch

diff --git a/meta/classes/npm_build.bbclass b/meta/classes/npm_build.bbclass
index 388eef9519..2e90da3213 100644
--- a/meta/classes/npm_build.bbclass
+++ b/meta/classes/npm_build.bbclass
@@ -54,6 +54,10 @@  oe_npm_setup_host_env () {
     export CFLAGS="${BUILD_CFLAGS}"
     export CXXFLAGS="${BUILD_CXXFLAGS}"
     export LDFLAGS="${BUILD_LDFLAGS}"
+
+    # Enable OpenSSL 3.0 legacy provider
+    export OPENSSL_MODULES="${RECIPE_SYSROOT_NATIVE}/${libdir}/ossl-modules"
+    export NODE_OPTIONS="--openssl-legacy-provider"
 }
 
 do_compile_host() {