summaryrefslogtreecommitdiffstats
path: root/src/kadmin/v5server/admin.c
diff options
context:
space:
mode:
authorPaul Park <pjpark@mit.edu>1995-07-17 19:35:58 +0000
committerPaul Park <pjpark@mit.edu>1995-07-17 19:35:58 +0000
commit98b59e5b55dda7eef896bb9edfc36a5b13b1eccb (patch)
treee24aa5a4973411a7df959bd677960864c42b874b /src/kadmin/v5server/admin.c
parent014c25c2a4825abf099bd91a01daa5f33be0839e (diff)
downloadkrb5-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.c36
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);
+}