(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:
@@ -84,13 +84,54 @@ create_random_entry(krb5_principal princ, time_t max_life, time_t max_rlife,
|
|||||||
return 0;
|
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
|
int
|
||||||
init(int argc, char **argv)
|
init(int argc, char **argv)
|
||||||
{
|
{
|
||||||
kadm5_ret_t ret;
|
kadm5_ret_t ret;
|
||||||
int i;
|
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);
|
ret = db->open(context, db, O_RDWR | O_CREAT, 0600);
|
||||||
if(ret){
|
if(ret){
|
||||||
@@ -98,18 +139,19 @@ init(int argc, char **argv)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
db->close(context, db);
|
db->close(context, db);
|
||||||
for(i = 1; i < argc; i++){
|
for(i = optind; i < argc; i++){
|
||||||
krb5_principal princ;
|
krb5_principal princ;
|
||||||
unsigned max_life, max_rlife;
|
|
||||||
|
|
||||||
/* Create `krbtgt/REALM' */
|
/* Create `krbtgt/REALM' */
|
||||||
krb5_make_principal(context, &princ, argv[i], "krbtgt", argv[i], NULL);
|
krb5_make_principal(context, &princ, argv[i], "krbtgt", argv[i], NULL);
|
||||||
get_deltat("Realm max ticket life",
|
if (realm_max_life == NULL)
|
||||||
"unlimited",
|
get_deltat("Realm max ticket life",
|
||||||
&max_life);
|
"unlimited",
|
||||||
get_deltat("Realm max renewable ticket life",
|
&max_life);
|
||||||
"unlimited",
|
if (realm_max_rlife == NULL)
|
||||||
&max_rlife);
|
get_deltat("Realm max renewable ticket life",
|
||||||
|
"unlimited",
|
||||||
|
&max_rlife);
|
||||||
create_random_entry(princ, max_life, max_rlife, 0);
|
create_random_entry(princ, max_life, max_rlife, 0);
|
||||||
krb5_free_principal(context, princ);
|
krb5_free_principal(context, princ);
|
||||||
/* Create `kadmin/changepw' */
|
/* Create `kadmin/changepw' */
|
||||||
|
Reference in New Issue
Block a user