Skip to content
Snippets Groups Projects
Commit 99f954f7 authored by Niels Möller's avatar Niels Möller
Browse files

Fix handling of unrecognized options for nettle-hash and nettle-pbkdf2.

parent 35666208
No related branches found
No related tags found
No related merge requests found
2016-01-26 Niels Möller <nisse@lysator.liu.se>
* tools/nettle-pbkdf2.c (main): Fix handling of unrecognized
options. Bug reported by Dongsheng Zhang. Display usage message
and exit non-zero. Also added "Usage: "-prefix to the message.
* tools/nettle-hash.c (usage): New function, extracted from main.
(main): Analogous fix for unrecognized options.
2016-01-23 Niels Möller <nisse@lysator.liu.se> 2016-01-23 Niels Möller <nisse@lysator.liu.se>
* nettle.texinfo: Set UPDATED-FOR to 3.2. * nettle.texinfo: Set UPDATED-FOR to 3.2.
......
...@@ -134,6 +134,19 @@ digest_file(const struct nettle_hash *alg, ...@@ -134,6 +134,19 @@ digest_file(const struct nettle_hash *alg,
return 1; return 1;
} }
static void
usage (FILE *f)
{
fprintf(f, "Usage: nettle-hash -a ALGORITHM [OPTIONS] [FILE ...]\n"
"Options:\n"
" --help Show this help.\n"
" -V, --version Show version information.\n"
" --list List supported hash algorithms.\n"
" -a, --algorithm=ALG Hash algorithm to use.\n"
" -l, --length=LENGTH Desired digest length (octets)\n"
" --raw Raw binary output.\n");
}
/* FIXME: Be more compatible with md5sum and sha1sum. Options -c /* FIXME: Be more compatible with md5sum and sha1sum. Options -c
(check), -b (binary), -t (text), and output format with hex hash (check), -b (binary), -t (text), and output format with hex hash
sum, optional star (meaning binary mode), and file name. */ sum, optional star (meaning binary mode), and file name. */
...@@ -165,15 +178,11 @@ main (int argc, char **argv) ...@@ -165,15 +178,11 @@ main (int argc, char **argv)
{ {
default: default:
abort(); abort();
case '?':
usage (stderr);
return EXIT_FAILURE;
case OPT_HELP: case OPT_HELP:
printf("nettle-hash -a ALGORITHM [OPTIONS] [FILE ...]\n" usage (stdout);
"Options:\n"
" --help Show this help.\n"
" -V, --version Show version information.\n"
" --list List supported hash algorithms.\n"
" -a, --algorithm=ALG Hash algorithm to use.\n"
" -l, --length=LENGTH Desired digest length (octets)\n"
" --raw Raw binary output.\n");
return EXIT_SUCCESS; return EXIT_SUCCESS;
case 'V': case 'V':
printf("nettle-hash (" PACKAGE_STRING ")\n"); printf("nettle-hash (" PACKAGE_STRING ")\n");
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
static void static void
usage (FILE *f) usage (FILE *f)
{ {
fprintf(f, "nettle-pbkdf2 [OPTIONS] SALT\n" fprintf(f, "Usage: nettle-pbkdf2 [OPTIONS] SALT\n"
"Options:\n" "Options:\n"
" --help Show this help.\n" " --help Show this help.\n"
" -V, --version Show version information.\n" " -V, --version Show version information.\n"
...@@ -97,6 +97,9 @@ main (int argc, char **argv) ...@@ -97,6 +97,9 @@ main (int argc, char **argv)
{ {
default: default:
abort(); abort();
case '?':
usage (stderr);
return EXIT_FAILURE;
case OPT_HELP: case OPT_HELP:
usage (stdout); usage (stdout);
return EXIT_SUCCESS; return EXIT_SUCCESS;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment