Tell what principal we are not finding for all KRB5_CC_NOTFOUND.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20301 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997 - 2004 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997 - 2007 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -659,6 +659,20 @@ krb5_get_kdc_cred(krb5_context context,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
not_found(krb5_context context, krb5_const_principal p)
|
||||||
|
{
|
||||||
|
krb5_error_code ret;
|
||||||
|
char *str;
|
||||||
|
|
||||||
|
ret = krb5_unparse_name(context, p, &str);
|
||||||
|
if(ret) {
|
||||||
|
krb5_clear_error_string(context);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
krb5_set_error_string(context, "Matching credential (%s) not found", str);
|
||||||
|
free(str);
|
||||||
|
}
|
||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
find_cred(krb5_context context,
|
find_cred(krb5_context context,
|
||||||
@@ -684,17 +698,7 @@ find_cred(krb5_context context,
|
|||||||
}
|
}
|
||||||
tgts++;
|
tgts++;
|
||||||
}
|
}
|
||||||
{
|
not_found(context, server);
|
||||||
char *str;
|
|
||||||
ret = krb5_unparse_name(context, server, &str);
|
|
||||||
if(ret == 0) {
|
|
||||||
krb5_set_error_string(context, "Matching credential "
|
|
||||||
"(%s) not found", str);
|
|
||||||
free(str);
|
|
||||||
} else {
|
|
||||||
krb5_clear_error_string(context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return KRB5_CC_NOTFOUND;
|
return KRB5_CC_NOTFOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -818,7 +822,7 @@ get_cred_from_kdc_flags(krb5_context context,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(krb5_realm_compare(context, in_creds->client, in_creds->server)) {
|
if(krb5_realm_compare(context, in_creds->client, in_creds->server)) {
|
||||||
krb5_clear_error_string (context);
|
not_found(context, in_creds->server);
|
||||||
return KRB5_CC_NOTFOUND;
|
return KRB5_CC_NOTFOUND;
|
||||||
}
|
}
|
||||||
/* XXX this can loop forever */
|
/* XXX this can loop forever */
|
||||||
@@ -972,7 +976,7 @@ krb5_get_credentials_with_flags(krb5_context context,
|
|||||||
}
|
}
|
||||||
free(res_creds);
|
free(res_creds);
|
||||||
if(options & KRB5_GC_CACHED) {
|
if(options & KRB5_GC_CACHED) {
|
||||||
krb5_clear_error_string (context);
|
not_found(context, in_creds->server);
|
||||||
return KRB5_CC_NOTFOUND;
|
return KRB5_CC_NOTFOUND;
|
||||||
}
|
}
|
||||||
if(options & KRB5_GC_USER_USER)
|
if(options & KRB5_GC_USER_USER)
|
||||||
@@ -1175,7 +1179,7 @@ krb5_get_creds(krb5_context context,
|
|||||||
}
|
}
|
||||||
free(res_creds);
|
free(res_creds);
|
||||||
if(options & KRB5_GC_CACHED) {
|
if(options & KRB5_GC_CACHED) {
|
||||||
krb5_clear_error_string (context);
|
not_found(context, in_creds.server);
|
||||||
krb5_free_principal(context, in_creds.client);
|
krb5_free_principal(context, in_creds.client);
|
||||||
return KRB5_CC_NOTFOUND;
|
return KRB5_CC_NOTFOUND;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user