]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Fix handling of unrecognized options for nettle-hash and nettle-pbkdf2.
authorNiels Möller <nisse@lysator.liu.se>
Tue, 26 Jan 2016 18:37:14 +0000 (19:37 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Tue, 26 Jan 2016 18:37:14 +0000 (19:37 +0100)
ChangeLog
tools/nettle-hash.c
tools/nettle-pbkdf2.c

index ff8d7f401bbb889d8351a0dad2450a064e22a9f1..e474c8d63ab59e8b31c1e822bb977420572eee1d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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>
 
        * nettle.texinfo: Set UPDATED-FOR to 3.2.
index c78656ad252849cd0faa8532601421fa0d0e85b4..b669a6eeda09ae830038170a4565b6c1ac45ec9c 100644 (file)
@@ -134,6 +134,19 @@ digest_file(const struct nettle_hash *alg,
   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
    (check), -b (binary), -t (text), and output format with hex hash
    sum, optional star (meaning binary mode), and file name. */
@@ -165,15 +178,11 @@ main (int argc, char **argv)
       {
       default:
        abort();
+      case '?':
+       usage (stderr);
+       return EXIT_FAILURE;
       case OPT_HELP:
-       printf("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");
+       usage (stdout);
        return EXIT_SUCCESS;
       case 'V':
        printf("nettle-hash (" PACKAGE_STRING ")\n");
index b4e74a26aa90d32ea988249215b8919fad78db1c..16040c386ce710fa7416976ca6a65b4b9e4ee292 100644 (file)
@@ -51,7 +51,7 @@
 static void
 usage (FILE *f)
 {
-  fprintf(f, "nettle-pbkdf2 [OPTIONS] SALT\n"
+  fprintf(f, "Usage: nettle-pbkdf2 [OPTIONS] SALT\n"
          "Options:\n"
          "  --help                 Show this help.\n"
          "  -V, --version          Show version information.\n"
@@ -97,6 +97,9 @@ main (int argc, char **argv)
       {
       default:
        abort();
+      case '?':
+       usage (stderr);
+       return EXIT_FAILURE;
       case OPT_HELP:
        usage (stdout);
        return EXIT_SUCCESS;