summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/krb5/disp_name.c
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2007-07-04 05:46:24 +0000
committerKen Raeburn <raeburn@mit.edu>2007-07-04 05:46:24 +0000
commitfcdd2de143971b0f020531479ad18f57874aef30 (patch)
tree8bec355041d9241b90822a13548ca2ec45a9a884 /src/lib/gssapi/krb5/disp_name.c
parente0845c95210ca7cf4a03be23b034a2f29fc078c6 (diff)
downloadkrb5-fcdd2de143971b0f020531479ad18f57874aef30.tar.gz
krb5-fcdd2de143971b0f020531479ad18f57874aef30.tar.xz
krb5-fcdd2de143971b0f020531479ad18f57874aef30.zip
gss krb5 mech enhanced error messages
Save detailed error messages (usually from the krb5 library) in per-thread storage, mapping each error code to the most recently produced message for it. Return the message from display_status. Currently not implemented for a few cases where the krb5 mechanism returns a minor status code of 0, or another value different from the libkrb5 error code. Other functions are available to store a generic string or formatted message, but aren't used much at present. Tested with these errors in context establishment: * missing ccache (libkrb5 shows pathname if FILE: type) * missing keytab (libkrb5 shows pathname if FILE: type) * server principal unknown (libkrb5 shows server principal) ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19672 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/gssapi/krb5/disp_name.c')
-rw-r--r--src/lib/gssapi/krb5/disp_name.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/gssapi/krb5/disp_name.c b/src/lib/gssapi/krb5/disp_name.c
index 5d3a042d43..1f67d51299 100644
--- a/src/lib/gssapi/krb5/disp_name.c
+++ b/src/lib/gssapi/krb5/disp_name.c
@@ -52,6 +52,7 @@ krb5_gss_display_name(minor_status, input_name, output_name_buffer,
if ((code = krb5_unparse_name(context,
(krb5_principal) input_name, &str))) {
*minor_status = code;
+ save_error_info(*minor_status, context);
krb5_free_context(context);
return(GSS_S_FAILURE);
}