From 1f91b3e6da8226646fe4aa2f90a60c43c4935345 Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Tue, 17 Mar 2015 12:53:15 +0100 Subject: command: rename digest.c to hashsum.c as I'll add a new generic command named digest Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Sascha Hauer --- commands/Kconfig | 14 ++-- commands/Makefile | 2 +- commands/digest.c | 233 ----------------------------------------------------- commands/hashsum.c | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 241 insertions(+), 241 deletions(-) delete mode 100644 commands/digest.c create mode 100644 commands/hashsum.c (limited to 'commands') diff --git a/commands/Kconfig b/commands/Kconfig index 8fa2178b14..49709ded67 100644 --- a/commands/Kconfig +++ b/commands/Kconfig @@ -12,7 +12,7 @@ config HAS_POWEROFF if COMMAND_SUPPORT -config COMPILE_DIGEST +config COMPILE_HASH tristate select DIGEST help @@ -917,7 +917,7 @@ config CMD_LS config CMD_MD5SUM tristate - select COMPILE_DIGEST + select COMPILE_HASH select MD5 prompt "md5sum" help @@ -982,7 +982,7 @@ config CMD_RMDIR config CMD_SHA1SUM tristate - select COMPILE_DIGEST + select COMPILE_HASH select SHA1 prompt "sha1sum" help @@ -994,7 +994,7 @@ config CMD_SHA1SUM config CMD_SHA224SUM tristate - select COMPILE_DIGEST + select COMPILE_HASH select SHA224 prompt "sha224sum" help @@ -1006,7 +1006,7 @@ config CMD_SHA224SUM config CMD_SHA256SUM tristate - select COMPILE_DIGEST + select COMPILE_HASH select SHA256 prompt "sha256sum" help @@ -1018,7 +1018,7 @@ config CMD_SHA256SUM config CMD_SHA384SUM tristate - select COMPILE_DIGEST + select COMPILE_HASH select SHA384 prompt "sha384sum" help @@ -1030,7 +1030,7 @@ config CMD_SHA384SUM config CMD_SHA512SUM tristate - select COMPILE_DIGEST + select COMPILE_HASH select SHA512 prompt "sha512sum" help diff --git a/commands/Makefile b/commands/Makefile index 99a65d4609..095e4b624e 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -1,5 +1,5 @@ obj-$(CONFIG_STDDEV) += stddev.o -obj-$(CONFIG_COMPILE_DIGEST) += digest.o +obj-$(CONFIG_COMPILE_HASH) += hashsum.o obj-$(CONFIG_COMPILE_MEMORY) += mem.o obj-$(CONFIG_CMD_BOOTM) += bootm.o obj-$(CONFIG_CMD_UIMAGE) += uimage.o diff --git a/commands/digest.c b/commands/digest.c deleted file mode 100644 index 59c94ea2bf..0000000000 --- a/commands/digest.c +++ /dev/null @@ -1,233 +0,0 @@ -/* - * digest.c - Calculate a md5/sha1/sha256 checksum of a memory area - * - * Copyright (c) 2011 Peter Korsgaard - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static int do_digest(char *algorithm, int argc, char *argv[]) -{ - struct digest *d; - int ret = 0; - int i; - unsigned char *hash; - unsigned char *key = NULL; - size_t keylen = 0; - int opt; - - while((opt = getopt(argc, argv, "h:")) > 0) { - switch(opt) { - case 'h': - key = optarg; - keylen = strlen(key); - break; - } - } - - argc -= optind; - argv += optind; - - if (key) { - char *tmp = asprintf("hmac(%s)", algorithm); - d = digest_alloc(tmp); - BUG_ON(!d); - ret = digest_set_key(d, key, keylen); - free(tmp); - if (ret) { - perror("set_key"); - goto err; - } - } else { - d = digest_alloc(algorithm); - BUG_ON(!d); - } - - if (argc < 1) - return COMMAND_ERROR_USAGE; - - hash = calloc(digest_length(d), sizeof(unsigned char)); - if (!hash) { - perror("calloc"); - return COMMAND_ERROR_USAGE; - } - - while (*argv) { - char *filename = "/dev/mem"; - loff_t start = 0, size = ~0; - - /* arguments are either file, file+area or area */ - if (parse_area_spec(*argv, &start, &size)) { - filename = *argv; - if (argv[0] && !parse_area_spec(argv[0], &start, &size)) - argv++; - } - - ret = digest_file_window(d, filename, - hash, start, size); - if (ret < 0) { - ret = 1; - } else { - for (i = 0; i < digest_length(d); i++) - printf("%02x", hash[i]); - - printf(" %s\t0x%08llx ... 0x%08llx\n", - filename, start, start + size); - } - - argv++; - } - -err: - free(hash); - digest_free(d); - - return ret; -} - -#ifdef CONFIG_CMD_MD5SUM - -static int do_md5(int argc, char *argv[]) -{ - return do_digest("md5", argc, argv); -} - -BAREBOX_CMD_HELP_START(md5sum) -BAREBOX_CMD_HELP_TEXT("Calculate a MD5 digest over a FILE or a memory area.") -BAREBOX_CMD_HELP_END - -BAREBOX_CMD_START(md5sum) - .cmd = do_md5, - BAREBOX_CMD_DESC("calculate MD5 checksum") - BAREBOX_CMD_OPTS("FILE|AREA...") - BAREBOX_CMD_GROUP(CMD_GRP_FILE) - BAREBOX_CMD_HELP(cmd_md5sum_help) -BAREBOX_CMD_END - -#endif /* CMD_CMD_MD5SUM */ - -#ifdef CONFIG_CMD_SHA1SUM - -static int do_sha1(int argc, char *argv[]) -{ - return do_digest("sha1", argc, argv); -} - -BAREBOX_CMD_HELP_START(sha1sum) -BAREBOX_CMD_HELP_TEXT("Calculate a SHA1 digest over a FILE or a memory area.") -BAREBOX_CMD_HELP_END - -BAREBOX_CMD_START(sha1sum) - .cmd = do_sha1, - BAREBOX_CMD_DESC("calculate SHA1 digest") - BAREBOX_CMD_OPTS("FILE|AREA") - BAREBOX_CMD_GROUP(CMD_GRP_FILE) - BAREBOX_CMD_HELP(cmd_sha1sum_help) -BAREBOX_CMD_END - -#endif /* CMD_CMD_SHA1SUM */ - -#ifdef CONFIG_CMD_SHA224SUM - -static int do_sha224(int argc, char *argv[]) -{ - return do_digest("sha224", argc, argv); -} - -BAREBOX_CMD_HELP_START(sha224sum) -BAREBOX_CMD_HELP_TEXT("Calculate a SHA224 digest over a FILE or a memory area.") -BAREBOX_CMD_HELP_END - -BAREBOX_CMD_START(sha224sum) - .cmd = do_sha224, - BAREBOX_CMD_DESC("calculate SHA224 digest") - BAREBOX_CMD_OPTS("FILE|AREA") - BAREBOX_CMD_GROUP(CMD_GRP_FILE) - BAREBOX_CMD_HELP(cmd_sha224sum_help) -BAREBOX_CMD_END - -#endif /* CMD_CMD_SHA224SUM */ - -#ifdef CONFIG_CMD_SHA256SUM - -static int do_sha256(int argc, char *argv[]) -{ - return do_digest("sha256", argc, argv); -} - -BAREBOX_CMD_HELP_START(sha256sum) -BAREBOX_CMD_HELP_TEXT("Calculate a SHA256 digest over a FILE or a memory area.") -BAREBOX_CMD_HELP_END - -BAREBOX_CMD_START(sha256sum) - .cmd = do_sha256, - BAREBOX_CMD_DESC("calculate SHA256 digest") - BAREBOX_CMD_OPTS("FILE|AREA") - BAREBOX_CMD_GROUP(CMD_GRP_FILE) - BAREBOX_CMD_HELP(cmd_sha256sum_help) -BAREBOX_CMD_END - -#endif /* CMD_CMD_SHA256SUM */ - -#ifdef CONFIG_CMD_SHA384SUM - -static int do_sha384(int argc, char *argv[]) -{ - return do_digest("sha384", argc, argv); -} - -BAREBOX_CMD_HELP_START(sha384sum) -BAREBOX_CMD_HELP_TEXT("Calculate a SHA384 digest over a FILE or a memory area.") -BAREBOX_CMD_HELP_END - -BAREBOX_CMD_START(sha384sum) - .cmd = do_sha384, - BAREBOX_CMD_DESC("calculate SHA384 digest") - BAREBOX_CMD_OPTS("FILE|AREA") - BAREBOX_CMD_GROUP(CMD_GRP_FILE) - BAREBOX_CMD_HELP(cmd_sha384sum_help) -BAREBOX_CMD_END - -#endif /* CMD_CMD_SHA384SUM */ - -#ifdef CONFIG_CMD_SHA512SUM - -static int do_sha512(int argc, char *argv[]) -{ - return do_digest("sha512", argc, argv); -} - -BAREBOX_CMD_HELP_START(sha512sum) -BAREBOX_CMD_HELP_TEXT("Calculate a SHA512 digest over a FILE or a memory area.") -BAREBOX_CMD_HELP_END - -BAREBOX_CMD_START(sha512sum) - .cmd = do_sha512, - BAREBOX_CMD_DESC("calculate SHA512 digest") - BAREBOX_CMD_OPTS("FILE|AREA") - BAREBOX_CMD_GROUP(CMD_GRP_FILE) - BAREBOX_CMD_HELP(cmd_sha512sum_help) -BAREBOX_CMD_END - -#endif /* CMD_CMD_SHA512SUM */ diff --git a/commands/hashsum.c b/commands/hashsum.c new file mode 100644 index 0000000000..59c94ea2bf --- /dev/null +++ b/commands/hashsum.c @@ -0,0 +1,233 @@ +/* + * digest.c - Calculate a md5/sha1/sha256 checksum of a memory area + * + * Copyright (c) 2011 Peter Korsgaard + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static int do_digest(char *algorithm, int argc, char *argv[]) +{ + struct digest *d; + int ret = 0; + int i; + unsigned char *hash; + unsigned char *key = NULL; + size_t keylen = 0; + int opt; + + while((opt = getopt(argc, argv, "h:")) > 0) { + switch(opt) { + case 'h': + key = optarg; + keylen = strlen(key); + break; + } + } + + argc -= optind; + argv += optind; + + if (key) { + char *tmp = asprintf("hmac(%s)", algorithm); + d = digest_alloc(tmp); + BUG_ON(!d); + ret = digest_set_key(d, key, keylen); + free(tmp); + if (ret) { + perror("set_key"); + goto err; + } + } else { + d = digest_alloc(algorithm); + BUG_ON(!d); + } + + if (argc < 1) + return COMMAND_ERROR_USAGE; + + hash = calloc(digest_length(d), sizeof(unsigned char)); + if (!hash) { + perror("calloc"); + return COMMAND_ERROR_USAGE; + } + + while (*argv) { + char *filename = "/dev/mem"; + loff_t start = 0, size = ~0; + + /* arguments are either file, file+area or area */ + if (parse_area_spec(*argv, &start, &size)) { + filename = *argv; + if (argv[0] && !parse_area_spec(argv[0], &start, &size)) + argv++; + } + + ret = digest_file_window(d, filename, + hash, start, size); + if (ret < 0) { + ret = 1; + } else { + for (i = 0; i < digest_length(d); i++) + printf("%02x", hash[i]); + + printf(" %s\t0x%08llx ... 0x%08llx\n", + filename, start, start + size); + } + + argv++; + } + +err: + free(hash); + digest_free(d); + + return ret; +} + +#ifdef CONFIG_CMD_MD5SUM + +static int do_md5(int argc, char *argv[]) +{ + return do_digest("md5", argc, argv); +} + +BAREBOX_CMD_HELP_START(md5sum) +BAREBOX_CMD_HELP_TEXT("Calculate a MD5 digest over a FILE or a memory area.") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(md5sum) + .cmd = do_md5, + BAREBOX_CMD_DESC("calculate MD5 checksum") + BAREBOX_CMD_OPTS("FILE|AREA...") + BAREBOX_CMD_GROUP(CMD_GRP_FILE) + BAREBOX_CMD_HELP(cmd_md5sum_help) +BAREBOX_CMD_END + +#endif /* CMD_CMD_MD5SUM */ + +#ifdef CONFIG_CMD_SHA1SUM + +static int do_sha1(int argc, char *argv[]) +{ + return do_digest("sha1", argc, argv); +} + +BAREBOX_CMD_HELP_START(sha1sum) +BAREBOX_CMD_HELP_TEXT("Calculate a SHA1 digest over a FILE or a memory area.") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(sha1sum) + .cmd = do_sha1, + BAREBOX_CMD_DESC("calculate SHA1 digest") + BAREBOX_CMD_OPTS("FILE|AREA") + BAREBOX_CMD_GROUP(CMD_GRP_FILE) + BAREBOX_CMD_HELP(cmd_sha1sum_help) +BAREBOX_CMD_END + +#endif /* CMD_CMD_SHA1SUM */ + +#ifdef CONFIG_CMD_SHA224SUM + +static int do_sha224(int argc, char *argv[]) +{ + return do_digest("sha224", argc, argv); +} + +BAREBOX_CMD_HELP_START(sha224sum) +BAREBOX_CMD_HELP_TEXT("Calculate a SHA224 digest over a FILE or a memory area.") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(sha224sum) + .cmd = do_sha224, + BAREBOX_CMD_DESC("calculate SHA224 digest") + BAREBOX_CMD_OPTS("FILE|AREA") + BAREBOX_CMD_GROUP(CMD_GRP_FILE) + BAREBOX_CMD_HELP(cmd_sha224sum_help) +BAREBOX_CMD_END + +#endif /* CMD_CMD_SHA224SUM */ + +#ifdef CONFIG_CMD_SHA256SUM + +static int do_sha256(int argc, char *argv[]) +{ + return do_digest("sha256", argc, argv); +} + +BAREBOX_CMD_HELP_START(sha256sum) +BAREBOX_CMD_HELP_TEXT("Calculate a SHA256 digest over a FILE or a memory area.") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(sha256sum) + .cmd = do_sha256, + BAREBOX_CMD_DESC("calculate SHA256 digest") + BAREBOX_CMD_OPTS("FILE|AREA") + BAREBOX_CMD_GROUP(CMD_GRP_FILE) + BAREBOX_CMD_HELP(cmd_sha256sum_help) +BAREBOX_CMD_END + +#endif /* CMD_CMD_SHA256SUM */ + +#ifdef CONFIG_CMD_SHA384SUM + +static int do_sha384(int argc, char *argv[]) +{ + return do_digest("sha384", argc, argv); +} + +BAREBOX_CMD_HELP_START(sha384sum) +BAREBOX_CMD_HELP_TEXT("Calculate a SHA384 digest over a FILE or a memory area.") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(sha384sum) + .cmd = do_sha384, + BAREBOX_CMD_DESC("calculate SHA384 digest") + BAREBOX_CMD_OPTS("FILE|AREA") + BAREBOX_CMD_GROUP(CMD_GRP_FILE) + BAREBOX_CMD_HELP(cmd_sha384sum_help) +BAREBOX_CMD_END + +#endif /* CMD_CMD_SHA384SUM */ + +#ifdef CONFIG_CMD_SHA512SUM + +static int do_sha512(int argc, char *argv[]) +{ + return do_digest("sha512", argc, argv); +} + +BAREBOX_CMD_HELP_START(sha512sum) +BAREBOX_CMD_HELP_TEXT("Calculate a SHA512 digest over a FILE or a memory area.") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(sha512sum) + .cmd = do_sha512, + BAREBOX_CMD_DESC("calculate SHA512 digest") + BAREBOX_CMD_OPTS("FILE|AREA") + BAREBOX_CMD_GROUP(CMD_GRP_FILE) + BAREBOX_CMD_HELP(cmd_sha512sum_help) +BAREBOX_CMD_END + +#endif /* CMD_CMD_SHA512SUM */ -- cgit v1.2.3