[30500] in CVS-changelog-for-Kerberos-V5

home help back first fref pref prev next nref lref last post

krb5 commit: Improve error messages from kadmin change_password

daemon@ATHENA.MIT.EDU (Greg Hudson)
Fri May 10 11:06:28 2019

Date: Fri, 10 May 2019 11:06:11 -0400
From: Greg Hudson <ghudson@mit.edu>
Message-ID: <201905101506.x4AF6Bi6012248@drugstore.mit.edu>
To: <cvs-krb5@mit.edu>
MIME-Version: 1.0
Reply-To: krbdev@mit.edu
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cvs-krb5-bounces@mit.edu

https://github.com/krb5/krb5/commit/13ba54002d362ebb09be464b4e7ec75050d1348f
commit 13ba54002d362ebb09be464b4e7ec75050d1348f
Author: Robbie Harwood <rharwood@redhat.com>
Date:   Mon May 6 13:13:16 2019 -0400

    Improve error messages from kadmin change_password
    
    The checks for missing option arguments were dead code, because the
    loop condition requires at least two remaining arguments.  Instead
    check for at least one argument with a leading "-", and check for too
    many or too few arguments after the loop.  Add an initial message for
    unrecognized options.
    
    [ghudson@mit.edu: adjusted logic to improve mesages in more cases]

 src/kadmin/cli/kadmin.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c
index cc74921..fe4cb49 100644
--- a/src/kadmin/cli/kadmin.c
+++ b/src/kadmin/cli/kadmin.c
@@ -797,11 +797,11 @@ kadmin_cpw(int argc, char *argv[])
     char **db_args = NULL;
     int db_args_size = 0;
 
-    if (argc < 2) {
+    if (argc < 1) {
         cpw_usage(NULL);
         return;
     }
-    for (argv++, argc--; argc > 1; argc--, argv++) {
+    for (argv++, argc--; argc > 0 && **argv == '-'; argc--, argv++) {
         if (!strcmp("-x", *argv)) {
             argc--;
             if (argc < 1) {
@@ -841,12 +841,16 @@ kadmin_cpw(int argc, char *argv[])
                 goto cleanup;
             }
         } else {
+            com_err("change_password", 0, _("unrecognized option %s"), *argv);
             cpw_usage(NULL);
             goto cleanup;
         }
     }
-    if (*argv == NULL) {
-        com_err("change_password", 0, _("missing principal name"));
+    if (argc != 1) {
+        if (argc < 1)
+            com_err("change_password", 0, _("missing principal name"));
+        else
+            com_err("change_password", 0, _("too many arguments"));
         cpw_usage(NULL);
         goto cleanup;
     }
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5

home help back first fref pref prev next nref lref last post