summaryrefslogtreecommitdiffstats
path: root/src/kdc/main.c
diff options
context:
space:
mode:
authorRichard Basch <probe@mit.edu>1996-05-06 16:25:53 +0000
committerRichard Basch <probe@mit.edu>1996-05-06 16:25:53 +0000
commit6761a0be6fb8e64f7c7e7ba5d7c0fc756f176a54 (patch)
tree3f4e9b675b42d67c69e479f1c903f80e33e236fc /src/kdc/main.c
parentbcd479a756450b34f25612961f68d7e01c717de4 (diff)
downloadkrb5-6761a0be6fb8e64f7c7e7ba5d7c0fc756f176a54.tar.gz
krb5-6761a0be6fb8e64f7c7e7ba5d7c0fc756f176a54.tar.xz
krb5-6761a0be6fb8e64f7c7e7ba5d7c0fc756f176a54.zip
Fixed the abstraction violation, where the code knew the details about the
cryptosystem structure. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7907 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc/main.c')
-rw-r--r--src/kdc/main.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/kdc/main.c b/src/kdc/main.c
index bd4aba9d22..443acecb54 100644
--- a/src/kdc/main.c
+++ b/src/kdc/main.c
@@ -619,9 +619,9 @@ goto whoops;
}
if (!rkey_init_done) {
krb5_enctype enctype;
+ krb5_encrypt_block temp_eblock;
#ifdef KRB5_KRB4_COMPAT
krb5_keyblock *temp_key;
- krb5_encrypt_block temp_eblock;
#endif
/*
* If all that worked, then initialize the random key
@@ -630,10 +630,11 @@ goto whoops;
for (enctype = 0; enctype <= krb5_max_enctype; enctype++) {
if (krb5_enctype_array[enctype] &&
!krb5_enctype_array[enctype]->random_sequence) {
- if ((kret = (*krb5_enctype_array[enctype]->system->
- init_random_key)
- (&rdp->realm_mkey,
- &krb5_enctype_array[enctype]->random_sequence))) {
+ krb5_use_enctype(rdp->realm_context, &temp_eblock, enctype);
+ if ((kret = krb5_init_random_key(
+ rdp->realm_context, &temp_eblock,
+ &rdp->realm_mkey,
+ &krb5_enctype_array[enctype]->random_sequence))) {
com_err(progname, kret,
"while setting up random key generator for enctype %d--enctype disabled",
enctype);
@@ -641,13 +642,10 @@ goto whoops;
} else {
#ifdef KRB5_KRB4_COMPAT
if (enctype == ENCTYPE_DES_CBC_CRC) {
- krb5_use_enctype(rdp->realm_context,
- &temp_eblock, enctype);
- if ((kret = (*krb5_enctype_array[enctype]->
- system->random_key)
- (&temp_eblock,
- krb5_enctype_array[enctype]->random_sequence,
- &temp_key)))
+ if ((kret = krb5_random_key(
+ rdp->realm_context, &temp_eblock,
+ krb5_enctype_array[enctype]->random_sequence,
+ &temp_key)))
com_err(progname, kret,
"while initializing V4 random key generator");
else {