Raw signature trust support, Redirect binding, "simple" signing rule.
[shibboleth/cpp-opensaml.git] / samltest / binding.h
index fdd0ce7..4e7117e 100644 (file)
@@ -36,7 +36,7 @@ protected:
     opensaml::TrustEngine* m_trust;\r
     map<string,string> m_fields;\r
     map<string,string> m_headers;\r
-    string m_method,m_url;\r
+    string m_method,m_url,m_query;\r
     vector<XSECCryptoX509*> m_clientCerts;\r
     vector<const SecurityPolicyRule*> m_rules;\r
 \r
@@ -49,6 +49,7 @@ public:
         m_headers.clear();\r
         m_method.erase();\r
         m_url.erase();\r
+        m_query.erase();\r
 \r
         try {\r
             string config = data_path + "binding/ExampleMetadataProvider.xml";\r
@@ -77,7 +78,9 @@ public:
             m_trust = SAMLConfig::getConfig().TrustEngineManager.newPlugin(EXPLICIT_KEY_SAMLTRUSTENGINE, NULL);\r
 \r
             m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGEFLOW_POLICY_RULE,NULL));\r
+            m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGEROUTING_POLICY_RULE,NULL));\r
             m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGESIGNING_POLICY_RULE,NULL));\r
+            m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SIMPLESIGNING_POLICY_RULE,NULL));\r
         }\r
         catch (XMLToolingException& ex) {\r
             TS_TRACE(ex.what());\r
@@ -99,6 +102,7 @@ public:
         m_headers.clear();\r
         m_method.erase();\r
         m_url.erase();\r
+        m_query.erase();\r
     }\r
 \r
     // HTTPRequest methods\r
@@ -132,7 +136,7 @@ public:
     }\r
     \r
     const char* getQueryString() const {\r
-        return NULL;\r
+        return m_query.c_str();\r
     }\r
     \r
     string getRemoteUser() const {\r
@@ -188,6 +192,7 @@ public:
         char* pch = strchr(dup,'?');\r
         if (pch) {\r
             *pch++=0;\r
+            m_query = pch;\r
             char* name=pch;\r
             while (name && *name) {\r
                 pch=strchr(pch,'=');\r