X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-opensaml.git;a=blobdiff_plain;f=saml%2Fsaml2%2Fbinding%2Fimpl%2FSAML2ArtifactDecoder.cpp;h=ae7545af0b0237c729d36cdda5aac46961528458;hp=553d8a51bf33f341bf464fe0de690f27a552dc1d;hb=9d61992f725e8b73421e9262a711f4cbdd782b18;hpb=53f30080aa11d6874d6e2c5c533b2fbd4be1fd17 diff --git a/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp b/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp index 553d8a5..ae7545a 100644 --- a/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp +++ b/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp @@ -152,11 +152,13 @@ XMLObject* SAML2ArtifactDecoder::decode( m_artifactResolver->resolve(*(artifact2.get()), dynamic_cast(*roledesc), policy) ); - // The policy should be enforced against the ArtifactResponse by the resolve step. + // The policy should be enforced against the ArtifactResponse by the resolve step. + // Reset only the message state. + policy.reset(true); // Extract payload and check that message. XMLObject* payload = response->getPayload(); - policy.evaluate(*payload, &genericRequest); + policy.evaluate(*payload, &genericRequest, samlconstants::SAML20P_NS); // Return the payload only. response.release();