summaryrefslogtreecommitdiffstats
path: root/src/kadmin.old/server/adm_process.c
diff options
context:
space:
mode:
authorPaul Park <pjpark@mit.edu>1995-08-10 18:56:43 +0000
committerPaul Park <pjpark@mit.edu>1995-08-10 18:56:43 +0000
commit1752db3014e1d8416ab8ef49eede1e198e1607b5 (patch)
tree40ad33ad40fc5f2afb5f9de3d9ee23e7b16d14cb /src/kadmin.old/server/adm_process.c
parentfc78412f2fee2e4f15f464f390f8c9251436b093 (diff)
Use adm_find_keytype() and adm_update_tl_attrs() to handle new db format
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6502 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin.old/server/adm_process.c')
-rw-r--r--src/kadmin.old/server/adm_process.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/kadmin.old/server/adm_process.c b/src/kadmin.old/server/adm_process.c
index eb5af3e58c..39fc77d71e 100644
--- a/src/kadmin.old/server/adm_process.c
+++ b/src/kadmin.old/server/adm_process.c
@@ -49,6 +49,7 @@ cpw_keyproc(context, keyblock)
krb5_boolean more;
int nprincs = 1;
krb5_keysalt salt;
+ krb5_key_data *kdatap;
if (*keyblock == NULL) {
if (retval = krb5_parse_name(context,
@@ -78,10 +79,21 @@ cpw_keyproc(context, keyblock)
return(ENOMEM);
}
+ /* Find our key */
+ if (retval = adm_find_keytype(&cpw_entry,
+ KEYTYPE_DES,
+ -1,
+ &kdatap)) {
+ krb5_db_free_principal(context, &cpw_entry, nprincs);
+ syslog(LOG_ERR, "cpw_keyproc: cannot find server DES key");
+ close(client_server_info.client_socket);
+ return(retval);
+ }
+
/* Extract the real kadmin/<realm> keyblock */
if (retval = krb5_dbekd_decrypt_key_data(context,
&master_encblock,
- &cpw_entry.key_data[0],
+ kdatap,
realkey,
&salt)) {
krb5_db_free_principal(context, &cpw_entry, nprincs);
@@ -132,6 +144,7 @@ process_client(context, prog)
krb5_keysalt salt;
krb5_timestamp adm_time;
+ krb5_key_data *kdatap;
outbuf.data = retbuf;
if (setsockopt(client_server_info.client_socket,
@@ -192,10 +205,22 @@ process_client(context, prog)
exit(0);
}
+ /* Find our key */
+ if (retval = adm_find_keytype(&server_entry,
+ KEYTYPE_DES,
+ -1,
+ &kdatap)) {
+ krb5_db_free_principal(context, &server_entry, number_of_entries);
+ syslog(LOG_ERR,
+ "kadmind error: cannot find server DES key");
+ close(client_server_info.client_socket);
+ exit(0);
+ }
+
/* Extract the real kadmin/<realm> keyblock */
if (retval = krb5_dbekd_decrypt_key_data(context,
&master_encblock,
- &server_entry.key_data[0],
+ kdatap,
cpw_keyblock,
&salt)) {
krb5_db_free_principal(context, &server_entry, number_of_entries);