diff --git a/crates/bitwarden-wasm/Cargo.toml b/crates/bitwarden-wasm/Cargo.toml index b57a0192e..7a78d7ba6 100644 --- a/crates/bitwarden-wasm/Cargo.toml +++ b/crates/bitwarden-wasm/Cargo.toml @@ -15,10 +15,6 @@ keywords.workspace = true crate-type = ["cdylib"] [dependencies] -argon2 = { version = ">=0.5.0, <0.6", features = [ - "alloc", - "zeroize", -], default-features = false } bitwarden-json = { path = "../bitwarden-json", features = ["secrets"] } console_error_panic_hook = "0.1.7" console_log = { version = "1.0.0", features = ["color"] } diff --git a/crates/bitwarden-wasm/README.md b/crates/bitwarden-wasm/README.md index 6fa8870f2..8c3f6e941 100644 --- a/crates/bitwarden-wasm/README.md +++ b/crates/bitwarden-wasm/README.md @@ -4,7 +4,7 @@ Requirements: - `wasm32-unknown-unknown` rust target. - `wasm-bindgen-cli` installed. -- `binaryen` installed for `wasm-opt` and `wasm2js`. +- `binaryen` installed for `wasm-opt`. ```bash rustup target add wasm32-unknown-unknown diff --git a/crates/bitwarden-wasm/build.sh b/crates/bitwarden-wasm/build.sh index d49b12de3..904619df5 100755 --- a/crates/bitwarden-wasm/build.sh +++ b/crates/bitwarden-wasm/build.sh @@ -17,7 +17,3 @@ fi # Optimize size wasm-opt -Os ./languages/js/wasm/bitwarden_wasm_bg.wasm -o ./languages/js/wasm/bitwarden_wasm_bg.wasm wasm-opt -Os ./languages/js/wasm/node/bitwarden_wasm_bg.wasm -o ./languages/js/wasm/node/bitwarden_wasm_bg.wasm - -# Transpile to JS -wasm2js ./languages/js/wasm/bitwarden_wasm_bg.wasm -o ./languages/js/wasm/bitwarden_wasm_bg.wasm.js -npx terser ./languages/js/wasm/bitwarden_wasm_bg.wasm.js -o ./languages/js/wasm/bitwarden_wasm_bg.wasm.js diff --git a/crates/bitwarden-wasm/src/client.rs b/crates/bitwarden-wasm/src/client.rs index e130705c1..e19d62996 100644 --- a/crates/bitwarden-wasm/src/client.rs +++ b/crates/bitwarden-wasm/src/client.rs @@ -1,7 +1,6 @@ extern crate console_error_panic_hook; use std::rc::Rc; -use argon2::{Algorithm, Argon2, Params, Version}; use bitwarden_json::client::Client as JsonClient; use js_sys::Promise; use log::{set_max_level, Level}; @@ -54,27 +53,3 @@ impl BitwardenClient { }) } } - -#[wasm_bindgen] -pub fn argon2( - password: &[u8], - salt: &[u8], - iterations: u32, - memory: u32, - parallelism: u32, -) -> Result, JsError> { - let argon = Argon2::new( - Algorithm::Argon2id, - Version::V0x13, - Params::new( - memory * 1024, // Convert MiB to KiB - iterations, - parallelism, - Some(32), - )?, - ); - - let mut hash = [0u8; 32]; - argon.hash_password_into(password, salt, &mut hash)?; - Ok(hash.to_vec()) -} diff --git a/languages/js/wasm/index.js b/languages/js/wasm/index.js index c2b512005..09fd04b70 100644 --- a/languages/js/wasm/index.js +++ b/languages/js/wasm/index.js @@ -1,24 +1,4 @@ -// https://stackoverflow.com/a/47880734 -const supported = (() => { - try { - if (typeof WebAssembly === "object" - && typeof WebAssembly.instantiate === "function") { - const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00)); - if (module instanceof WebAssembly.Module) - return new WebAssembly.Instance(module) instanceof WebAssembly.Instance; - } - } catch (e) { - } - return false; -})(); - -let wasm; - -if (supported) { - wasm = await import('./bitwarden_wasm_bg.wasm'); -} else { - wasm = await import('./bitwarden_wasm_bg.wasm.js'); -} +wasm = await import('./bitwarden_wasm_bg.wasm'); import { __wbg_set_wasm } from "./bitwarden_wasm_bg.js"; __wbg_set_wasm(wasm);