(add_new_key): new options for setting max-ticket-life,
max-renewable-life, and attributes git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6125 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
17
kadmin/ank.c
17
kadmin/ank.c
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997 - 1999 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -43,6 +43,10 @@ RCSID("$Id$");
|
|||||||
static struct getargs args[] = {
|
static struct getargs args[] = {
|
||||||
{ "random-key", 'r', arg_flag, NULL, "set random key" },
|
{ "random-key", 'r', arg_flag, NULL, "set random key" },
|
||||||
{ "password", 'p', arg_string, NULL, "princial's password" },
|
{ "password", 'p', arg_string, NULL, "princial's password" },
|
||||||
|
{ "max-ticket-life", 0, arg_string, NULL, "max ticket lifetime" },
|
||||||
|
{ "max-renewable-life", 0, arg_string, NULL,
|
||||||
|
"max renewable lifetime" },
|
||||||
|
{ "attributes", 0, arg_string, NULL, "attributes" }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int num_args = sizeof(args) / sizeof(args[0]);
|
static int num_args = sizeof(args) / sizeof(args[0]);
|
||||||
@@ -53,7 +57,6 @@ usage(void)
|
|||||||
arg_printusage (args, num_args, "ank", "principal");
|
arg_printusage (args, num_args, "ank", "principal");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
add_new_key(int argc, char **argv)
|
add_new_key(int argc, char **argv)
|
||||||
{
|
{
|
||||||
@@ -65,9 +68,15 @@ add_new_key(int argc, char **argv)
|
|||||||
int mask = 0;
|
int mask = 0;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
krb5_principal princ_ent = NULL;
|
krb5_principal princ_ent = NULL;
|
||||||
|
char *max_ticket_life;
|
||||||
|
char *max_renewable_life;
|
||||||
|
char *attributes;
|
||||||
|
|
||||||
args[0].value = &rkey;
|
args[0].value = &rkey;
|
||||||
args[1].value = &password;
|
args[1].value = &password;
|
||||||
|
args[2].value = &max_ticket_life;
|
||||||
|
args[3].value = &max_renewable_life;
|
||||||
|
args[4].value = &attributes;
|
||||||
|
|
||||||
if(getarg(args, num_args, argc, argv, &optind))
|
if(getarg(args, num_args, argc, argv, &optind))
|
||||||
goto usage;
|
goto usage;
|
||||||
@@ -81,6 +90,10 @@ add_new_key(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
princ.principal = princ_ent;
|
princ.principal = princ_ent;
|
||||||
mask |= KADM5_PRINCIPAL;
|
mask |= KADM5_PRINCIPAL;
|
||||||
|
if (set_entry(context, &princ, &mask,
|
||||||
|
max_ticket_life, max_renewable_life, attributes)) {
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
edit_entry(&princ, &mask);
|
edit_entry(&princ, &mask);
|
||||||
if(rkey){
|
if(rkey){
|
||||||
princ.attributes |= KRB5_KDB_DISALLOW_ALL_TIX;
|
princ.attributes |= KRB5_KDB_DISALLOW_ALL_TIX;
|
||||||
|
Reference in New Issue
Block a user