From 53ff15477a86f72ec69b77a284145f007c53d9a5 Mon Sep 17 00:00:00 2001 From: Jasper Date: Thu, 7 Oct 2021 12:40:36 +0700 Subject: [PATCH] Use SHA-256 as the webpack hash function Webpack [defaults to MD4](https://webpack.js.org/configuration/output/#outputhashfunction) as the output hash function. MD4 was [moved to the legacy provider](https://www.openssl.org/news/changelog.html#openssl-30) in OpenSSL 3.0 and is not available by default. As a result, webpack fails to run on any system with OpenSSL 3.0 or later. This patch sets the hash function explicitly to SHA-256 which fixes the webpack build on such systems. SHA-256 is chosen as a reasonable modern default. An alternative solution would be to upgrade to webpack v5.54.0 or later and use webpack's future default hash function `xxhash64`, which doesn't depend on OpenSSL and is also faster than SHA-256. --- webpack.config.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index 23c79d0604..cdedaffce0 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,7 +9,8 @@ module.exports = [ }, output: Object.assign({}, config.output, { library: 'JitsiMeetJS', - libraryTarget: 'umd' + libraryTarget: 'umd', + hashFunction: 'sha256' }) }), { @@ -19,7 +20,8 @@ module.exports = [ mode: 'production', output: { filename: 'lib-jitsi-meet.e2ee-worker.js', - path: process.cwd() + path: process.cwd(), + hashFunction: 'sha256' }, optimization: { minimize: false