diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-10-11 16:43:42 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-10-11 16:43:42 +0000 |
commit | 9742a17307c9c9937826a576daf70db137cdf78c (patch) | |
tree | 8a05f6753144eb6b70e44818605029bd44842a34 /src/lib/krb5 | |
parent | 4fdc58664a86b480e7306dd84a73ff71a509a839 (diff) | |
download | krb5-9742a17307c9c9937826a576daf70db137cdf78c.tar.gz krb5-9742a17307c9c9937826a576daf70db137cdf78c.tar.xz krb5-9742a17307c9c9937826a576daf70db137cdf78c.zip |
When returning KRB5_KT_NOTFOUND from krb5_ktfile_get_entry, set an
extended error message indicating which principal was not found.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24448 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5')
-rw-r--r-- | src/lib/krb5/keytab/kt_file.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c index 80070bcf5..5246009ca 100644 --- a/src/lib/krb5/keytab/kt_file.c +++ b/src/lib/krb5/keytab/kt_file.c @@ -253,6 +253,7 @@ krb5_ktfile_get_entry(krb5_context context, krb5_keytab id, krb5_boolean similar; int kvno_offset = 0; int was_open; + char *princname; kerror = KTLOCK(id); if (kerror) @@ -375,8 +376,14 @@ krb5_ktfile_get_entry(krb5_context context, krb5_keytab id, kerror = 0; else if (found_wrong_kvno) kerror = KRB5_KT_KVNONOTFOUND; - else + else { kerror = KRB5_KT_NOTFOUND; + if (krb5_unparse_name(context, principal, &princname) == 0) { + krb5_set_error_message(context, kerror, "No key table entry " + "found for %s", princname); + free(princname); + } + } } if (kerror) { if (was_open == 0) |