diff options
| author | Paul Park <pjpark@mit.edu> | 1995-07-17 19:35:58 +0000 |
|---|---|---|
| committer | Paul Park <pjpark@mit.edu> | 1995-07-17 19:35:58 +0000 |
| commit | 98b59e5b55dda7eef896bb9edfc36a5b13b1eccb (patch) | |
| tree | e24aa5a4973411a7df959bd677960864c42b874b /src/kadmin/v5server/admin.c | |
| parent | 014c25c2a4825abf099bd91a01daa5f33be0839e (diff) | |
| download | krb5-98b59e5b55dda7eef896bb9edfc36a5b13b1eccb.tar.gz krb5-98b59e5b55dda7eef896bb9edfc36a5b13b1eccb.tar.xz krb5-98b59e5b55dda7eef896bb9edfc36a5b13b1eccb.zip | |
Add KDC profile and stash file support
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6304 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/v5server/admin.c')
| -rw-r--r-- | src/kadmin/v5server/admin.c | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/src/kadmin/v5server/admin.c b/src/kadmin/v5server/admin.c index 5a746fe72..5aed8b706 100644 --- a/src/kadmin/v5server/admin.c +++ b/src/kadmin/v5server/admin.c @@ -28,8 +28,8 @@ #include "k5-int.h" #include "kadm5_defs.h" -#include "adm_proto.h" #include "adm.h" +#include "adm_proto.h" /* * Data structure used to pass information in and out of krb5_db_iterate. @@ -45,7 +45,6 @@ struct inq_context { }; static krb5_db_entry admin_def_dbent; -static krb5_boolean admin_def_dbent_inited = 0; static const char *admin_perm_denied_fmt = "\004ACL entry prevents %s operation by %s"; static const char *admin_db_write_err_fmt = "\004database write failed during %s operation by %s"; @@ -71,16 +70,22 @@ extern char *programname; * admin_init_def_dbent() - Initialize the default database entry. */ static void -admin_init_def_dbent() +admin_init_def_dbent(mlife, mrlife, evalid, e, fvalid, f) + krb5_deltat mlife; + krb5_deltat mrlife; + krb5_boolean evalid; + krb5_timestamp e; + krb5_boolean fvalid; + krb5_flags f; { /* Zero it all out, and fill in non-zero defaults */ memset((char *) &admin_def_dbent, 0, sizeof(admin_def_dbent)); admin_def_dbent.kvno = 1; - admin_def_dbent.max_life = KRB5_KDB_MAX_LIFE; - admin_def_dbent.max_renewable_life = KRB5_KDB_MAX_RLIFE; - admin_def_dbent.expiration = KRB5_KDB_EXPIRATION; - admin_def_dbent.attributes = KRB5_KDB_DEF_FLAGS; - admin_def_dbent_inited = 1; + admin_def_dbent.max_life = (mlife > 0) ? mlife : KRB5_KDB_MAX_LIFE; + admin_def_dbent.max_renewable_life = + (mrlife > 0) ? mrlife : KRB5_KDB_MAX_RLIFE; + admin_def_dbent.expiration = (evalid) ? e : KRB5_KDB_EXPIRATION; + admin_def_dbent.attributes = (fvalid) ? f : KRB5_KDB_DEF_FLAGS; } /* @@ -442,10 +447,6 @@ admin_add_modify(kcontext, debug_level, ticket, nargs, arglist, &temp)))) { krb5_db_entry *merge; - /* Check if the default is initialized */ - if (!admin_def_dbent_inited) - admin_init_def_dbent(); - merge = (should_exist) ? &cur_dbentry : &admin_def_dbent; @@ -1384,3 +1385,14 @@ admin_extract_key(kcontext, debug_level, ticket, return(retval); } +void +admin_init(max_life, max_renew_life, e_valid, e, f_valid, f) + krb5_deltat max_life; + krb5_deltat max_renew_life; + krb5_boolean e_valid; + krb5_timestamp e; + krb5_boolean f_valid; + krb5_flags f; +{ + admin_init_def_dbent(max_life, max_renew_life, e_valid, e, f_valid, f); +} |
