X-Git-Url: http://www.project-moonshot.org/gitweb/?p=moonshot.git;a=blobdiff_plain;f=moonshot%2Fmech_eap%2Futil_attr.cpp;h=94968631619d3ac3fb13de0b320ab729f7b3e1ef;hp=01c3135f73501092cb0130da792e75ad37ffe140;hb=54cee92590fb021f1b3eaf1d711c914cf3f561c6;hpb=677509a6979cbd211f27263cab44858e88e1fb65 diff --git a/moonshot/mech_eap/util_attr.cpp b/moonshot/mech_eap/util_attr.cpp index 01c3135..9496863 100644 --- a/moonshot/mech_eap/util_attr.cpp +++ b/moonshot/mech_eap/util_attr.cpp @@ -57,12 +57,16 @@ gssEapAttrProvidersInitInternal(void) if (GSS_ERROR(major)) goto cleanup; +#ifdef HAVE_OPENSAML major = gssEapSamlAttrProvidersInit(&minor); if (GSS_ERROR(major)) goto cleanup; +#endif +#ifdef HAVE_SHIBRESOLVER /* Allow Shibboleth initialization failure to be non-fatal */ gssEapLocalAttrProviderInit(&minor); +#endif cleanup: #ifdef GSSEAP_DEBUG @@ -86,19 +90,19 @@ gssEapAttrProvidersInit(OM_uint32 *minor) OM_uint32 gssEapAttrProvidersFinalize(OM_uint32 *minor) { - OM_uint32 major = GSS_S_COMPLETE; - if (gssEapAttrProvidersInitStatus == GSS_S_COMPLETE) { - major = gssEapLocalAttrProviderFinalize(minor); - if (major == GSS_S_COMPLETE) - major = gssEapSamlAttrProvidersFinalize(minor); - if (major == GSS_S_COMPLETE) - major = gssEapRadiusAttrProviderFinalize(minor); +#ifdef HAVE_SHIBRESOLVER + gssEapLocalAttrProviderFinalize(minor); +#endif +#ifdef HAVE_OPENSAML + gssEapSamlAttrProvidersFinalize(minor); +#endif + gssEapRadiusAttrProviderFinalize(minor); gssEapAttrProvidersInitStatus = GSS_S_UNAVAILABLE; } - return major; + return GSS_S_COMPLETE; } static gss_eap_attr_create_provider gssEapAttrFactories[ATTR_TYPE_MAX + 1];