try to return the error string from krb5
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9902 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 1999 Kungliga Tekniska H<>gskolan
|
||||
* Copyright (c) 1998 - 2001 Kungliga Tekniska H<>gskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
RCSID("$Id$");
|
||||
|
||||
static char *krb5_error_string;
|
||||
|
||||
static char *
|
||||
calling_error(OM_uint32 v)
|
||||
{
|
||||
@@ -91,6 +93,20 @@ routine_error(OM_uint32 v)
|
||||
return msgs[v];
|
||||
}
|
||||
|
||||
void
|
||||
gssapi_krb5_set_error_string (void)
|
||||
{
|
||||
krb5_error_string = krb5_get_error_string(gssapi_krb5_context);
|
||||
}
|
||||
|
||||
char *
|
||||
gssapi_krb5_get_error_string (void)
|
||||
{
|
||||
char *ret = krb5_error_string;
|
||||
krb5_error_string = NULL;
|
||||
return ret;
|
||||
}
|
||||
|
||||
OM_uint32 gss_display_status
|
||||
(OM_uint32 *minor_status,
|
||||
OM_uint32 status_value,
|
||||
@@ -118,7 +134,9 @@ OM_uint32 gss_display_status
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
} else if (status_type == GSS_C_MECH_CODE) {
|
||||
buf = strdup(krb5_get_err_text (gssapi_krb5_context, status_value));
|
||||
buf = gssapi_krb5_get_error_string ();
|
||||
if (buf == NULL)
|
||||
buf = strdup(krb5_get_err_text (gssapi_krb5_context, status_value));
|
||||
if (buf == NULL) {
|
||||
*minor_status = ENOMEM;
|
||||
return GSS_S_FAILURE;
|
||||
|
Reference in New Issue
Block a user