summaryrefslogtreecommitdiffstats
path: root/src/admin
diff options
context:
space:
mode:
Diffstat (limited to 'src/admin')
-rw-r--r--src/admin/create/ChangeLog7
-rw-r--r--src/admin/create/configure.in2
-rw-r--r--src/admin/create/kdb5_create.c9
-rw-r--r--src/admin/edit/ChangeLog13
-rw-r--r--src/admin/edit/configure.in2
-rw-r--r--src/admin/edit/cpw.c2
-rw-r--r--src/admin/edit/dump.c65
-rw-r--r--src/admin/edit/dumpv4.c10
-rw-r--r--src/admin/edit/kdb5_edit.c26
-rw-r--r--src/admin/edit/loadv4.c37
-rw-r--r--src/admin/stash/ChangeLog4
-rw-r--r--src/admin/stash/configure.in2
12 files changed, 98 insertions, 81 deletions
diff --git a/src/admin/create/ChangeLog b/src/admin/create/ChangeLog
index 9fd98714a..611bdf10e 100644
--- a/src/admin/create/ChangeLog
+++ b/src/admin/create/ChangeLog
@@ -1,3 +1,10 @@
+Tue May 7 23:04:17 1996 Marc Horowitz <marc@mit.edu>
+
+ * kdb5_create.c (add_principal): convert to used new krb5_dbe_*
+ tl_data functions.
+
+ * configure.in: use USE_KADMSRV_LIBRARY instead of
+ USE_KADM_LIBRARY.
Wed Dec 13 03:44:58 1995 Chris Provenzano (proven@mit.edu)
diff --git a/src/admin/create/configure.in b/src/admin/create/configure.in
index ef0252cf4..c88475027 100644
--- a/src/admin/create/configure.in
+++ b/src/admin/create/configure.in
@@ -1,7 +1,7 @@
AC_INIT(kdb5_create.c)
CONFIG_RULES
AC_PROG_INSTALL
-USE_KADM_LIBRARY
+USE_KADMSRV_LIBRARY
USE_KDB5_LIBRARY
KRB5_LIBRARIES
V5_USE_SHARED_LIB
diff --git a/src/admin/create/kdb5_create.c b/src/admin/create/kdb5_create.c
index 2d2adeb90..963d16f03 100644
--- a/src/admin/create/kdb5_create.c
+++ b/src/admin/create/kdb5_create.c
@@ -454,7 +454,7 @@ add_principal(context, princ, op, pblock)
krb5_error_code retval;
krb5_db_entry entry;
- krb5_tl_mod_princ mod_princ;
+ krb5_timestamp now;
struct iterate_args iargs;
int nentries = 1;
@@ -470,10 +470,11 @@ add_principal(context, princ, op, pblock)
if ((retval = krb5_copy_principal(context, princ, &entry.princ)))
goto error_out;
- mod_princ.mod_princ = &db_create_princ;
- if ((retval = krb5_timeofday(context, &mod_princ.mod_date)))
+ if ((retval = krb5_timeofday(context, &now)))
goto error_out;
- if ((retval = krb5_dbe_encode_mod_princ_data(context, &mod_princ, &entry)))
+
+ if ((retval = krb5_dbe_update_mod_princ_data(context, &entry,
+ now, &db_create_princ)))
goto error_out;
switch (op) {
diff --git a/src/admin/edit/ChangeLog b/src/admin/edit/ChangeLog
index 12eaab25f..c01d269c1 100644
--- a/src/admin/edit/ChangeLog
+++ b/src/admin/edit/ChangeLog
@@ -17,6 +17,19 @@ Sat Jun 8 09:54:38 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* dumpv4.c (handle_one_key): Remove the temporary --with-kdb4
support.
+Sun May 12 00:27:44 1996 Marc Horowitz <marc@mit.edu>
+
+ * loadv4.c (enter_in_v5_db, add_principal), kdb5_edit.c
+ (create_db_entry, modent), dumpv4.c (dump_v4_iterator), dump.c
+ (dump_k5beta_iterator, process_k5beta_record): convert to use new
+ krb5_dbe_* tl_data functions.
+
+ * cpw.c (enter_pwd_key): krb5_dbe_cpw() takes a kvno now.
+
+Tue May 7 23:16:57 1996 Marc Horowitz <marc@mit.edu>
+
+ * configure.in: USE_KADM_LIBRARY replaced by USE_KADMSRV_LIBRARY
+
Thu May 2 22:16:01 1996 Ken Raeburn <raeburn@cygnus.com>
* ss_wrapper.c (main): Make sci_idx a global. This makes certain
diff --git a/src/admin/edit/configure.in b/src/admin/edit/configure.in
index 7567f3441..6fbf47008 100644
--- a/src/admin/edit/configure.in
+++ b/src/admin/edit/configure.in
@@ -5,7 +5,7 @@ AC_PROG_YACC
AC_CONST
AC_HEADER_STDC
AC_CHECK_FUNCS(getcwd strstr)
-USE_KADM_LIBRARY
+USE_KADMSRV_LIBRARY
USE_KDB5_LIBRARY
USE_KRB4_LIBRARY
USE_SS_LIBRARY
diff --git a/src/admin/edit/cpw.c b/src/admin/edit/cpw.c
index 1afc293e9..663fc108e 100644
--- a/src/admin/edit/cpw.c
+++ b/src/admin/edit/cpw.c
@@ -223,7 +223,7 @@ enter_pwd_key(cmdname, princ, ks_tuple, ks_tuple_count, entry)
ks_tuple = std_ks_tuple;
}
if ((retval = krb5_dbe_cpw(edit_context, &master_encblock, ks_tuple,
- ks_tuple_count, password, entry))) {
+ ks_tuple_count, password, 0, entry))) {
com_err(cmdname, retval, "while storing entry for '%s'\n", princ);
memset(password, 0, sizeof(password)); /* erase it */
krb5_dbe_free_contents(edit_context, entry);
diff --git a/src/admin/edit/dump.c b/src/admin/edit/dump.c
index 42118d555..bbda74c9d 100644
--- a/src/admin/edit/dump.c
+++ b/src/admin/edit/dump.c
@@ -328,7 +328,7 @@ dump_k5beta_iterator(ptr, entry)
krb5_error_code retval;
struct dump_args *arg;
char *name, *mod_name;
- krb5_tl_mod_princ *mprinc;
+ krb5_principal mod_princ;
krb5_tl_data *pwchg;
krb5_key_data *pkey, *akey, nullkey;
krb5_timestamp mod_date, last_pwd_change;
@@ -358,27 +358,24 @@ dump_k5beta_iterator(ptr, entry)
/*
* Deserialize the modifier record.
*/
- mprinc = (krb5_tl_mod_princ *) NULL;
mod_name = (char *) NULL;
+ mod_princ = NULL;
last_pwd_change = mod_date = 0;
pkey = akey = (krb5_key_data *) NULL;
- if (!(retval = krb5_dbe_decode_mod_princ_data(arg->kcontext,
+ if (!(retval = krb5_dbe_lookup_mod_princ_data(arg->kcontext,
entry,
- &mprinc))) {
- if (mprinc) {
- if (mprinc->mod_princ) {
- /*
- * Flatten the modifier name.
- */
- if ((retval = krb5_unparse_name(arg->kcontext,
- mprinc->mod_princ,
- &mod_name)))
- fprintf(stderr, mname_unp_err, arg->programname,
- error_message(retval));
- krb5_free_principal(arg->kcontext, mprinc->mod_princ);
- }
- mod_date = mprinc->mod_date;
- krb5_xfree(mprinc);
+ &mod_date,
+ &mod_princ))) {
+ if (mod_princ) {
+ /*
+ * Flatten the modifier name.
+ */
+ if ((retval = krb5_unparse_name(arg->kcontext,
+ mod_princ,
+ &mod_name)))
+ fprintf(stderr, mname_unp_err, arg->programname,
+ error_message(retval));
+ krb5_free_principal(arg->kcontext, mod_princ);
}
}
if (!mod_name)
@@ -387,11 +384,13 @@ dump_k5beta_iterator(ptr, entry)
/*
* Find the last password change record and set it straight.
*/
- for (pwchg = entry->tl_data;
- (pwchg) && (pwchg->tl_data_type != KRB5_TL_LAST_PWD_CHANGE);
- pwchg = pwchg->tl_data_next);
- if (pwchg) {
- krb5_kdb_decode_int32(pwchg->tl_data_contents, last_pwd_change);
+ if (retval =
+ krb5_dbe_lookup_last_pwd_change(arg->kcontext, entry,
+ &last_pwd_change)) {
+ fprintf(stderr, nokeys_err, arg->programname, name);
+ krb5_xfree(mod_name);
+ krb5_xfree(name);
+ return(retval);
}
/*
@@ -823,7 +822,8 @@ find_record_end(f, fn, lineno)
putc(ch, stderr);
}
}
-
+
+#if 0
/*
* update_tl_data() - Generate the tl_data entries.
*/
@@ -908,7 +908,8 @@ update_tl_data(kcontext, dbentp, mod_name, mod_date, last_pwd_change)
return(kret);
}
-
+#endif
+
/*
* process_k5beta_record() - Handle a dump record in old format.
*
@@ -1129,11 +1130,15 @@ process_k5beta_record(fname, kcontext, filep, verbose, linenop)
if (!(kret = krb5_parse_name(kcontext,
mod_name,
&mod_princ))) {
- if (!(kret = update_tl_data(kcontext,
- &dbent,
- mod_princ,
- mod_date,
- last_pwd_change))) {
+ if (!(kret =
+ krb5_dbe_update_mod_princ_data(kcontext,
+ &dbent,
+ mod_date,
+ mod_princ)) &&
+ !(kret =
+ krb5_dbe_update_last_pwd_change(kcontext,
+ &dbent,
+ last_pwd_change))) {
int one = 1;
dbent.len = KRB5_KDB_V1_BASE_LENGTH;
diff --git a/src/admin/edit/dumpv4.c b/src/admin/edit/dumpv4.c
index 7943e1bc2..ef2eac692 100644
--- a/src/admin/edit/dumpv4.c
+++ b/src/admin/edit/dumpv4.c
@@ -112,7 +112,8 @@ dump_v4_iterator(ptr, entry)
krb5_db_entry *entry;
{
struct dump_record *arg = (struct dump_record *) ptr;
- krb5_tl_mod_princ *mod_princ = NULL;
+ krb5_principal mod_princ;
+ krb5_timestamp mod_time;
krb5_error_code retval;
int i, max_kvno, ok_key;
@@ -152,12 +153,13 @@ dump_v4_iterator(ptr, entry)
strcpy(principal->instance, "*");
/* Now move to mod princ */
- if (retval = krb5_dbe_decode_mod_princ_data(edit_context,entry,&mod_princ)){
+ if (retval = krb5_dbe_lookup_mod_princ_data(edit_context,entry,
+ &mod_time, &mod_princ)){
com_err(arg->comerr_name, retval, "while unparsing db entry");
exit_status++;
return retval;
}
- retval = krb5_524_conv_principal(edit_context, mod_princ->mod_princ,
+ retval = krb5_524_conv_principal(edit_context, mod_princ,
principal->mod_name, principal->mod_instance,
principal->mod_realm);
if (retval) {
@@ -228,7 +230,7 @@ found_one:;
}
v4_print_time(arg->f, entry->expiration);
- v4_print_time(arg->f, mod_princ->mod_date);
+ v4_print_time(arg->f, mod_time);
fprintf(arg->f, " %s %s\n", principal->mod_name, principal->mod_instance);
return 0;
diff --git a/src/admin/edit/kdb5_edit.c b/src/admin/edit/kdb5_edit.c
index a3ac6fd06..0615e375d 100644
--- a/src/admin/edit/kdb5_edit.c
+++ b/src/admin/edit/kdb5_edit.c
@@ -330,7 +330,7 @@ int create_db_entry(principal, newentry)
krb5_principal principal;
krb5_db_entry * newentry;
{
- krb5_tl_mod_princ mod_princ;
+ krb5_timestamp now;
int retval;
memset(newentry, 0, sizeof(krb5_db_entry));
@@ -345,16 +345,11 @@ int create_db_entry(principal, newentry)
&newentry->princ)))
return retval;
- if ((retval = krb5_timeofday(edit_context, &mod_princ.mod_date)))
+ if ((retval = krb5_timeofday(edit_context, &now)))
goto create_db_entry_error;
- if ((retval = krb5_copy_principal(edit_context, master_princ,
- &mod_princ.mod_princ)))
- goto create_db_entry_error;
-
- retval = krb5_dbe_encode_mod_princ_data(edit_context, &mod_princ, newentry);
- krb5_xfree(mod_princ.mod_princ->data);
-
+ retval = krb5_dbe_update_mod_princ_data(edit_context, newentry, now,
+ master_princ);
if (!retval)
return 0;
@@ -1314,7 +1309,7 @@ void modent(argc, argv)
char *argv[];
{
krb5_db_entry entry, oldentry;
- krb5_tl_mod_princ mod_princ;
+ krb5_timestamp now;
krb5_principal kprinc;
krb5_error_code retval;
krb5_boolean more;
@@ -1386,17 +1381,16 @@ void modent(argc, argv)
free(canon);
return;
}
- mod_princ.mod_princ = master_princ;
- if ((retval = krb5_timeofday(edit_context, &mod_princ.mod_date))) {
- com_err(argv[0], retval, "while fetching date");
+ if ((retval = krb5_timeofday(edit_context, &now))) {
+ com_err(argv[0], retval, "while getting current time");
krb5_free_principal(edit_context, entry.princ);
exit_status++;
free(canon);
return;
}
- if ((retval=krb5_dbe_encode_mod_princ_data(edit_context,
- &mod_princ,&entry))) {
- com_err(argv[0], retval, "while setting mod_prince and mod_date");
+ if ((retval=krb5_dbe_update_mod_princ_data(edit_context,
+ &entry, now, master_princ))) {
+ com_err(argv[0], retval, "while setting mod_princ_data");
krb5_free_principal(edit_context, entry.princ);
exit_status++;
free(canon);
diff --git a/src/admin/edit/loadv4.c b/src/admin/edit/loadv4.c
index 78b77e06b..a1d37edc7 100644
--- a/src/admin/edit/loadv4.c
+++ b/src/admin/edit/loadv4.c
@@ -467,7 +467,8 @@ Principal *princ;
int nentries = 1;
des_cblock v4key;
char *name;
- krb5_tl_mod_princ mod_princ;
+ krb5_timestamp mod_time;
+ krb5_principal mod_princ;
krb5_keysalt keysalt;
/* don't convert local TGT if we created a TGT already.... */
@@ -518,7 +519,7 @@ Principal *princ;
free(name);
}
- if (retval = krb5_build_principal(context, &mod_princ.mod_princ,
+ if (retval = krb5_build_principal(context, &mod_princ,
strlen(realm),
realm, princ->mod_name,
princ->mod_instance[0] ? princ->mod_instance : 0,
@@ -526,7 +527,7 @@ Principal *princ;
krb5_free_principal(context, entry.princ);
return retval;
}
- mod_princ.mod_date = princ->mod_date;
+ mod_time = princ->mod_date;
entry.max_life = princ->max_life * 60 * 5;
entry.max_renewable_life = rblock.max_rlife;
@@ -552,7 +553,7 @@ Principal *princ;
retval = krb5_dbe_create_key_data(context, &entry);
if (retval) {
krb5_free_principal(context, entry.princ);
- krb5_free_principal(context, mod_princ.mod_princ);
+ krb5_free_principal(context, mod_princ);
return retval;
}
@@ -564,10 +565,11 @@ Principal *princ;
princ->key_version,
&entry.key_data[0]);
if (!retval)
- retval = krb5_dbe_encode_mod_princ_data(context, &mod_princ, &entry);
+ retval = krb5_dbe_update_mod_princ_data(context, &entry,
+ mod_time, mod_princ);
if (retval) {
krb5_db_free_principal(context, &entry, 1);
- krb5_free_principal(context, mod_princ.mod_princ);
+ krb5_free_principal(context, mod_princ);
return retval;
}
memset((char *)v4key, 0, sizeof(v4key));
@@ -586,7 +588,7 @@ Principal *princ;
}
krb5_db_free_principal(context, &entry, 1);
- krb5_free_principal(context, mod_princ.mod_princ);
+ krb5_free_principal(context, mod_princ);
return retval;
}
@@ -602,7 +604,8 @@ struct realm_info *pblock;
krb5_error_code retval;
krb5_keyblock *rkey;
int nentries = 1;
- krb5_tl_mod_princ mod_princ;
+ krb5_timestamp mod_time;
+ krb5_principal mod_princ;
memset((char *) &entry, 0, sizeof(entry));
if (retval = krb5_copy_principal(context, princ, &entry.princ))
@@ -611,23 +614,14 @@ struct realm_info *pblock;
entry.max_renewable_life = pblock->max_rlife;
entry.len = KRB5_KDB_V1_BASE_LENGTH;
entry.expiration = pblock->expiration;
- if (retval = krb5_copy_principal(context, &db_create_princ,
- &mod_princ.mod_princ)) {
- krb5_free_principal(context, entry.princ);
- return(retval);
- }
- if ((retval = krb5_timeofday(context, &mod_princ.mod_date)) ||
- (retval = krb5_copy_principal(context, &db_create_princ,
- &mod_princ.mod_princ))) {
- krb5_free_principal(context, mod_princ.mod_princ);
+ if ((retval = krb5_timeofday(context, &mod_time))) {
krb5_db_free_principal(context, &entry, 1);
return retval;
}
entry.attributes = pblock->flags;
if (retval = krb5_dbe_create_key_data(context, &entry)) {
- krb5_free_principal(context, mod_princ.mod_princ);
krb5_db_free_principal(context, &entry, 1);
return(retval);
}
@@ -639,7 +633,6 @@ struct realm_info *pblock;
&master_keyblock,
(krb5_keysalt *) NULL, 1,
&entry.key_data[0])) {
- krb5_free_principal(context, mod_princ.mod_princ);
krb5_db_free_principal(context, &entry, 1);
return retval;
}
@@ -647,7 +640,6 @@ struct realm_info *pblock;
case RANDOM_KEY:
if (retval = krb5_random_key(context, pblock->eblock, pblock->rseed,
&rkey)) {
- krb5_free_principal(context, mod_princ.mod_princ);
krb5_db_free_principal(context, &entry, 1);
return retval;
}
@@ -655,7 +647,6 @@ struct realm_info *pblock;
rkey,
(krb5_keysalt *) NULL, 1,
&entry.key_data[0])) {
- krb5_free_principal(context, mod_princ.mod_princ);
krb5_db_free_principal(context, &entry, 1);
return(retval);
}
@@ -667,11 +658,11 @@ struct realm_info *pblock;
break;
}
- retval = krb5_dbe_encode_mod_princ_data(context, &mod_princ, &entry);
+ retval = krb5_dbe_update_mod_princ_data(context, &entry,
+ mod_time, &db_create_princ);
if (!retval)
retval = krb5_db_put_principal(context, &entry, &nentries);
krb5_db_free_principal(context, &entry, 1);
- krb5_free_principal(context, mod_princ.mod_princ);
return retval;
}
diff --git a/src/admin/stash/ChangeLog b/src/admin/stash/ChangeLog
index e7b35b9a8..a2f6d89b4 100644
--- a/src/admin/stash/ChangeLog
+++ b/src/admin/stash/ChangeLog
@@ -1,3 +1,7 @@
+Sun May 12 01:16:49 1996 Marc Horowitz <marc@mit.edu>
+
+ * configure.in: USE_KADM_LIBRARY replaced by USE_KADMSRV_LIBRARY
+
Wed Sep 06 14:20:57 1995 Chris Provenzano (proven@mit.edu)
* kdb5_stash.c : s/keytype/enctype/g, s/KEYTYPE/ENCTYPE/g
diff --git a/src/admin/stash/configure.in b/src/admin/stash/configure.in
index 93fa3eff5..1cd10cdb5 100644
--- a/src/admin/stash/configure.in
+++ b/src/admin/stash/configure.in
@@ -1,7 +1,7 @@
AC_INIT(kdb5_stash.c)
CONFIG_RULES
AC_PROG_INSTALL
-USE_KADM_LIBRARY
+USE_KADMSRV_LIBRARY
USE_KDB5_LIBRARY
KRB5_LIBRARIES
V5_USE_SHARED_LIB