diff options
| author | Paul Park <pjpark@mit.edu> | 1995-08-10 18:56:43 +0000 |
|---|---|---|
| committer | Paul Park <pjpark@mit.edu> | 1995-08-10 18:56:43 +0000 |
| commit | 1752db3014e1d8416ab8ef49eede1e198e1607b5 (patch) | |
| tree | 40ad33ad40fc5f2afb5f9de3d9ee23e7b16d14cb /src/kadmin.old/server/adm_process.c | |
| parent | fc78412f2fee2e4f15f464f390f8c9251436b093 (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.c | 29 |
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); |
