summaryrefslogtreecommitdiffstats
path: root/src/lib/kdb/kdb_cpw.c
diff options
context:
space:
mode:
authorChris Provenzano <proven@mit.edu>1995-07-27 08:44:02 +0000
committerChris Provenzano <proven@mit.edu>1995-07-27 08:44:02 +0000
commit4f0debdb553c49e68b36ee4e0ece3d2f32e4ae03 (patch)
tree30f4ad36ba60acb37c882e626cf3316fb817691b /src/lib/kdb/kdb_cpw.c
parent9492970827609efce31ce4ce5bd4f0535ff97e53 (diff)
downloadkrb5-4f0debdb553c49e68b36ee4e0ece3d2f32e4ae03.tar.gz
krb5-4f0debdb553c49e68b36ee4e0ece3d2f32e4ae03.tar.xz
krb5-4f0debdb553c49e68b36ee4e0ece3d2f32e4ae03.zip
* decrypt_key.c, encrypt_key.c, kdb_dbm.c, kdb_xdr.c:
Rewritten for new kdb format. * kdb_cpw.c : New password changing routines for new kdb format. * verify_mky.c, t_kdb.c : Use new kdb format. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6328 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb/kdb_cpw.c')
-rw-r--r--src/lib/kdb/kdb_cpw.c68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/lib/kdb/kdb_cpw.c b/src/lib/kdb/kdb_cpw.c
new file mode 100644
index 0000000000..7376c22c4d
--- /dev/null
+++ b/src/lib/kdb/kdb_cpw.c
@@ -0,0 +1,68 @@
+/*
+ * lib/kdb/kdb_cpw.c
+ *
+ * Copyright 1995 by the Massachusetts Institute of Technology.
+ * All Rights Reserved.
+ *
+ * Export of this software from the United States of America may
+ * require a specific license from the United States Government.
+ * It is the responsibility of any person or organization contemplating
+ * export to obtain such a license before exporting.
+ *
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of M.I.T. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission. M.I.T. makes no representations about the suitability of
+ * this software for any purpose. It is provided "as is" without express
+ * or implied warranty.
+ *
+ */
+
+#include "k5-int.h"
+#include <stdio.h>
+#include <errno.h>
+
+/*
+ * Change password for a krb5_db_entry for a specific key version number
+ */
+krb5_error_code
+krb5_kdb_cpw_dbe_for_kvno(context, db_entry, password, kvno)
+ krb5_context context;
+ krb5_db_entry * db_entry;
+ char * password;
+ int kvno;
+{
+ krb5_error_code retval;
+ int key;
+
+ for (key = 0; key < db_entry.n_key_data; key++) {
+ if (db_entry.key_data[key] == kvno) {
+ }
+ }
+ return retval;
+}
+
+/*
+ * Change password for a krb5_db_entry
+ * Assumes the max kvno
+ */
+krb5_error_code
+krb5_kdb_cpw_dbe_for_kvno(context, db_entry, password)
+ krb5_context context;
+ krb5_db_entry * db_entry;
+ char * password;
+ int kvno;
+{
+ int key, kvno;
+
+ for (kvno = key = 0; key < db_entry.n_key_data; key++) {
+ if (kvno < db_entry.key_data[key].key_data_kvno) {
+ kvno = db_entry.key_data[key].key_data_kvno;
+ }
+ }
+ return(krb5_kdb_cpw_dbe_for_kvno(context, db_entry, password, kvno));
+}