[PATCH v2 0/7] common: Introduce crypt-style password support
Steffen Jaeckel
jaeckel-floss at eyet-services.de
Mon May 10 08:19:09 CEST 2021
This patchset introduces support for crypt-style passwords to unlock
the console in autoboot mode.
The implementation of crypt-sha256 and crypt-sha512 originate from
libxcrypt at https://github.com/besser82/libxcrypt.git
Version v4.4.17
Git commit hash 6b110bc
I didn't re-format those two files to make diffing to the original
versions from libxcrypt easier, which leads to a huge load of
checkpatch.pl warnings&errors. Please advise on whether they should be
re-formatted or can be kept as is.
The remaining warnings from checkpatch.pl are intentional resp. open for
discussion.
A sandbox defconfig with password entry has been added. I'm not sure
whether this should be kept or not, it's just there as an example.
Cheers,
Steffen
Changes in v2:
Update Kconfig way of enabling, setting hashes etc.
Changes in v1:
Added unit-tests of crypt_compare()
Wrapped crypt functions to encapsulate errno
Steffen Jaeckel (7):
lib: add crypt subsystem
lib: wrap crypt API to hide errno usage
common: integrate crypt-based passwords
common: Rename macro appropriately
cmd: allow disabling of timeout for password entry
configs: add new values to bcm963158 defconfig
configs: add new sandbox with crypt-based password
common/Kconfig.boot | 45 +++-
common/autoboot.c | 104 +++++++--
configs/bcm963158_ram_defconfig | 8 +
configs/sandbox_cryptpass_defconfig | 296 +++++++++++++++++++++++
include/crypt.h | 14 ++
lib/Kconfig | 1 +
lib/Makefile | 1 +
lib/crypt/Kconfig | 28 +++
lib/crypt/Makefile | 10 +
lib/crypt/alg-sha256.h | 11 +
lib/crypt/alg-sha512.h | 11 +
lib/crypt/crypt-port.h | 30 +++
lib/crypt/crypt-sha256.c | 335 ++++++++++++++++++++++++++
lib/crypt/crypt-sha512.c | 350 ++++++++++++++++++++++++++++
lib/crypt/crypt.c | 76 ++++++
test/Kconfig | 9 +
test/lib/Makefile | 1 +
test/lib/test_crypt.c | 64 +++++
18 files changed, 1373 insertions(+), 21 deletions(-)
create mode 100644 configs/sandbox_cryptpass_defconfig
create mode 100644 include/crypt.h
create mode 100644 lib/crypt/Kconfig
create mode 100644 lib/crypt/Makefile
create mode 100644 lib/crypt/alg-sha256.h
create mode 100644 lib/crypt/alg-sha512.h
create mode 100644 lib/crypt/crypt-port.h
create mode 100644 lib/crypt/crypt-sha256.c
create mode 100644 lib/crypt/crypt-sha512.c
create mode 100644 lib/crypt/crypt.c
create mode 100644 test/lib/test_crypt.c
--
2.31.1
More information about the U-Boot
mailing list