X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=map_name_to_any.c;h=9bba387574b62d7cc04fee7cc4ba88d145256a12;hb=81378d116795fa8a7a56dc8e00c3b2666126682d;hp=ab5beda2962cd13ba41585463f0560f204db9007;hpb=da782b6d76b6035c0a1a510975ab56972884d539;p=mech_eap.orig diff --git a/map_name_to_any.c b/map_name_to_any.c index ab5beda..9bba387 100644 --- a/map_name_to_any.c +++ b/map_name_to_any.c @@ -39,6 +39,20 @@ gss_map_name_to_any(OM_uint32 *minor, gss_buffer_t type_id, gss_any_t *output) { - *minor = 0; - return GSS_S_UNAVAILABLE; + OM_uint32 major; + + *output = (gss_any_t)NULL; + + if (name == GSS_C_NO_NAME) { + *minor = EINVAL; + return GSS_S_CALL_INACCESSIBLE_READ | GSS_S_BAD_NAME; + } + + GSSEAP_MUTEX_LOCK(&name->mutex); + + major = gssEapMapNameToAny(minor, name, authenticated, type_id, output); + + GSSEAP_MUTEX_UNLOCK(&name->mutex); + + return major; }