From 5620f021e19598e36abb4496cce6a9b374f193bd Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Tue, 23 Dec 1997 00:37:21 +0000 Subject: [PATCH] (init): create `default' git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4228 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kadmin/init.c | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/kadmin/init.c b/kadmin/init.c index 01e9aa47f..68098eb19 100644 --- a/kadmin/init.c +++ b/kadmin/init.c @@ -99,13 +99,20 @@ init(int argc, char **argv) db->close(context, db); for(i = 1; i < argc; i++){ krb5_principal princ; - time_t max_life, max_rlife; + unsigned max_life, max_rlife; + /* Create `krbtgt/REALM' */ krb5_make_principal(context, &princ, argv[i], "krbtgt", argv[i], NULL); - max_life = get_deltat("Realm max ticket life", - "unlimited"); - max_rlife = get_deltat("Realm max renewable ticket life", - "unlimited"); + get_deltat("Realm max ticket life", + "unlimited", + &max_life); + if (max_life == 0) + max_life = 24 * 60 * 60; + get_deltat("Realm max renewable ticket life", + "unlimited", + &max_rlife); + if (max_rlife == 0) + max_rlife = 7 * max_life; create_random_entry(princ, max_life, max_rlife, 0); krb5_free_principal(context, princ); /* Create `kadmin/changepw' */ @@ -125,6 +132,28 @@ init(int argc, char **argv) "kadmin", "admin", NULL); create_random_entry(princ, 60*60, 60*60, KRB5_KDB_REQUIRES_PRE_AUTH); krb5_free_principal(context, princ); + /* Create `default' */ + { + kadm5_principal_ent_rec ent; + int mask = 0; + + memset (&ent, 0, sizeof(ent)); + mask |= KADM5_PRINCIPAL; + krb5_make_principal(context, &ent.principal, argv[i], + "default", NULL); + mask |= KADM5_MAX_LIFE; + ent.max_life = 24 * 60 * 60; + mask |= KADM5_MAX_RLIFE; + ent.max_renewable_life = 7 * ent.max_life; + ent.attributes = KRB5_KDB_DISALLOW_ALL_TIX; + mask |= KADM5_ATTRIBUTES; + + ret = kadm5_create_principal(kadm_handle, &ent, mask, ""); + if (ret) + krb5_err (context, 1, ret, "kadm5_create_principal"); + + krb5_free_principal(context, ent.principal); + } } return 0; }