map both princ_expire_time and pw_expiration to v4 principal expiration

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8752 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2000-07-22 01:07:13 +00:00
parent ce6492b982
commit 75e28c9473

View File

@@ -196,7 +196,7 @@ flags_4_to_5(char *flags)
case KADM_INST: case KADM_INST:
mask |= KADM5_PRINCIPAL; mask |= KADM5_PRINCIPAL;
case KADM_EXPDATE: case KADM_EXPDATE:
mask |= KADM5_PW_EXPIRATION; mask |= KADM5_PRINC_EXPIRE_TIME;
case KADM_MAXLIFE: case KADM_MAXLIFE:
mask |= KADM5_MAX_LIFE; mask |= KADM5_MAX_LIFE;
#ifdef EXTENDED_KADM #ifdef EXTENDED_KADM
@@ -221,6 +221,7 @@ ent_to_values(krb5_context context,
{ {
krb5_error_code ret; krb5_error_code ret;
char realm[REALM_SZ]; char realm[REALM_SZ];
time_t exp = 0;
memset(vals, 0, sizeof(*vals)); memset(vals, 0, sizeof(*vals));
if(mask & KADM5_PRINCIPAL) { if(mask & KADM5_PRINCIPAL) {
@@ -229,16 +230,17 @@ ent_to_values(krb5_context context,
SET_FIELD(KADM_NAME, vals->fields); SET_FIELD(KADM_NAME, vals->fields);
SET_FIELD(KADM_INST, vals->fields); SET_FIELD(KADM_INST, vals->fields);
} }
if(mask & KADM5_PW_EXPIRATION) { if(mask & KADM5_PRINC_EXPIRE_TIME) {
time_t exp = 0;
if(ent->princ_expire_time != 0) if(ent->princ_expire_time != 0)
exp = ent->princ_expire_time; exp = ent->princ_expire_time;
}
if(mask & KADM5_PW_EXPIRATION) {
if(ent->pw_expiration != 0 && (exp == 0 || exp > ent->pw_expiration)) if(ent->pw_expiration != 0 && (exp == 0 || exp > ent->pw_expiration))
exp = ent->pw_expiration; exp = ent->pw_expiration;
if(exp) { }
vals->exp_date = exp; if(exp) {
SET_FIELD(KADM_EXPDATE, vals->fields); vals->exp_date = exp;
} SET_FIELD(KADM_EXPDATE, vals->fields);
} }
if(mask & KADM5_MAX_LIFE) { if(mask & KADM5_MAX_LIFE) {
if(ent->max_life == 0) if(ent->max_life == 0)
@@ -298,8 +300,8 @@ values_to_ent(krb5_context context,
*mask |= KADM5_PRINCIPAL; *mask |= KADM5_PRINCIPAL;
} }
if(IS_FIELD(KADM_EXPDATE, vals->fields)) { if(IS_FIELD(KADM_EXPDATE, vals->fields)) {
ent->pw_expiration = vals->exp_date; ent->princ_expire_time = vals->exp_date;
*mask |= KADM5_PW_EXPIRATION; *mask |= KADM5_PRINC_EXPIRE_TIME;
} }
if(IS_FIELD(KADM_MAXLIFE, vals->fields)) { if(IS_FIELD(KADM_MAXLIFE, vals->fields)) {
ent->max_life = krb_life_to_time(0, vals->max_life); ent->max_life = krb_life_to_time(0, vals->max_life);
@@ -554,7 +556,7 @@ kadm_ser_add(krb5_context context,
goto fail; goto fail;
} }
mask = KADM5_PRINCIPAL | KADM5_PW_EXPIRATION | KADM5_MAX_LIFE | mask = KADM5_PRINCIPAL | KADM5_PRINC_EXPIRE_TIME | KADM5_MAX_LIFE |
KADM5_KEY_DATA | KADM5_MOD_TIME | KADM5_MOD_NAME; KADM5_KEY_DATA | KADM5_MOD_TIME | KADM5_MOD_NAME;
kadm5_get_principal(kadm_handle, ent.principal, &out, mask); kadm5_get_principal(kadm_handle, ent.principal, &out, mask);