From: cantor Date: Thu, 21 Oct 2010 23:00:17 +0000 (+0000) Subject: Check for empty issuer. X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fresolver.git;a=commitdiff_plain;h=222b08874852332f1cb27c51b92facb2dce88b99 Check for empty issuer. git-svn-id: https://svn.middleware.georgetown.edu/shib-extension/cpp-sp-resolver/trunk@276 3ebe4818-3638-0410-822d-ece5924dabe2 --- 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...");