(edit_entry): look at default
(edit_time): always set mask even if value == 0 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6356 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -157,8 +157,7 @@ edit_time (const char *prompt, krb5_deltat *value, int *mask, int bit)
|
|||||||
get_response(prompt, buf, resp, sizeof(resp));
|
get_response(prompt, buf, resp, sizeof(resp));
|
||||||
if (str2deltat(resp, &tmp) == 0) {
|
if (str2deltat(resp, &tmp) == 0) {
|
||||||
*value = tmp;
|
*value = tmp;
|
||||||
if (tmp)
|
*mask |= bit;
|
||||||
*mask |= bit;
|
|
||||||
break;
|
break;
|
||||||
} else if(*resp == '?') {
|
} else if(*resp == '?') {
|
||||||
print_time_table (stderr);
|
print_time_table (stderr);
|
||||||
@@ -198,20 +197,34 @@ edit_attributes (const char *prompt, krb5_flags *attr, int *mask, int bit)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
edit_entry(kadm5_principal_ent_t ent, int *mask)
|
edit_entry(kadm5_principal_ent_t ent, int *mask,
|
||||||
|
kadm5_principal_ent_t default_ent, int default_mask)
|
||||||
{
|
{
|
||||||
|
if (default_ent && (default_mask & KADM5_MAX_LIFE))
|
||||||
|
ent->max_life = default_ent->max_life;
|
||||||
edit_time ("Max ticket life", &ent->max_life, mask,
|
edit_time ("Max ticket life", &ent->max_life, mask,
|
||||||
KADM5_MAX_LIFE);
|
KADM5_MAX_LIFE);
|
||||||
|
if (default_ent && (default_mask & KADM5_MAX_RLIFE))
|
||||||
|
ent->max_renewable_life = default_ent->max_renewable_life;
|
||||||
edit_time ("Max renewable life", &ent->max_renewable_life, mask,
|
edit_time ("Max renewable life", &ent->max_renewable_life, mask,
|
||||||
KADM5_MAX_RLIFE);
|
KADM5_MAX_RLIFE);
|
||||||
|
if (default_ent && (default_mask & KADM5_ATTRIBUTES))
|
||||||
|
ent->attributes = default_ent->attributes & ~KRB5_KDB_DISALLOW_ALL_TIX;
|
||||||
edit_attributes ("Attributes", &ent->attributes, mask,
|
edit_attributes ("Attributes", &ent->attributes, mask,
|
||||||
KADM5_ATTRIBUTES);
|
KADM5_ATTRIBUTES);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Parse the arguments, set the fields in `ent' and the `mask' for the
|
||||||
|
* entries having been set.
|
||||||
|
* Return 1 on failure and 0 on success.
|
||||||
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
set_entry(krb5_context context,
|
set_entry(krb5_context context,
|
||||||
kadm5_principal_ent_t ent, int *mask,
|
kadm5_principal_ent_t ent,
|
||||||
|
int *mask,
|
||||||
const char *max_ticket_life,
|
const char *max_ticket_life,
|
||||||
const char *max_renewable_life,
|
const char *max_renewable_life,
|
||||||
const char *attributes)
|
const char *attributes)
|
||||||
|
Reference in New Issue
Block a user