[PATCH 2/9] crypto: digest: digest_file_window/digest_file/digest_file_by_name drop key params
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Tue Mar 17 04:53:09 PDT 2015
expect the key to be set before calling
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
commands/digest.c | 10 ++++++++--
crypto/digest.c | 10 ++--------
include/digest.h | 3 ---
3 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/commands/digest.c b/commands/digest.c
index 701e6a1..fa692eb 100644
--- a/commands/digest.c
+++ b/commands/digest.c
@@ -52,11 +52,17 @@ static int do_digest(char *algorithm, int argc, char *argv[])
if (key) {
char *tmp = asprintf("hmac(%s)", algorithm);
d = digest_alloc(tmp);
+ BUG_ON(!d);
+ ret = digest_sey_key(d, key, keylen);
free(tmp);
+ if (ret) {
+ perror("set_key");
+ goto err;
+ }
} else {
d = digest_alloc(algorithm);
+ BUG_ON(!d);
}
- BUG_ON(!d);
if (argc < 1)
return COMMAND_ERROR_USAGE;
@@ -79,7 +85,6 @@ static int do_digest(char *algorithm, int argc, char *argv[])
}
ret = digest_file_window(d, filename,
- key, keylen,
hash, start, size);
if (ret < 0) {
ret = 1;
@@ -94,6 +99,7 @@ static int do_digest(char *algorithm, int argc, char *argv[])
argv++;
}
+err:
free(hash);
digest_free(d);
diff --git a/crypto/digest.c b/crypto/digest.c
index 2228ec7..208a204 100644
--- a/crypto/digest.c
+++ b/crypto/digest.c
@@ -116,7 +116,6 @@ void digest_free(struct digest *d)
EXPORT_SYMBOL_GPL(digest_free);
int digest_file_window(struct digest *d, const char *filename,
- const unsigned char *key, size_t keylen,
unsigned char *hash,
ulong start, ulong size)
{
@@ -125,9 +124,6 @@ int digest_file_window(struct digest *d, const char *filename,
unsigned char *buf;
int flags = 0;
- if (key)
- digest_set_key(d, key, keylen);
-
ret = digest_init(d);
if (ret)
return ret;
@@ -194,7 +190,6 @@ out:
EXPORT_SYMBOL_GPL(digest_file_window);
int digest_file(struct digest *d, const char *filename,
- const unsigned char *key, size_t keylen,
unsigned char *hash)
{
struct stat st;
@@ -205,12 +200,11 @@ int digest_file(struct digest *d, const char *filename,
if (ret < 0)
return ret;
- return digest_file_window(d, filename, key, keylen, hash, 0, st.st_size);
+ return digest_file_window(d, filename, hash, 0, st.st_size);
}
EXPORT_SYMBOL_GPL(digest_file);
int digest_file_by_name(const char *algo, const char *filename,
- const unsigned char *key, size_t keylen,
unsigned char *hash)
{
struct digest *d;
@@ -220,7 +214,7 @@ int digest_file_by_name(const char *algo, const char *filename,
if (!d)
return -EIO;
- ret = digest_file(d, filename, key, keylen, hash);
+ ret = digest_file(d, filename, hash);
digest_free(d);
return ret;
}
diff --git a/include/digest.h b/include/digest.h
index b890a7a..1c742f6 100644
--- a/include/digest.h
+++ b/include/digest.h
@@ -54,14 +54,11 @@ struct digest *digest_alloc(const char *name);
void digest_free(struct digest *d);
int digest_file_window(struct digest *d, const char *filename,
- const unsigned char *key, size_t keylen,
unsigned char *hash,
ulong start, ulong size);
int digest_file(struct digest *d, const char *filename,
- const unsigned char *key, size_t keylen,
unsigned char *hash);
int digest_file_by_name(const char *algo, const char *filename,
- const unsigned char *key, size_t keylen,
unsigned char *hash);
static inline int digest_init(struct digest *d)
--
2.1.4
More information about the barebox
mailing list