aboutsummaryrefslogtreecommitdiff
path: root/src/kadmin/dbutil/kdb5_stash.c
diff options
context:
space:
mode:
authorWill Fiveash <will.fiveash@oracle.com>2008-08-15 00:38:41 +0000
committerWill Fiveash <will.fiveash@oracle.com>2008-08-15 00:38:41 +0000
commitc438b327af4cf5ba96ed3f7e02b6327b9d06c1ae (patch)
tree6a65a30d2f7c368d8d29b9755ec52bb082f908c4 /src/kadmin/dbutil/kdb5_stash.c
parent7b2fd388c28d4c8a3a7a2a4bf2b70a251bf037e8 (diff)
downloadkrb5-c438b327af4cf5ba96ed3f7e02b6327b9d06c1ae.zip
krb5-c438b327af4cf5ba96ed3f7e02b6327b9d06c1ae.tar.gz
krb5-c438b327af4cf5ba96ed3f7e02b6327b9d06c1ae.tar.bz2
a stash file is not a keytab
Note, this is the commit for the associated Krb Consortium project: Projects/Masterkey Keytab Stash ticket: 194 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20661 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/dbutil/kdb5_stash.c')
-rw-r--r--src/kadmin/dbutil/kdb5_stash.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/kadmin/dbutil/kdb5_stash.c b/src/kadmin/dbutil/kdb5_stash.c
index a34aa13..3583a32 100644
--- a/src/kadmin/dbutil/kdb5_stash.c
+++ b/src/kadmin/dbutil/kdb5_stash.c
@@ -81,6 +81,7 @@ kdb5_stash(argc, argv)
char *mkey_fullname;
char *keyfile = 0;
krb5_context context;
+ krb5_kvno mkey_kvno;
retval = kadm5_init_krb5_context(&context);
if( retval )
@@ -139,11 +140,17 @@ kdb5_stash(argc, argv)
exit_status++; return;
}
+ if (global_params.mask & KADM5_CONFIG_KVNO)
+ mkey_kvno = global_params.kvno; /* user specified */
+ else
+ mkey_kvno = IGNORE_VNO; /* use whatever krb5_db_fetch_mkey finds */
+
/* TRUE here means read the keyboard, but only once */
retval = krb5_db_fetch_mkey(context, master_princ,
master_keyblock.enctype,
TRUE, FALSE, (char *) NULL,
- 0, &master_keyblock);
+ &mkey_kvno,
+ NULL, &master_keyblock);
if (retval) {
com_err(progname, retval, "while reading master key");
(void) krb5_db_fini(context);
@@ -151,6 +158,7 @@ kdb5_stash(argc, argv)
}
retval = krb5_db_verify_master_key(context, master_princ,
+ mkey_kvno,
&master_keyblock);
if (retval) {
com_err(progname, retval, "while verifying master key");
@@ -159,7 +167,7 @@ kdb5_stash(argc, argv)
}
retval = krb5_db_store_master_key(context, keyfile, master_princ,
- &master_keyblock, NULL);
+ mkey_kvno, &master_keyblock, NULL);
if (retval) {
com_err(progname, errno, "while storing key");
memset((char *)master_keyblock.contents, 0, master_keyblock.length);