X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=moonshot%2Fmech_eap%2Futil_name.c;h=6f038efde40e34cd010a6f50b71e2e41c769a27f;hb=9da959f11ebc69e0ae63bc3464b258d161d01cd2;hp=fbd4b8a6e347c7f6c941247648949b06c015908b;hpb=db09fc23e4dc013ecd797c51f2a8179cb0dfe670;p=moonshot.git diff --git a/moonshot/mech_eap/util_name.c b/moonshot/mech_eap/util_name.c index fbd4b8a..6f038ef 100644 --- a/moonshot/mech_eap/util_name.c +++ b/moonshot/mech_eap/util_name.c @@ -81,7 +81,7 @@ gssEapAllocName(OM_uint32 *minor, gss_name_t *pName) } if (GSSEAP_MUTEX_INIT(&name->mutex) != 0) { - *minor = errno; + *minor = GSSEAP_GET_LAST_ERROR(); gssEapReleaseName(&tmpMinor, &name); return GSS_S_FAILURE; } @@ -112,8 +112,9 @@ gssEapReleaseName(OM_uint32 *minor, gss_name_t *pName) GSSEAP_KRB_INIT(&krbContext); krb5_free_principal(krbContext, name->krbPrincipal); gssEapReleaseOid(&tmpMinor, &name->mechanismUsed); - +#ifdef GSSEAP_ENABLE_ACCEPTOR gssEapReleaseAttrContext(&tmpMinor, name); +#endif GSSEAP_MUTEX_DESTROY(&name->mutex); GSSEAP_FREE(name); @@ -426,6 +427,7 @@ gssEapImportNameInternal(OM_uint32 *minor, name->mechanismUsed = mechanismUsed; mechanismUsed = GSS_C_NO_OID; +#ifdef GSSEAP_ENABLE_ACCEPTOR if (flags & EXPORT_NAME_FLAG_COMPOSITE) { gss_buffer_desc buf; @@ -436,6 +438,7 @@ gssEapImportNameInternal(OM_uint32 *minor, if (GSS_ERROR(major)) goto cleanup; } +#endif major = GSS_S_COMPLETE; *minor = 0; @@ -565,12 +568,14 @@ gssEapExportNameInternal(OM_uint32 *minor, exportedNameLen += 6 + mech->length; } exportedNameLen += 4 + nameBuf.length; +#ifdef GSSEAP_ENABLE_ACCEPTOR if (flags & EXPORT_NAME_FLAG_COMPOSITE) { major = gssEapExportAttrContext(minor, name, &attrs); if (GSS_ERROR(major)) goto cleanup; exportedNameLen += attrs.length; } +#endif exportedName->value = GSSEAP_MALLOC(exportedNameLen); if (exportedName->value == NULL) { @@ -670,11 +675,13 @@ gssEapCanonicalizeName(OM_uint32 *minor, goto cleanup; } +#ifdef GSSEAP_ENABLE_ACCEPTOR if (input_name->attrCtx != NULL) { major = gssEapDuplicateAttrContext(minor, input_name, name); if (GSS_ERROR(major)) goto cleanup; } +#endif *dest_name = name;