make the SPNEGO mech store the error itself instead, works for everything except other stackable mechs
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22600 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -59,8 +59,10 @@ initiator_approved(gss_name_t target_name, gss_OID mech)
|
||||
&out,
|
||||
NULL,
|
||||
NULL);
|
||||
if (GSS_ERROR(maj_stat))
|
||||
if (GSS_ERROR(maj_stat)) {
|
||||
gss_mg_collect_error(mech, maj_stat, min_stat);
|
||||
return GSS_S_BAD_MECH;
|
||||
}
|
||||
gss_release_buffer(&min_stat, &out);
|
||||
gss_delete_sec_context(&min_stat, &ctx, NULL);
|
||||
|
||||
@@ -268,6 +270,7 @@ spnego_initial
|
||||
if (GSS_ERROR(sub)) {
|
||||
free_NegTokenInit(&ni);
|
||||
*minor_status = minor;
|
||||
gss_mg_collect_error(ctx->preferred_mech_type, sub, minor);
|
||||
_gss_spnego_internal_delete_sec_context(&minor, &context, GSS_C_NO_BUFFER);
|
||||
return sub;
|
||||
}
|
||||
@@ -516,6 +519,7 @@ spnego_reply
|
||||
if (GSS_ERROR(ret)) {
|
||||
HEIMDAL_MUTEX_unlock(&ctx->ctx_id_mutex);
|
||||
free_NegTokenResp(&resp);
|
||||
gss_mg_collect_error(&mech, ret, minor);
|
||||
*minor_status = minor;
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user