From: Nicolas Williams Date: Thu, 19 Jul 2012 03:55:22 +0000 (-0500) Subject: Fix ugly ladder in src/kadmin/cli/kadmin.c X-Git-Tag: krb5-1.11-alpha1~375 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=796366a03ea170efb937913acae36a2083a5329e;p=thirdparty%2Fkrb5.git Fix ugly ladder in src/kadmin/cli/kadmin.c --- diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c index a6a767db79..bcc01b5171 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; }