summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/gssapi/krb5/krb5_gss_glue.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/gssapi/krb5/krb5_gss_glue.c b/src/lib/gssapi/krb5/krb5_gss_glue.c
index 5b7cbdf21..cd3459cd7 100644
--- a/src/lib/gssapi/krb5/krb5_gss_glue.c
+++ b/src/lib/gssapi/krb5/krb5_gss_glue.c
@@ -280,6 +280,7 @@ krb5_gss_use_kdc_context(void)
OM_uint32 major_status;
OM_uint32 minor_status;
gss_buffer_desc req_buffer;
+ krb5_error_code ret;
req_buffer.length = 0;
req_buffer.value = NULL;
@@ -289,7 +290,15 @@ krb5_gss_use_kdc_context(void)
(const gss_OID)&req_oid,
&req_buffer);
- return major_status;
+ if (major_status != GSS_S_COMPLETE) {
+ if (minor_status != 0)
+ ret = (krb5_error_code)minor_status;
+ else
+ ret = KRB5KRB_ERR_GENERIC;
+ } else
+ ret = 0;
+
+ return ret;
}
/*