aboutsummaryrefslogtreecommitdiff
path: root/src/lib/kdb/keytab.c
diff options
context:
space:
mode:
authorno author <devnull@mit.edu>2000-02-09 02:45:27 +0000
committerno author <devnull@mit.edu>2000-02-09 02:45:27 +0000
commit824e15df882d8dda930a645e180887520c290ef2 (patch)
treebff627de3e7454a22b5bf5369b4aa09489da1ed8 /src/lib/kdb/keytab.c
parent2ac4a834a034a836554037cbc72ae06ecc1bcb75 (diff)
downloadkrb5-824e15df882d8dda930a645e180887520c290ef2.zip
krb5-824e15df882d8dda930a645e180887520c290ef2.tar.gz
krb5-824e15df882d8dda930a645e180887520c290ef2.tar.bz2
This commit was manufactured by cvs2svn to create tag 'V1_0_7_BETA1'krb5-1.0.7-beta1
git-svn-id: svn://anonsvn.mit.edu/krb5/tags/V1_0_7_BETA1@12029 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb/keytab.c')
-rw-r--r--src/lib/kdb/keytab.c37
1 files changed, 23 insertions, 14 deletions
diff --git a/src/lib/kdb/keytab.c b/src/lib/kdb/keytab.c
index c32b742..82ed08e 100644
--- a/src/lib/kdb/keytab.c
+++ b/src/lib/kdb/keytab.c
@@ -110,35 +110,44 @@ krb5_ktkdb_get_entry(context, id, principal, kvno, enctype, entry)
/* Open database */
/* krb5_dbm_db_init(context); */
- if (kerror = krb5_dbm_db_open_database(context))
+ if ((kerror = krb5_dbm_db_open_database(context)))
return(kerror);
/* get_principal */
- if (kerror = krb5_dbm_db_get_principal(context, principal, &db_entry,
- &n, &more)) {
+ kerror = krb5_dbm_db_get_principal(context, principal, &
+ db_entry, &n, &more);
+ if (kerror) {
krb5_dbm_db_close_database(context);
return(kerror);
}
-
- if (n != 1)
- {
+ if (n != 1) {
krb5_dbm_db_close_database(context);
return KRB5_KT_NOTFOUND;
- }
+ }
+
/* match key */
- krb5_dbm_db_get_mkey(context, id->ops, &master_key);
- krb5_dbe_find_enctype(context, &db_entry, enctype, -1, kvno, &key_data);
- if (kerror = krb5_dbekd_decrypt_key_data(context, master_key, key_data,
- &entry->key, NULL))
+ /* WTF??? 2nd arg to dbm_db_get_mkey appears to be unused! -tlyu */
+ kerror = krb5_dbm_db_get_mkey(context, id->ops, &master_key);
+ if (kerror)
+ goto error;
+
+ kerror = krb5_dbe_find_enctype(context, &db_entry,
+ enctype, -1, kvno, &key_data);
+ if (kerror)
+ goto error;
+
+ kerror = krb5_dbekd_decrypt_key_data(context, master_key,
+ key_data, &entry->key, NULL);
+ if (kerror)
goto error;
- if (kerror = krb5_copy_principal(context, principal, &entry->principal))
+ kerror = krb5_copy_principal(context, principal, &entry->principal);
+ if (kerror)
goto error;
/* Close database */
-error:;
+ error:
krb5_dbe_free_contents(context, &db_entry);
krb5_dbm_db_close_database(context);
return(kerror);
}
-