https://issues.shibboleth.net/jira/browse/SSPCPP-624
[shibboleth/cpp-sp.git] / shibsp / handler / impl / SAMLDSSessionInitiator.cpp
index ed5b293..b9e1b82 100644 (file)
@@ -135,6 +135,7 @@ SAMLDSSessionInitiator::SAMLDSSessionInitiator(const DOMElement* e, const char*
     pair<bool,const char*> options = getString("preservedOptions");
     if (options.first) {
         string opt = options.second;
+        trim(opt);
         split(m_preservedOptions, opt, is_space(), algorithm::token_compress_on);
     }
     else {
@@ -277,6 +278,9 @@ pair<bool,long> SAMLDSSessionInitiator::run(SPRequest& request, string& entityID
         req = req + "&returnIDParam=" + m_returnParam;
     if (isPassive)
         req += "&isPassive=true";
+    prop = getString("discoveryPolicy");
+    if (prop.first)
+        req += "&policy=" + urlenc->encode(prop.second);
 
     return make_pair(true, request.sendRedirect(req.c_str()));
 }