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