krb5 commit: Fix ugly ladder in src/kadmin/cli/kadmin.c

Greg Hudson ghudson at MIT.EDU
Mon Jul 30 19:11:47 EDT 2012


https://github.com/krb5/krb5/commit/796366a03ea170efb937913acae36a2083a5329e
commit 796366a03ea170efb937913acae36a2083a5329e
Author: Nicolas Williams <nico at cryptonector.com>
Date:   Wed Jul 18 22:55:22 2012 -0500

    Fix ugly ladder in src/kadmin/cli/kadmin.c

 src/kadmin/cli/kadmin.c |  256 +++++++++++++++++++++--------------------------
 1 files changed, 112 insertions(+), 144 deletions(-)

diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c
index a6a767d..bcc01b5 100644
--- a/src/kadmin/cli/kadmin.c
+++ b/src/kadmin/cli/kadmin.c
@@ -945,7 +945,7 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
     *randkey = FALSE;
     for (i = 1; i < argc - 1; i++) {
         attrib_set = 0;
-        if (strlen(argv[i]) == 2 && !strcmp("-x",argv[i])) {
+        if (!strcmp("-x",argv[i])) {
             if (++i > argc - 2)
                 return -1;
 
@@ -954,116 +954,100 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
             *mask |= KADM5_TL_DATA;
             continue;
         }
-        if (strlen(argv[i]) == 7 && !strcmp("-expire", argv[i])) {
+        if (!strcmp("-expire", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                date = get_date(argv[i]);
-                if (date == (time_t)-1) {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                oprinc->princ_expire_time = date;
-                *mask |= KADM5_PRINC_EXPIRE_TIME;
-                continue;
+            date = get_date(argv[i]);
+            if (date == (time_t)-1) {
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
+            oprinc->princ_expire_time = date;
+            *mask |= KADM5_PRINC_EXPIRE_TIME;
+            continue;
         }
-        if (strlen(argv[i]) == 9 && !strcmp("-pwexpire", argv[i])) {
+        if (!strcmp("-pwexpire", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                date = get_date(argv[i]);
-                if (date == (time_t)-1) {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                oprinc->pw_expiration = date;
-                *mask |= KADM5_PW_EXPIRATION;
-                continue;
+            date = get_date(argv[i]);
+            if (date == (time_t)-1) {
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
+            oprinc->pw_expiration = date;
+            *mask |= KADM5_PW_EXPIRATION;
+            continue;
         }
-        if (strlen(argv[i]) == 8 && !strcmp("-maxlife", argv[i])) {
+        if (!strcmp("-maxlife", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                date = get_date(argv[i]);
-                if (date == (time_t)-1) {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                oprinc->max_life = date - now;
-                *mask |= KADM5_MAX_LIFE;
-                continue;
+            date = get_date(argv[i]);
+            if (date == (time_t)-1) {
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
+            oprinc->max_life = date - now;
+            *mask |= KADM5_MAX_LIFE;
+            continue;
         }
-        if (strlen(argv[i]) == 13 && !strcmp("-maxrenewlife", argv[i])) {
+        if (!strcmp("-maxrenewlife", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                date = get_date(argv[i]);
-                if (date == (time_t)-1) {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                oprinc->max_renewable_life = date - now;
-                *mask |= KADM5_MAX_RLIFE;
-                continue;
+            date = get_date(argv[i]);
+            if (date == (time_t)-1) {
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
+            oprinc->max_renewable_life = date - now;
+            *mask |= KADM5_MAX_RLIFE;
+            continue;
         }
-        if (strlen(argv[i]) == 5 && !strcmp("-kvno", argv[i])) {
+        if (!strcmp("-kvno", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                oprinc->kvno = atoi(argv[i]);
-                *mask |= KADM5_KVNO;
-                continue;
-            }
+            oprinc->kvno = atoi(argv[i]);
+            *mask |= KADM5_KVNO;
+            continue;
         }
-        if (strlen(argv[i]) == 7 && !strcmp("-policy", argv[i])) {
+        if (!strcmp("-policy", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                oprinc->policy = argv[i];
-                *mask |= KADM5_POLICY;
-                continue;
-            }
+            oprinc->policy = argv[i];
+            *mask |= KADM5_POLICY;
+            continue;
         }
-        if (strlen(argv[i]) == 12 && !strcmp("-clearpolicy", argv[i])) {
+        if (!strcmp("-clearpolicy", argv[i])) {
             oprinc->policy = NULL;
             *mask |= KADM5_POLICY_CLR;
             continue;
         }
-        if (strlen(argv[i]) == 3 && !strcmp("-pw", argv[i])) {
+        if (!strcmp("-pw", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                *pass = argv[i];
-                continue;
-            }
+            *pass = argv[i];
+            continue;
         }
-        if (strlen(argv[i]) == 8 && !strcmp("-randkey", argv[i])) {
+        if (!strcmp("-randkey", argv[i])) {
             *randkey = TRUE;
             continue;
         }
-        if (strlen(argv[i]) == 7 && !strcmp("-unlock", argv[i])) {
+        if (!strcmp("-unlock", argv[i])) {
             unlock_princ(oprinc, mask, caller);
             continue;
         }
         if (!strcmp("-e", argv[i])) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                retval = krb5_string_to_keysalts(argv[i], ", \t", ":.-", 0,
-                                                 ks_tuple, n_ks_tuple);
-                if (retval) {
-                    com_err(caller, retval, _("while parsing keysalts %s"),
-                            argv[i]);
-                    return -1;
-                }
+            retval = krb5_string_to_keysalts(argv[i], ", \t", ":.-", 0,
+                                             ks_tuple, n_ks_tuple);
+            if (retval) {
+                com_err(caller, retval, _("while parsing keysalts %s"),
+                        argv[i]);
+                return -1;
             }
             continue;
         }
@@ -1495,105 +1479,89 @@ kadmin_parse_policy_args(int argc, char *argv[], kadm5_policy_ent_t policy,
     time(&now);
     *mask = 0;
     for (i = 1; i < argc - 1; i++) {
-        if (strlen(argv[i]) == 8 && !strcmp(argv[i], "-maxlife")) {
+        if (!strcmp(argv[i], "-maxlife")) {
             if (++i > argc -2)
                 return -1;
-            else {
-                date = get_date(argv[i]);
-                if (date == (time_t)-1) {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                policy->pw_max_life = date - now;
-                *mask |= KADM5_PW_MAX_LIFE;
-                continue;
+            date = get_date(argv[i]);
+            if (date == (time_t)-1) {
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
-        } else if (strlen(argv[i]) == 8 && !strcmp(argv[i], "-minlife")) {
+            policy->pw_max_life = date - now;
+            *mask |= KADM5_PW_MAX_LIFE;
+            continue;
+        } else if (!strcmp(argv[i], "-minlife")) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                date = get_date(argv[i]);
-                if (date == (time_t)-1) {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                policy->pw_min_life = date - now;
-                *mask |= KADM5_PW_MIN_LIFE;
-                continue;
+            date = get_date(argv[i]);
+            if (date == (time_t)-1) {
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
-        } else if (strlen(argv[i]) == 10 && !strcmp(argv[i], "-minlength")) {
+            policy->pw_min_life = date - now;
+            *mask |= KADM5_PW_MIN_LIFE;
+            continue;
+        } else if (!strcmp(argv[i], "-minlength")) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                policy->pw_min_length = atoi(argv[i]);
-                *mask |= KADM5_PW_MIN_LENGTH;
-                continue;
-            }
-        } else if (strlen(argv[i]) == 11 && !strcmp(argv[i], "-minclasses")) {
+            policy->pw_min_length = atoi(argv[i]);
+            *mask |= KADM5_PW_MIN_LENGTH;
+            continue;
+        } else if (!strcmp(argv[i], "-minclasses")) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                policy->pw_min_classes = atoi(argv[i]);
-                *mask |= KADM5_PW_MIN_CLASSES;
-                continue;
-            }
-        } else if (strlen(argv[i]) == 8 && !strcmp(argv[i], "-history")) {
+            policy->pw_min_classes = atoi(argv[i]);
+            *mask |= KADM5_PW_MIN_CLASSES;
+            continue;
+        } else if (!strcmp(argv[i], "-history")) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                policy->pw_history_num = atoi(argv[i]);
-                *mask |= KADM5_PW_HISTORY_NUM;
-                continue;
-            }
+            policy->pw_history_num = atoi(argv[i]);
+            *mask |= KADM5_PW_HISTORY_NUM;
+            continue;
         } else if (strlen(argv[i]) == 11 &&
                    !strcmp(argv[i], "-maxfailure")) {
             if (++i > argc - 2)
                 return -1;
-            else {
-                policy->pw_max_fail = atoi(argv[i]);
-                *mask |= KADM5_PW_MAX_FAILURE;
-                continue;
-            }
+            policy->pw_max_fail = atoi(argv[i]);
+            *mask |= KADM5_PW_MAX_FAILURE;
+            continue;
         } else if (strlen(argv[i]) == 21 &&
                    !strcmp(argv[i], "-failurecountinterval")) {
             if (++i > argc - 2)
                 return -1;
+            /* Allow bare numbers for compatibility with 1.8-1.9. */
+            date = get_date(argv[i]);
+            if (date != (time_t)-1)
+                policy->pw_failcnt_interval = date - now;
+            else if (isdigit(*argv[i]))
+                policy->pw_failcnt_interval = atoi(argv[i]);
             else {
-                /* Allow bare numbers for compatibility with 1.8-1.9. */
-                date = get_date(argv[i]);
-                if (date != (time_t)-1)
-                    policy->pw_failcnt_interval = date - now;
-                else if (isdigit(*argv[i]))
-                    policy->pw_failcnt_interval = atoi(argv[i]);
-                else {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                *mask |= KADM5_PW_FAILURE_COUNT_INTERVAL;
-                continue;
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
+            *mask |= KADM5_PW_FAILURE_COUNT_INTERVAL;
+            continue;
         } else if (strlen(argv[i]) == 16 &&
                    !strcmp(argv[i], "-lockoutduration")) {
             if (++i > argc - 2)
                 return -1;
+            /* Allow bare numbers for compatibility with 1.8-1.9. */
+            date = get_date(argv[i]);
+            if (date != (time_t)-1)
+                policy->pw_lockout_duration = date - now;
+            else if (isdigit(*argv[i]))
+                policy->pw_lockout_duration = atoi(argv[i]);
             else {
-                /* Allow bare numbers for compatibility with 1.8-1.9. */
-                date = get_date(argv[i]);
-                if (date != (time_t)-1)
-                    policy->pw_lockout_duration = date - now;
-                else if (isdigit(*argv[i]))
-                    policy->pw_lockout_duration = atoi(argv[i]);
-                else {
-                    fprintf(stderr, _("Invalid date specification \"%s\".\n"),
-                            argv[i]);
-                    return -1;
-                }
-                *mask |= KADM5_PW_LOCKOUT_DURATION;
-                continue;
+                fprintf(stderr, _("Invalid date specification \"%s\".\n"),
+                        argv[i]);
+                return -1;
             }
+            *mask |= KADM5_PW_LOCKOUT_DURATION;
+            continue;
         } else
             return -1;
     }


More information about the cvs-krb5 mailing list