diff options
author | Ken Raeburn <raeburn@mit.edu> | 2007-04-13 05:31:24 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2007-04-13 05:31:24 +0000 |
commit | dfec91b8e9c23f0e1a214f810498879f8620a4f8 (patch) | |
tree | 2e6ef616b016086d13ffe6cc6431e95477b4743f /src | |
parent | 72ee9101a4ccd061ae160642f22aded06069db3a (diff) | |
download | krb5-dfec91b8e9c23f0e1a214f810498879f8620a4f8.tar.gz krb5-dfec91b8e9c23f0e1a214f810498879f8620a4f8.tar.xz krb5-dfec91b8e9c23f0e1a214f810498879f8620a4f8.zip |
Provide more detailed error message for 'client not found in kdb'
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19455 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/krb5/krb/get_in_tkt.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/krb5/krb/get_in_tkt.c b/src/lib/krb5/krb/get_in_tkt.c index 81f97dac8..a4e2b0131 100644 --- a/src/lib/krb5/krb/get_in_tkt.c +++ b/src/lib/krb5/krb/get_in_tkt.c @@ -1282,6 +1282,23 @@ krb5_get_init_creds(krb5_context context, ret = 0; cleanup: + if (ret != 0) { + char *client_name; + /* See if we can produce a more detailed error message. */ + switch (ret) { + case KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN: + client_name = NULL; + if (krb5_unparse_name(context, client, &client_name) == 0) { + krb5_set_error_message(context, ret, + "Client '%s' not found in Kerberos database", + client_name); + free(client_name); + } + break; + default: + break; + } + } krb5_preauth_request_context_fini(context); if (encoded_previous_request != NULL) { krb5_free_data(context, encoded_previous_request); |