X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-sp-resolver.git;a=blobdiff_plain;f=shibresolver%2Fresolver.cpp;h=fe75fa24445f1f626d6bf4f69e2b09c65286114b;hp=ce4a722d7cf8004c1eb2e69c5c021678fa317445;hb=4c7adc1888d9df9e9f10abc1a46578b87e55c606;hpb=4b34bfc0d3230d2299231f9ab732d714ffa5fcf8 diff --git a/shibresolver/resolver.cpp b/shibresolver/resolver.cpp index ce4a722..fe75fa2 100644 --- a/shibresolver/resolver.cpp +++ b/shibresolver/resolver.cpp @@ -281,10 +281,10 @@ void RemotedResolver::resolve( pair entity = pair(nullptr,nullptr); MetadataProvider* m = app.getMetadataProvider(); Locker locker(m); - if (issuer) { + if (issuer && *issuer) { // Use metadata to locate the IdP's SSO service. MetadataProviderCriteria mc(app, issuer, &IDPSSODescriptor::ELEMENT_QNAME, samlconstants::SAML20P_NS); - entity=m->getEntityDescriptor(mc); + entity = m->getEntityDescriptor(mc); if (!entity.first) { log.warn("unable to locate metadata for provider (%s)", issuer); throw MetadataException("Unable to locate metadata for identity provider ($entityID)", namedparams(1, "entityID", issuer)); @@ -300,7 +300,7 @@ void RemotedResolver::resolve( AttributeExtractor* extractor = app.getAttributeExtractor(); if (extractor) { Locker extlocker(extractor); - if (issuer) { + if (entity.second) { pair mprefix = app.getString("metadataAttributePrefix"); if (mprefix.first) { log.debug("extracting metadata-derived attributes...");