- policy.evaluate(*env, &genericRequest);
- policy.evaluate(*request, &genericRequest);
+ pair<bool,int> minor = request->getMinorVersion();
+ extractMessageDetails(
+ *env,
+ genericRequest,
+ (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM,
+ policy
+ );
+ policy.evaluate(*env,&genericRequest);
+
+ // Reset, extract, and run again.
+ policy.reset(true);
+ extractMessageDetails(
+ *request,
+ genericRequest,
+ (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM,
+ policy
+ );
+ policy.evaluate(*request,&genericRequest);