(init): new arguments realm-max-ticket-life and

realm-max-renewable-life


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6127 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-05-04 18:40:57 +00:00
parent 88bf0bfb81
commit dba18eafe8

View File

@@ -84,13 +84,54 @@ create_random_entry(krb5_principal princ, time_t max_life, time_t max_rlife,
return 0;
}
static struct getargs args[] = {
{ "realm-max-ticket-life", 0, arg_string, NULL,
"realm max ticket lifetime" },
{ "realm-max-renewable-life", 0, arg_string, NULL,
"realm max renewable lifetime" },
};
static int num_args = sizeof(args) / sizeof(args[0]);
static void
usage(void)
{
arg_printusage (args, num_args, "ank", "principal");
}
int
init(int argc, char **argv)
{
kadm5_ret_t ret;
int i;
char *realm_max_life;
char *realm_max_rlife;
HDB *db;
int optind = 0;
unsigned max_life, max_rlife;
HDB *db = _kadm5_s_get_db(kadm_handle);
args[0].value = &realm_max_life;
args[1].value = &realm_max_rlife;
if(getarg(args, num_args, argc, argv, &optind)) {
usage();
return 0;
}
if (realm_max_life) {
if (str2deltat (realm_max_life, &max_life) != 0) {
krb5_warnx (context, "unable to parse `%s'", realm_max_life);
return 0;
}
}
if (realm_max_rlife) {
if (str2deltat (realm_max_rlife, &max_rlife) != 0) {
krb5_warnx (context, "unable to parse `%s'", realm_max_rlife);
return 0;
}
}
db = _kadm5_s_get_db(kadm_handle);
ret = db->open(context, db, O_RDWR | O_CREAT, 0600);
if(ret){
@@ -98,18 +139,19 @@ init(int argc, char **argv)
return 0;
}
db->close(context, db);
for(i = 1; i < argc; i++){
for(i = optind; i < argc; i++){
krb5_principal princ;
unsigned max_life, max_rlife;
/* Create `krbtgt/REALM' */
krb5_make_principal(context, &princ, argv[i], "krbtgt", argv[i], NULL);
get_deltat("Realm max ticket life",
"unlimited",
&max_life);
get_deltat("Realm max renewable ticket life",
"unlimited",
&max_rlife);
if (realm_max_life == NULL)
get_deltat("Realm max ticket life",
"unlimited",
&max_life);
if (realm_max_rlife == NULL)
get_deltat("Realm max renewable ticket life",
"unlimited",
&max_rlife);
create_random_entry(princ, max_life, max_rlife, 0);
krb5_free_principal(context, princ);
/* Create `kadmin/changepw' */