Blame SOURCES/001-remove-unused-frontend-crypto-and-patch-md4.patch

b968e9
diff --git a/package.json b/package.json
b968e9
index 9469638..d81424f 100644
b968e9
--- a/package.json
b968e9
+++ b/package.json
b968e9
@@ -61,5 +61,9 @@
b968e9
     "d3-scale": "^3.2.1",
b968e9
     "d3-selection": "^1.4.1",
b968e9
     "d3-transition": "^1.3.2"
b968e9
+  },
b968e9
+  "resolutions": {
b968e9
+    "crypto-browserify": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz",
b968e9
+    "http-signature": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz"
b968e9
   }
b968e9
 }
b968e9
diff --git a/webpack.config.js b/webpack.config.js
b968e9
index 00e171a..8997a9f 100644
b968e9
--- a/webpack.config.js
b968e9
+++ b/webpack.config.js
b968e9
@@ -8,6 +8,13 @@ const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin')
b968e9
 const TerserPlugin = require('terser-webpack-plugin')
b968e9
 const packageFile = require('./package.json')
b968e9
 
b968e9
+// monkey patch crypto module to not use deprecated md4 hash algorithm,
b968e9
+// which is removed in OpenSSL 3.0
b968e9
+// https://github.com/webpack/webpack/issues/13572#issuecomment-923736472
b968e9
+const crypto = require("crypto");
b968e9
+const crypto_orig_createHash = crypto.createHash;
b968e9
+crypto.createHash = algorithm => crypto_orig_createHash(algorithm == "md4" ? "sha256" : algorithm);
b968e9
+
b968e9
 module.exports = [{
b968e9
     context: path.join(__dirname, 'src'),
b968e9
     entry: {
b968e9
@@ -21,6 +28,9 @@ module.exports = [{
b968e9
         libraryExport: 'default',
b968e9
         libraryTarget: 'umd'
b968e9
     },
b968e9
+    node: {
b968e9
+        crypto: false
b968e9
+    },
b968e9
     plugins: [
b968e9
         new CopyWebpackPlugin([{
b968e9
             from: 'flamegraph.css',
b968e9
@@ -58,6 +68,9 @@ module.exports = [{
b968e9
         library: ['flamegraph', '[name]'],
b968e9
         libraryTarget: 'umd'
b968e9
     },
b968e9
+    node: {
b968e9
+        crypto: false
b968e9
+    },
b968e9
     module: {
b968e9
         rules: [{
b968e9
             test: /\.js$/,
b968e9
@@ -79,6 +92,9 @@ module.exports = [{
b968e9
         path: path.resolve(__dirname, 'dist', 'templates'),
b968e9
         filename: 'bundle.js'
b968e9
     },
b968e9
+    node: {
b968e9
+        crypto: false
b968e9
+    },
b968e9
     plugins: [
b968e9
         new CleanWebpackPlugin({
b968e9
             protectWebpackAssets: false,