diff options
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | INSTALL | 7 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | crypto.c | 21 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | default.nix | 2 | ||||
-rw-r--r-- | packaging/bcachefs-tools.spec | 2 |
7 files changed, 16 insertions, 21 deletions
diff --git a/.travis.yml b/.travis.yml index 947997b3..e66f0c2a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,6 @@ addons: - libblkid-dev - libkeyutils-dev - liblz4-dev - - libscrypt-dev - libsodium-dev - liburcu-dev - libzstd-dev @@ -6,7 +6,6 @@ Dependencies: * libblkid * libkeyutils * liblz4 - * libscrypt * libsodium * liburcu * libuuid @@ -17,7 +16,7 @@ Dependencies: Debian (Bullseye or later) and Ubuntu (20.04 or later): you can install these with apt install -y pkg-config libaio-dev libblkid-dev libkeyutils-dev \ - liblz4-dev libscrypt-dev libsodium-dev liburcu-dev libzstd-dev \ + liblz4-dev libsodium-dev liburcu-dev libzstd-dev \ uuid-dev zlib1g-dev valgrind libudev-dev git build-essential \ python3 python3-docutils @@ -25,10 +24,10 @@ Fedora: install the "Development tools" group along with: dnf install -y libaio-devel libsodium-devel \ libblkid-devel libzstd-devel zlib-devel userspace-rcu-devel \ lz4-devel libuuid-devel valgrind-devel keyutils-libs-devel \ - libscrypt-devel findutils + findutils Arch: install bcachefs-tools-git from the AUR. -Or to build from source, install libscrypt from the AUR along with, +Or to build from source, install build dependencies with pacman -S base-devel libaio keyutils libsodium liburcu zstd valgrind Then, just make && make install @@ -73,7 +73,7 @@ endif CFLAGS+=$(PKGCONFIG_CFLAGS) LDLIBS+=$(PKGCONFIG_LDLIBS) -LDLIBS+=-lm -lpthread -lrt -lscrypt -lkeyutils -laio -ldl +LDLIBS+=-lm -lpthread -lrt -lkeyutils -laio -ldl LDLIBS+=$(EXTRA_LDLIBS) ifeq ($(PREFIX),/usr) @@ -12,7 +12,7 @@ #include <keyutils.h> #include <linux/random.h> -#include <libscrypt.h> +#include <sodium/crypto_pwhash_scryptsalsa208sha256.h> #include <uuid/uuid.h> #include "libbcachefs/checksum.h" @@ -84,12 +84,13 @@ struct bch_key derive_passphrase(struct bch_sb_field_crypt *crypt, switch (BCH_CRYPT_KDF_TYPE(crypt)) { case BCH_KDF_SCRYPT: - ret = libscrypt_scrypt((void *) passphrase, strlen(passphrase), - salt, sizeof(salt), - 1ULL << BCH_KDF_SCRYPT_N(crypt), - 1ULL << BCH_KDF_SCRYPT_R(crypt), - 1ULL << BCH_KDF_SCRYPT_P(crypt), - (void *) &key, sizeof(key)); + ret = crypto_pwhash_scryptsalsa208sha256_ll( + (void *) passphrase, strlen(passphrase), + salt, sizeof(salt), + 1ULL << BCH_KDF_SCRYPT_N(crypt), + 1ULL << BCH_KDF_SCRYPT_R(crypt), + 1ULL << BCH_KDF_SCRYPT_P(crypt), + (void *) &key, sizeof(key)); if (ret) die("scrypt error: %i", ret); break; @@ -170,9 +171,9 @@ void bch_sb_crypt_init(struct bch_sb *sb, if (passphrase) { SET_BCH_CRYPT_KDF_TYPE(crypt, BCH_KDF_SCRYPT); - SET_BCH_KDF_SCRYPT_N(crypt, ilog2(SCRYPT_N)); - SET_BCH_KDF_SCRYPT_R(crypt, ilog2(SCRYPT_r)); - SET_BCH_KDF_SCRYPT_P(crypt, ilog2(SCRYPT_p)); + SET_BCH_KDF_SCRYPT_N(crypt, ilog2(16384)); + SET_BCH_KDF_SCRYPT_R(crypt, ilog2(8)); + SET_BCH_KDF_SCRYPT_P(crypt, ilog2(16)); struct bch_key passphrase_key = derive_passphrase(crypt, passphrase); diff --git a/debian/control b/debian/control index f8752bb7..091161da 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Section: utils Priority: optional Standards-Version: 3.9.5 Build-Depends: debhelper (>= 9), pkg-config, libaio-dev, libblkid-dev, - libkeyutils-dev, liblz4-dev, libscrypt-dev, libsodium-dev, liburcu-dev, + libkeyutils-dev, liblz4-dev, libsodium-dev, liburcu-dev, libzstd-dev, uuid-dev, zlib1g-dev, python3, python3-docutils Homepage: https://bcachefs.org/ diff --git a/default.nix b/default.nix index eee7300f..48f2aa93 100644 --- a/default.nix +++ b/default.nix @@ -5,7 +5,6 @@ , pkg-config , attr , libuuid -, libscrypt , libsodium , keyutils @@ -71,7 +70,6 @@ stdenv.mkDerivation { keyutils # libkeyutils lz4 # liblz4 - libscrypt libsodium liburcu libuuid diff --git a/packaging/bcachefs-tools.spec b/packaging/bcachefs-tools.spec index 4946cef9..00d0fbb4 100644 --- a/packaging/bcachefs-tools.spec +++ b/packaging/bcachefs-tools.spec @@ -15,7 +15,6 @@ BuildRequires: keyutils-libs-devel BuildRequires: libaio-devel BuildRequires: libattr-devel BuildRequires: libblkid-devel -BuildRequires: libscrypt-devel BuildRequires: libsodium-devel BuildRequires: libtool-ltdl-devel BuildRequires: libuuid-devel @@ -32,7 +31,6 @@ Requires: keyutils-libs Requires: libaio Requires: libattr Requires: libblkid -Requires: libscrypt Requires: libsodium Requires: libtool-ltdl Requires: libuuid |