X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-opensaml.git;a=blobdiff_plain;f=saml%2Fsaml2%2Fbinding%2Fimpl%2FSAML2MessageDecoder.cpp;h=9e24de4964e109ba1e19812c5a13c00e91ead301;hp=97a38acb90b6db8757fe816676f07eed0fa016db;hb=003e73203da5cdf8c3d001a75a56b9e45ef6465b;hpb=33549b9c983cb627a7442d4bbfbe41c08caf8a53 diff --git a/saml/saml2/binding/impl/SAML2MessageDecoder.cpp b/saml/saml2/binding/impl/SAML2MessageDecoder.cpp index 97a38ac..9e24de4 100644 --- a/saml/saml2/binding/impl/SAML2MessageDecoder.cpp +++ b/saml/saml2/binding/impl/SAML2MessageDecoder.cpp @@ -1,6 +1,6 @@ /* * Copyright 2001-2007 Internet2 - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -16,7 +16,7 @@ /** * SAML2MessageDecoder.cpp - * + * * Base class for SAML 2.0 MessageDecoders. */ @@ -60,7 +60,7 @@ void SAML2MessageDecoder::extractMessageDetails( policy.setIssuer(issuer); } else if (XMLString::equals(q.getLocalPart(), Response::LOCAL_NAME)) { - // No issuer in the message, so we have to try the Response approach. + // No issuer in the message, so we have to try the Response approach. const vector& assertions = dynamic_cast(samlRoot).getAssertions(); if (!assertions.empty()) { issuer = assertions.front()->getIssuer(); @@ -89,10 +89,12 @@ void SAML2MessageDecoder::extractMessageDetails( log.warn("non-system entity issuer, skipping metadata lookup"); return; } - - log.debug("searching metadata for message issuer..."); - MetadataProvider::Criteria mc(issuer->getName(), policy.getRole(), protocol); + log.debug("searching metadata for message issuer..."); + MetadataProvider::Criteria& mc = policy.getMetadataProviderCriteria(); + mc.entityID_unicode = issuer->getName(); + mc.role = policy.getRole(); + mc.protocol = protocol; pair entity = policy.getMetadataProvider()->getEntityDescriptor(mc); if (!entity.first) { auto_ptr_char temp(issuer->getName());