Skip to content

Commit

Permalink
* kdb_cpw.c (krb5_dbe_crk):
Browse files Browse the repository at this point in the history
	(krb5_dbe_cpw): Fix to actually save old keys.


git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12054 dc483132-0cff-0310-8789-dd5450dbe970
  • Loading branch information
tlyu committed Feb 19, 2000
1 parent a77d99e commit 5a049e5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/lib/kdb/ChangeLog
@@ -1,3 +1,8 @@
2000-02-18 Tom Yu <tlyu@mit.edu>

* kdb_cpw.c (krb5_dbe_crk):
(krb5_dbe_cpw): Fix to actually save old keys.

1999-10-26 Tom Yu <tlyu@mit.edu>

* Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES,
Expand Down
8 changes: 8 additions & 0 deletions src/lib/kdb/kdb_cpw.c
Expand Up @@ -206,6 +206,7 @@ krb5_dbe_crk(context, master_key, ks_tuple, ks_tuple_count, keepold, db_entry)
krb5_db_entry * db_entry;
{
int key_data_count;
int n_new_key_data;
krb5_key_data * key_data;
krb5_error_code retval;
int kvno;
Expand All @@ -228,13 +229,16 @@ krb5_dbe_crk(context, master_key, ks_tuple, ks_tuple_count, keepold, db_entry)
db_entry->n_key_data = key_data_count;
db_entry->key_data = key_data;
} else if (keepold) {
n_new_key_data = db_entry->n_key_data;
for (i = 0; i < key_data_count; i++) {
retval = krb5_dbe_create_key_data(context, db_entry);
if (retval) {
cleanup_key_data(context, db_entry->n_key_data,
db_entry->key_data);
break;
}
db_entry->key_data[i+n_new_key_data] = key_data[i];
memset(&key_data[i], 0, sizeof(krb5_key_data));
}
} else {
cleanup_key_data(context, key_data_count, key_data);
Expand Down Expand Up @@ -451,6 +455,7 @@ krb5_dbe_cpw(context, master_key, ks_tuple, ks_tuple_count, passwd,
krb5_db_entry * db_entry;
{
int key_data_count;
int n_new_key_data;
krb5_key_data * key_data;
krb5_error_code retval;
int old_kvno;
Expand All @@ -476,13 +481,16 @@ krb5_dbe_cpw(context, master_key, ks_tuple, ks_tuple_count, passwd,
db_entry->n_key_data = key_data_count;
db_entry->key_data = key_data;
} else if (keepold) {
n_new_key_data = db_entry->n_key_data;
for (i = 0; i < key_data_count; i++) {
retval = krb5_dbe_create_key_data(context, db_entry);
if (retval) {
cleanup_key_data(context, db_entry->n_key_data,
db_entry->key_data);
break;
}
db_entry->key_data[i+n_new_key_data] = key_data[i];
memset(&key_data[i], 0, sizeof(krb5_key_data));
}
} else {
cleanup_key_data(context, key_data_count, key_data);
Expand Down

0 comments on commit 5a049e5

Please sign in to comment.