Skip to content

Commit

Permalink
Fix ugly ladder in src/kadmin/cli/kadmin.c
Browse files Browse the repository at this point in the history
  • Loading branch information
nicowilliams authored and greghudson committed Jul 30, 2012
1 parent ee25c0b commit 796366a
Showing 1 changed file with 112 additions and 144 deletions.
256 changes: 112 additions & 144 deletions src/kadmin/cli/kadmin.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;
}
Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 796366a

Please sign in to comment.