summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-08-27 16:17:11 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-08-28 08:00:30 +0200
commit2b5bdb47cf700a46abdf093c3a6df40f84b0d34a (patch)
tree222bbce8fd2c95c3b6ce0c9d14c98592b2df44fd
parent3e361f37643bfaea1b1bc06ab9767b2755deec21 (diff)
downloadbarebox-2b5bdb47cf700a46abdf093c3a6df40f84b0d34a.tar.gz
barebox-2b5bdb47cf700a46abdf093c3a6df40f84b0d34a.tar.xz
crypto: fix selecting of digests
SHA1 is meant as a boolean option which is true when sha1 support is available. This works because the providers (DIGEST_SHA1_GENERIC and DIGEST_SHA1_ARM) have a 'select SHA1'. However, consumers like the sha1sum command do a 'select SHA1' to enable SHA1 support. This of course does not work; selecting SHA1 will not select any of the SHA1 providers. This is broken for all digest consumers. We have to explicitly select a digest provider, that is DIGEST_*_GENERIC to enable the corresponding digest. This means now we will always have the generic digest in the binary, even when an optimized one is enabled. There is no sane way in Kconfig to "select provider for feature xy", so let's live with the overhead in the binary. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--commands/Kconfig12
-rw-r--r--common/Kconfig8
-rw-r--r--crypto/Kconfig2
3 files changed, 11 insertions, 11 deletions
diff --git a/commands/Kconfig b/commands/Kconfig
index 133dcbf22c..c2c42cc4e2 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -928,7 +928,7 @@ config CMD_LS
config CMD_MD5SUM
tristate
select COMPILE_HASH
- select MD5
+ select DIGEST_MD5_GENERIC
prompt "md5sum"
help
Usage: md5sum FILE|AREA...
@@ -993,7 +993,7 @@ config CMD_RMDIR
config CMD_SHA1SUM
tristate
select COMPILE_HASH
- select SHA1
+ select DIGEST_SHA1_GENERIC
prompt "sha1sum"
help
Calculate SHA1 digest
@@ -1005,7 +1005,7 @@ config CMD_SHA1SUM
config CMD_SHA224SUM
tristate
select COMPILE_HASH
- select SHA224
+ select DIGEST_SHA224_GENERIC
prompt "sha224sum"
help
Calculate SHA224 digest
@@ -1017,7 +1017,7 @@ config CMD_SHA224SUM
config CMD_SHA256SUM
tristate
select COMPILE_HASH
- select SHA256
+ select DIGEST_SHA256_GENERIC
prompt "sha256sum"
help
sha256sum - calculate SHA256 digest
@@ -1029,7 +1029,7 @@ config CMD_SHA256SUM
config CMD_SHA384SUM
tristate
select COMPILE_HASH
- select SHA384
+ select DIGEST_SHA384_GENERIC
prompt "sha384sum"
help
Calculate SHA384 digest
@@ -1041,7 +1041,7 @@ config CMD_SHA384SUM
config CMD_SHA512SUM
tristate
select COMPILE_HASH
- select SHA512
+ select DIGEST_SHA512_GENERIC
prompt "sha512sum"
help
sha512sum - calculate SHA512 digest
diff --git a/common/Kconfig b/common/Kconfig
index 8c6ba7fd42..03a0dc9f2c 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -460,19 +460,19 @@ choice
config PASSWD_SUM_MD5
bool "MD5"
- select MD5
+ select DIGEST_MD5_GENERIC
config PASSWD_SUM_SHA1
bool "SHA1"
- select SHA1
+ select DIGEST_SHA1_GENERIC
config PASSWD_SUM_SHA256
bool "SHA256"
- select SHA256
+ select DIGEST_SHA256_GENERIC
config PASSWD_SUM_SHA512
bool "SHA512"
- select SHA512
+ select DIGEST_SHA512_GENERIC
config PASSWD_CRYPTO_PBKDF2
bool "PBKDF2"
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 24f8b410ed..ef807dec68 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -82,5 +82,5 @@ endif
config CRYPTO_PBKDF2
select DIGEST
- select SHA1
+ select DIGEST_SHA1_GENERIC
bool