[cpp-sp] branch main updated: Remove SAMLConstants and start setting up unit testing.
Scott Cantor
cantor.2 at osu.edu
Tue Nov 5 16:59:39 UTC 2024
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository cpp-sp.
View the commit online:
http://git.shibboleth.net/view/?p=cpp-sp.git;a=commit;h=86aff219ed6bec467532f9270834e225c049cfc0
The following commit(s) were added to refs/heads/main by this push:
new 86aff219 Remove SAMLConstants and start setting up unit testing.
86aff219 is described below
commit 86aff219ed6bec467532f9270834e225c049cfc0
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Nov 5 11:59:35 2024 -0500
Remove SAMLConstants and start setting up unit testing.
---
Makefile.am | 2 +-
Projects/vc15/shibsp/shibsp.vcxproj | 2 -
configure.ac | 8 +-
shibsp/Makefile.am | 6 -
shibsp/handler/AbstractHandler.h | 11 -
shibsp/handler/impl/AbstractHandler.cpp | 18 +-
shibsp/handler/impl/AdminLogoutInitiator.cpp | 21 --
shibsp/handler/impl/SAML2Consumer.cpp | 69 ------
shibsp/handler/impl/SAML2Logout.cpp | 51 -----
shibsp/handler/impl/SAML2LogoutInitiator.cpp | 52 +----
shibsp/handler/impl/SAML2SessionInitiator.cpp | 58 +----
shibsp/impl/XMLApplication.cpp | 4 +-
shibsp/impl/XMLServiceProvider.cpp | 2 -
shibsp/lite/SAMLConstants.cpp | 237 ---------------------
shibsp/lite/SAMLConstants.h | 174 ---------------
tests/.gitignore | 4 +
tests/AgentTestSuite.cpp | 23 ++
tests/Makefile.am | 19 ++
tests/PropertyTreeTests.cpp | 28 +++
unittests/DynamicMetadataProviderTest.h | 209 ------------------
unittests/Makefile.am | 47 ----
unittests/SPTest.h | 75 -------
unittests/TestApplication.cpp | 196 -----------------
unittests/TestApplication.h | 87 --------
unittests/config/etc/shibboleth/cert.pem | 16 --
unittests/config/etc/shibboleth/console.logger | 11 -
unittests/config/etc/shibboleth/icpem.pem | 22 --
.../config/etc/shibboleth/security-policy.xml | 33 ---
unittests/config/var/cache/shibboleth/.gitignore | 1 -
.../var/cache/shibboleth/dynamic/gitkeep/.gitkeep | 1 -
unittests/data/badSigMDQ.xml | 4 -
unittests/data/chainedFromURL.xml | 10 -
.../df5a20c921bc30c1b76c5a6cec08d074e280de8b.xml | 91 --------
unittests/data/fromMDQ.xml | 3 -
unittests/data/idp.shibboleth.net.xml | 91 --------
unittests/data/localDynamic.xml | 1 -
unittests/data/templateFromRepo.xml | 3 -
37 files changed, 93 insertions(+), 1597 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 53121a22..3bcf4901 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,7 @@ DIST_SUBDIRS = \
shibsp \
apache \
fastcgi \
- unittests
+ tests
pkgconfig_DATA = shibsp.pc
diff --git a/Projects/vc15/shibsp/shibsp.vcxproj b/Projects/vc15/shibsp/shibsp.vcxproj
index 813d610f..ae8ad8d9 100644
--- a/Projects/vc15/shibsp/shibsp.vcxproj
+++ b/Projects/vc15/shibsp/shibsp.vcxproj
@@ -243,7 +243,6 @@
<ClCompile Include="..\..\..\shibsp\handler\impl\SessionHandler.cpp" />
<ClCompile Include="..\..\..\shibsp\handler\impl\SessionInitiator.cpp" />
<ClCompile Include="..\..\..\shibsp\handler\impl\StatusHandler.cpp" />
- <ClCompile Include="..\..\..\shibsp\lite\SAMLConstants.cpp" />
<ClCompile Include="..\..\..\shibsp\version.cpp" />
</ItemGroup>
<ItemGroup>
@@ -287,7 +286,6 @@
<ClInclude Include="..\..\..\shibsp\handler\LogoutHandler.h" />
<ClInclude Include="..\..\..\shibsp\handler\RemotedHandler.h" />
<ClInclude Include="..\..\..\shibsp\handler\SessionInitiator.h" />
- <ClInclude Include="..\..\..\shibsp\lite\SAMLConstants.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\shibsp\shibsp.rc">
diff --git a/configure.ac b/configure.ac
index 5068c57a..7a59d2d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -343,12 +343,8 @@ if test "$WANT_APACHE_24" = "yes" ; then
fi
# Check for unit test support
-AC_CONFIG_FILES([unittests/Makefile])
-AC_ARG_VAR([CXXTEST], [override the cxxtestgen executable and options])
-AC_CHECK_PROGS([CXXTEST], [cxxtestgen cxxtestgen.pl], [false])
-AC_ARG_VAR([CXXTESTFLAGS], [override the cxxtest compiler flags needed to build tests])
-AM_CONDITIONAL([BUILD_UNITTEST], [test "x${CXXTEST}" != xfalse])
-WANT_SUBDIRS="$WANT_SUBDIRS unittests"
+AC_CONFIG_FILES([tests/Makefile])
+WANT_SUBDIRS="$WANT_SUBDIRS tests"
AC_SUBST(WANT_SUBDIRS)
diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
index 9963a27e..d83bc41e 100644
--- a/shibsp/Makefile.am
+++ b/shibsp/Makefile.am
@@ -8,8 +8,6 @@ attrincludedir = $(includedir)/shibsp/attribute
handincludedir = $(includedir)/shibsp/handler
-liteincludedir = $(includedir)/shibsp/lite
-
remincludedir = $(includedir)/shibsp/remoting
utilincludedir = $(includedir)/shibsp/util
@@ -47,9 +45,6 @@ handinclude_HEADERS = \
handler/SecuredHandler.h \
handler/SessionInitiator.h
-liteinclude_HEADERS = \
- lite/SAMLConstants.h
-
reminclude_HEADERS = \
remoting/ddf.h \
remoting/ListenerService.h
@@ -109,7 +104,6 @@ libshibsp_la_SOURCES = \
impl/XMLApplication.cpp \
impl/XMLRequestMapper.cpp \
impl/XMLServiceProvider.cpp \
- lite/SAMLConstants.cpp \
remoting/impl/ddf.cpp \
remoting/impl/ListenerService.cpp \
remoting/impl/SocketListener.cpp \
diff --git a/shibsp/handler/AbstractHandler.h b/shibsp/handler/AbstractHandler.h
index cef160f4..3b9bd2e8 100644
--- a/shibsp/handler/AbstractHandler.h
+++ b/shibsp/handler/AbstractHandler.h
@@ -35,17 +35,6 @@
#include <string>
#include <xmltooling/logging.h>
-#ifndef SHIBSP_LITE
-namespace opensaml {
- class SAML_API MessageEncoder;
- namespace saml2md {
- class SAML_API RoleDescriptor;
- };
- namespace saml2p {
- class SAML_API StatusResponseType;
- };
-};
-#endif
namespace xmltooling {
class XMLTOOL_API XMLObject;
diff --git a/shibsp/handler/impl/AbstractHandler.cpp b/shibsp/handler/impl/AbstractHandler.cpp
index 8b0f9159..ec982d6b 100644
--- a/shibsp/handler/impl/AbstractHandler.cpp
+++ b/shibsp/handler/impl/AbstractHandler.cpp
@@ -46,14 +46,10 @@
#include <xmltooling/util/PathResolver.h>
#include <xmltooling/util/URLEncoder.h>
-
-#include "lite/SAMLConstants.h"
-
#include <xmltooling/XMLToolingConfig.h>
#include <xmltooling/util/URLEncoder.h>
using namespace shibsp;
-using namespace samlconstants;
using namespace xmltooling;
using namespace xercesc;
using namespace boost;
@@ -92,12 +88,7 @@ void SHIBSP_API shibsp::registerHandlers()
SPConfig& conf=SPConfig::getConfig();
conf.AssertionConsumerServiceManager.registerFactory(SAML20_ASSERTION_CONSUMER_SERVICE, SAML2ConsumerFactory);
- conf.AssertionConsumerServiceManager.registerFactory(SAML20_BINDING_HTTP_POST, SAML2ConsumerFactory);
- conf.AssertionConsumerServiceManager.registerFactory(SAML20_BINDING_HTTP_POST_SIMPLESIGN, SAML2ConsumerFactory);
- conf.AssertionConsumerServiceManager.registerFactory(SAML20_BINDING_HTTP_ARTIFACT, SAML2ConsumerFactory);
- conf.AssertionConsumerServiceManager.registerFactory(SAML20_BINDING_PAOS, SAML2ConsumerFactory);
-
- conf.HandlerManager.registerFactory(SAML20_BINDING_URI, AssertionLookupFactory);
+
conf.HandlerManager.registerFactory(ATTR_CHECKER_HANDLER, AttributeCheckerFactory);
conf.HandlerManager.registerFactory(DISCOVERY_FEED_HANDLER, DiscoveryFeedFactory);
conf.HandlerManager.registerFactory(METADATA_GENERATOR_HANDLER, MetadataGeneratorFactory);
@@ -105,12 +96,7 @@ void SHIBSP_API shibsp::registerHandlers()
conf.HandlerManager.registerFactory(SESSION_HANDLER, SessionHandlerFactory);
conf.SingleLogoutServiceManager.registerFactory(SAML20_LOGOUT_HANDLER, SAML2LogoutFactory);
- conf.SingleLogoutServiceManager.registerFactory(SAML20_BINDING_SOAP, SAML2LogoutFactory);
- conf.SingleLogoutServiceManager.registerFactory(SAML20_BINDING_HTTP_REDIRECT, SAML2LogoutFactory);
- conf.SingleLogoutServiceManager.registerFactory(SAML20_BINDING_HTTP_POST, SAML2LogoutFactory);
- conf.SingleLogoutServiceManager.registerFactory(SAML20_BINDING_HTTP_POST_SIMPLESIGN, SAML2LogoutFactory);
- conf.SingleLogoutServiceManager.registerFactory(SAML20_BINDING_HTTP_ARTIFACT, SAML2LogoutFactory);
-}
+}
Handler::Handler()
{
diff --git a/shibsp/handler/impl/AdminLogoutInitiator.cpp b/shibsp/handler/impl/AdminLogoutInitiator.cpp
index 19e1aa25..5a61d8ee 100644
--- a/shibsp/handler/impl/AdminLogoutInitiator.cpp
+++ b/shibsp/handler/impl/AdminLogoutInitiator.cpp
@@ -32,27 +32,6 @@
#include "handler/SecuredHandler.h"
#include "handler/LogoutInitiator.h"
-#ifndef SHIBSP_LITE
-# include "binding/SOAPClient.h"
-# include "metadata/MetadataProviderCriteria.h"
-# include "security/SecurityPolicy.h"
-# include <boost/algorithm/string.hpp>
-# include <boost/iterator/indirect_iterator.hpp>
-# include <saml/exceptions.h>
-# include <saml/SAMLConfig.h>
-# include <saml/saml2/core/Protocols.h>
-# include <saml/saml2/binding/SAML2SOAPClient.h>
-# include <saml/saml2/metadata/EndpointManager.h>
-# include <saml/saml2/metadata/Metadata.h>
-# include <saml/saml2/metadata/MetadataCredentialCriteria.h>
-using namespace opensaml::saml2;
-using namespace opensaml::saml2p;
-using namespace opensaml::saml2md;
-using namespace opensaml;
-#else
-# include "lite/SAMLConstants.h"
-#endif
-
using namespace shibsp;
using namespace xmltooling;
using namespace boost;
diff --git a/shibsp/handler/impl/SAML2Consumer.cpp b/shibsp/handler/impl/SAML2Consumer.cpp
index 2b877492..5306cf45 100644
--- a/shibsp/handler/impl/SAML2Consumer.cpp
+++ b/shibsp/handler/impl/SAML2Consumer.cpp
@@ -27,34 +27,6 @@
#include "internal.h"
#include "handler/AssertionConsumerService.h"
-#ifndef SHIBSP_LITE
-# include "Application.h"
-# include "ServiceProvider.h"
-# include "SessionCache.h"
-# include "attribute/resolver/ResolutionContext.h"
-# include <boost/iterator/indirect_iterator.hpp>
-# include <saml/exceptions.h>
-# include <saml/SAMLConfig.h>
-# include <saml/binding/SecurityPolicyRule.h>
-# include <saml/saml2/core/Protocols.h>
-# include <saml/saml2/metadata/Metadata.h>
-# include <saml/saml2/metadata/MetadataCredentialCriteria.h>
-# include <saml/saml2/profile/SAML2AssertionPolicy.h>
-# include <xmltooling/XMLToolingConfig.h>
-# include <xmltooling/io/HTTPRequest.h>
-# include <xmltooling/validation/ValidatorSuite.h>
-using namespace opensaml::saml2;
-using namespace opensaml::saml2p;
-using namespace opensaml::saml2md;
-using namespace opensaml;
-using namespace boost;
-# ifndef min
-# define min(a,b) (((a) < (b)) ? (a) : (b))
-# endif
-#else
-# include "lite/SAMLConstants.h"
-#endif
-
using namespace shibsp;
using namespace xmltooling;
using namespace std;
@@ -71,36 +43,8 @@ namespace shibsp {
public:
SAML2Consumer(const DOMElement* e, const char* appId, bool deprecationSupport=true)
: AssertionConsumerService(e, appId, Category::getInstance(SHIBSP_LOGCAT ".SSO.SAML2"), nullptr, nullptr, deprecationSupport) {
-#ifndef SHIBSP_LITE
- m_paos = XMLString::equals(getString("Binding").second, samlconstants::SAML20_BINDING_PAOS);
- if (SPConfig::getConfig().isEnabled(SPConfig::OutOfProcess))
- m_ssoRule.reset(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(BEARER_POLICY_RULE, e, deprecationSupport));
-#endif
}
virtual ~SAML2Consumer() {}
-
-#ifndef SHIBSP_LITE
- private:
- const char* getProfile() const {
- return m_paos ? samlconstants::SAML20_PROFILE_SSO_ECP : samlconstants::SAML20_PROFILE_SSO_BROWSER;
- }
-
- void implementProtocol(
- const Application& application,
- const HTTPRequest& httpRequest,
- HTTPResponse& httpResponse,
- SecurityPolicy& policy,
- const PropertySet*,
- const XMLObject& xmlObject
- ) const;
-
- bool m_paos;
- scoped_ptr<SecurityPolicyRule> m_ssoRule;
-#else
- const XMLCh* getProtocolFamily() const {
- return samlconstants::SAML20P_NS;
- }
-#endif
};
#if defined (_MSC_VER)
@@ -111,19 +55,6 @@ namespace shibsp {
{
return new SAML2Consumer(p.first, p.second, deprecationSupport);
}
-
-#ifndef SHIBSP_LITE
- class SHIBSP_DLLLOCAL _rulenamed : std::unary_function<const SecurityPolicyRule*,bool>
- {
- public:
- _rulenamed(const char* name) : m_name(name) {}
- bool operator()(const SecurityPolicyRule* rule) const {
- return rule ? !strcmp(m_name, rule->getType()) : false;
- }
- private:
- const char* m_name;
- };
-#endif
};
#ifndef SHIBSP_LITE
diff --git a/shibsp/handler/impl/SAML2Logout.cpp b/shibsp/handler/impl/SAML2Logout.cpp
index 7e40038b..3d6d058e 100644
--- a/shibsp/handler/impl/SAML2Logout.cpp
+++ b/shibsp/handler/impl/SAML2Logout.cpp
@@ -33,29 +33,6 @@
#include "handler/LogoutHandler.h"
#include "util/SPConstants.h"
-#ifndef SHIBSP_LITE
-# include "SessionCache.h"
-# include "security/SecurityPolicy.h"
-# include "security/SecurityPolicyProvider.h"
-# include "metadata/MetadataProviderCriteria.h"
-# include <fstream>
-# include <boost/algorithm/string.hpp>
-# include <boost/iterator/indirect_iterator.hpp>
-# include <saml/exceptions.h>
-# include <saml/SAMLConfig.h>
-# include <saml/saml2/core/Protocols.h>
-# include <saml/saml2/metadata/EndpointManager.h>
-# include <saml/saml2/metadata/Metadata.h>
-# include <saml/saml2/metadata/MetadataCredentialCriteria.h>
-# include <xmltooling/util/URLEncoder.h>
-using namespace opensaml::saml2;
-using namespace opensaml::saml2p;
-using namespace opensaml::saml2md;
-using namespace opensaml;
-#else
-# include "lite/SAMLConstants.h"
-#endif
-
#include <boost/scoped_ptr.hpp>
using namespace shibsp;
@@ -79,33 +56,8 @@ namespace shibsp {
void receive(DDF& in, ostream& out);
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
- const XMLCh* getProtocolFamily() const {
- return samlconstants::SAML20P_NS;
- }
-
private:
pair<bool,long> doRequest(const Application& application, HTTPRequest& httpRequest, HTTPResponse& httpResponse) const;
-
-#ifndef SHIBSP_LITE
- pair<bool,long> sendResponse(
- LogoutEvent* logoutEvent,
- const XMLCh* requestID,
- const XMLCh* code,
- const XMLCh* subcode,
- const char* msg,
- const char* relayState,
- const RoleDescriptor* role,
- const Application& application,
- HTTPResponse& httpResponse,
- bool front
- ) const;
-
- scoped_ptr<MessageDecoder> m_decoder;
- vector<string> m_bindings;
- map< string,boost::shared_ptr<MessageEncoder> > m_encoders;
- auto_ptr_char m_protocol;
- bool m_notifyWithoutSession;
-#endif
};
#if defined (_MSC_VER)
@@ -120,9 +72,6 @@ namespace shibsp {
SAML2Logout::SAML2Logout(const DOMElement* e, const char* appId, bool deprecationSupport)
: AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".Logout.SAML2"))
-#ifndef SHIBSP_LITE
- ,m_protocol(samlconstants::SAML20P_NS)
-#endif
{
m_initiator = false;
#ifndef SHIBSP_LITE
diff --git a/shibsp/handler/impl/SAML2LogoutInitiator.cpp b/shibsp/handler/impl/SAML2LogoutInitiator.cpp
index 1f4495ec..76020197 100644
--- a/shibsp/handler/impl/SAML2LogoutInitiator.cpp
+++ b/shibsp/handler/impl/SAML2LogoutInitiator.cpp
@@ -32,27 +32,6 @@
#include "handler/AbstractHandler.h"
#include "handler/LogoutInitiator.h"
-#ifndef SHIBSP_LITE
-# include "binding/SOAPClient.h"
-# include "metadata/MetadataProviderCriteria.h"
-# include "security/SecurityPolicy.h"
-# include <boost/algorithm/string.hpp>
-# include <boost/iterator/indirect_iterator.hpp>
-# include <saml/exceptions.h>
-# include <saml/SAMLConfig.h>
-# include <saml/saml2/core/Protocols.h>
-# include <saml/saml2/binding/SAML2SOAPClient.h>
-# include <saml/saml2/metadata/EndpointManager.h>
-# include <saml/saml2/metadata/Metadata.h>
-# include <saml/saml2/metadata/MetadataCredentialCriteria.h>
-using namespace opensaml::saml2;
-using namespace opensaml::saml2p;
-using namespace opensaml::saml2md;
-using namespace opensaml;
-#else
-# include "lite/SAMLConstants.h"
-#endif
-
using namespace shibsp;
using namespace xmltooling;
using namespace boost;
@@ -77,10 +56,6 @@ namespace shibsp {
void receive(DDF& in, ostream& out);
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
- const XMLCh* getProtocolFamily() const {
- return samlconstants::SAML20P_NS;
- }
-
private:
pair<bool,long> doRequest(
const Application& application, const HTTPRequest& request, HTTPResponse& httpResponse, Session* session
@@ -88,20 +63,6 @@ namespace shibsp {
string m_appId;
bool m_deprecationSupport;
- auto_ptr_char m_protocol;
-#ifndef SHIBSP_LITE
- auto_ptr<LogoutRequest> buildRequest(
- const Application& application,
- const Session& session,
- const RoleDescriptor& role,
- const XMLCh* endpoint,
- const MessageEncoder* encoder=nullptr
- ) const;
-
- bool m_async;
- vector<string> m_bindings;
- map< string,boost::shared_ptr<MessageEncoder> > m_encoders;
-#endif
};
#if defined (_MSC_VER)
@@ -116,10 +77,7 @@ namespace shibsp {
SAML2LogoutInitiator::SAML2LogoutInitiator(const DOMElement* e, const char* appId, bool deprecationSupport)
: AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".LogoutInitiator.SAML2")),
- m_appId(appId), m_deprecationSupport(deprecationSupport), m_protocol(samlconstants::SAML20P_NS)
-#ifndef SHIBSP_LITE
- ,m_async(true)
-#endif
+ m_appId(appId), m_deprecationSupport(deprecationSupport)
{
// If Location isn't set, defer initialization until the setParent call.
pair<bool,const char*> loc = getString("Location");
@@ -199,10 +157,10 @@ pair<bool,long> SAML2LogoutInitiator::run(SPRequest& request, bool isHandler) co
return make_pair(false, 0L);
// We only handle SAML 2.0 sessions.
- if (!XMLString::equals(session->getProtocol(), m_protocol.get())) {
- session->unlock();
- return make_pair(false, 0L);
- }
+ //if (!XMLString::equals(session->getProtocol(), m_protocol.get())) {
+ // session->unlock();
+ // return make_pair(false, 0L);
+ //}
}
catch (const std::exception& ex) {
m_log.error("error accessing current session: %s", ex.what());
diff --git a/shibsp/handler/impl/SAML2SessionInitiator.cpp b/shibsp/handler/impl/SAML2SessionInitiator.cpp
index 457b21d2..8fce76e2 100644
--- a/shibsp/handler/impl/SAML2SessionInitiator.cpp
+++ b/shibsp/handler/impl/SAML2SessionInitiator.cpp
@@ -33,29 +33,7 @@
#include "handler/SessionInitiator.h"
#include "util/SPConstants.h"
-#ifndef SHIBSP_LITE
-# include "metadata/MetadataProviderCriteria.h"
-#define BOOST_BIND_GLOBAL_PLACEHOLDERS
-# include <boost/bind.hpp>
-# include <boost/algorithm/string.hpp>
-# include <boost/iterator/indirect_iterator.hpp>
-# include <saml/exceptions.h>
-# include <saml/SAMLConfig.h>
-# include <saml/saml2/core/Protocols.h>
-# include <saml/saml2/metadata/EndpointManager.h>
-# include <saml/saml2/metadata/Metadata.h>
-# include <saml/saml2/metadata/MetadataCredentialCriteria.h>
-# include <saml/util/SAMLConstants.h>
-# include <xmltooling/XMLToolingConfig.h>
-# include <xmltooling/util/ParserPool.h>
-# include <xercesc/util/Base64.hpp>
-using namespace opensaml::saml2;
-using namespace opensaml::saml2p;
-using namespace opensaml::saml2md;
-#else
-# include "lite/SAMLConstants.h"
-# include <xercesc/util/XMLUniDefs.hpp>
-#endif
+#include <xercesc/util/XMLUniDefs.hpp>
#include <boost/scoped_ptr.hpp>
@@ -85,9 +63,6 @@ namespace shibsp {
pair<bool,long> unwrap(SPRequest& request, DDF& out) const;
pair<bool,long> run(SPRequest& request, string& entityID, bool isHandler=true) const;
- const XMLCh* getProtocolFamily() const {
- return samlconstants::SAML20P_NS;
- }
private:
pair<bool,long> doRequest(
@@ -115,14 +90,7 @@ namespace shibsp {
bool m_deprecationSupport;
auto_ptr_char m_paosNS,m_ecpNS;
auto_ptr_XMLCh m_paosBinding;
-#ifndef SHIBSP_LITE
- vector<string> m_bindings;
- map< string,boost::shared_ptr<MessageEncoder> > m_encoders;
- scoped_ptr<MessageEncoder> m_ecp;
- scoped_ptr<AuthnRequest> m_requestTemplate;
-#else
bool m_ecp;
-#endif
};
#if defined (_MSC_VER)
@@ -148,21 +116,11 @@ namespace shibsp {
SAML2SessionInitiator::SAML2SessionInitiator(const DOMElement* e, const char* appId, bool deprecationSupport)
: AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".SessionInitiator.SAML2"), &g_SINFilter, this),
- m_appId(appId), m_deprecationSupport(deprecationSupport),
- m_paosNS(samlconstants::PAOS_NS), m_ecpNS(samlconstants::SAML20ECP_NS), m_paosBinding(samlconstants::SAML20_BINDING_PAOS)
+ m_appId(appId), m_deprecationSupport(deprecationSupport)
#ifdef SHIBSP_LITE
,m_ecp(false)
#endif
{
-#ifndef SHIBSP_LITE
- if (SPConfig::getConfig().isEnabled(SPConfig::OutOfProcess)) {
- // Check for a template AuthnRequest to build from.
- DOMElement* child = XMLHelper::getFirstChildElement(e, samlconstants::SAML20P_NS, AuthnRequest::LOCAL_NAME);
- if (child)
- m_requestTemplate.reset(dynamic_cast<AuthnRequest*>(AuthnRequestBuilder::buildOneFromElement(child)));
- }
-#endif
-
// If Location isn't set, defer initialization until the setParent call.
pair<bool,const char*> loc = getString("Location");
if (loc.first) {
@@ -269,7 +227,7 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
ACS = app.getAssertionConsumerServiceByIndex(atoi(prop.second));
if (!ACS)
request.log(SPRequest::SPWarn, "invalid acsIndex specified in request, using acsIndex property");
- else if (ECP && !XMLString::equals(ACS->getString("Binding").second, samlconstants::SAML20_BINDING_PAOS)) {
+ else if (ECP && !XMLString::equals(ACS->getString("Binding").second, nullptr)) {
request.log(SPRequest::SPWarn, "acsIndex in request referenced a non-PAOS ACS, using default ACS location");
ACS = nullptr;
}
@@ -339,7 +297,7 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
if (!ACS) {
if (ECP) {
- ACS = app.getAssertionConsumerServiceByProtocol(getProtocolFamily(), samlconstants::SAML20_BINDING_PAOS);
+ ACS = app.getAssertionConsumerServiceByProtocol(getProtocolFamily(), nullptr);
if (!ACS)
throw ConfigurationException("Unable to locate PAOS response endpoint.");
}
@@ -396,7 +354,7 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
app, &request, request, entityID.c_str(),
ix.second,
attributeIndex.first ? attributeIndex.second : nullptr,
- XMLString::equals(ACS->getString("Binding").second, samlconstants::SAML20_BINDING_HTTP_ARTIFACT),
+ false,
nullptr, nullptr,
isPassive, forceAuthn,
acClass.first ? acClass.second : nullptr,
@@ -428,7 +386,7 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
app, &request, request, entityID.c_str(),
nullptr,
attributeIndex.first ? attributeIndex.second : nullptr,
- XMLString::equals(ACS->getString("Binding").second, samlconstants::SAML20_BINDING_HTTP_ARTIFACT),
+ false,
ACSloc.c_str(), ACS->getXMLString("Binding").second,
isPassive, forceAuthn,
acClass.first ? acClass.second : nullptr,
@@ -477,7 +435,7 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
ix = ACS->getString("index");
}
in.addmember("acsIndex").string(ix.second);
- if (XMLString::equals(ACS->getString("Binding").second, samlconstants::SAML20_BINDING_HTTP_ARTIFACT))
+ if (false)
in.addmember("artifact").integer(1);
}
else {
@@ -489,7 +447,7 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
in.addmember("acsLocation").string(ACSloc.c_str());
prop = ACS->getString("Binding");
in.addmember("acsBinding").string(prop.second);
- if (XMLString::equals(prop.second, samlconstants::SAML20_BINDING_HTTP_ARTIFACT))
+ if (false)
in.addmember("artifact").integer(1);
}
diff --git a/shibsp/impl/XMLApplication.cpp b/shibsp/impl/XMLApplication.cpp
index 9ce040b8..304a366e 100644
--- a/shibsp/impl/XMLApplication.cpp
+++ b/shibsp/impl/XMLApplication.cpp
@@ -41,8 +41,6 @@
#include <xmltooling/util/XMLConstants.h>
#include <xmltooling/util/XMLHelper.h>
-#include "lite/SAMLConstants.h"
-
using namespace shibsp;
using namespace xmltooling;
using namespace boost::algorithm;
@@ -418,7 +416,7 @@ void XMLApplication::doHandlers(const DOMElement* e, Category& log)
}
boost::shared_ptr<Handler> exportHandler(
conf.HandlerManager.newPlugin(
- samlconstants::SAML20_BINDING_URI, pair<const DOMElement*,const char*>(exportElement, getId()), m_deprecationSupport
+ nullptr, pair<const DOMElement*,const char*>(exportElement, getId()), m_deprecationSupport
)
);
m_handlers.push_back(exportHandler);
diff --git a/shibsp/impl/XMLServiceProvider.cpp b/shibsp/impl/XMLServiceProvider.cpp
index 530ab85e..c0c0b8fe 100644
--- a/shibsp/impl/XMLServiceProvider.cpp
+++ b/shibsp/impl/XMLServiceProvider.cpp
@@ -52,8 +52,6 @@
#include <xmltooling/util/Threads.h>
#include <xmltooling/util/XMLHelper.h>
-#include "lite/SAMLConstants.h"
-
using namespace shibsp;
using namespace xmltooling;
using namespace boost;
diff --git a/shibsp/lite/SAMLConstants.cpp b/shibsp/lite/SAMLConstants.cpp
deleted file mode 100644
index 4caf005c..00000000
--- a/shibsp/lite/SAMLConstants.cpp
+++ /dev/null
@@ -1,237 +0,0 @@
-/**
- * Licensed to the University Corporation for Advanced Internet
- * Development, Inc. (UCAID) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for
- * additional information regarding copyright ownership.
- *
- * UCAID licenses this file to you 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific
- * language governing permissions and limitations under the License.
- */
-
-/**
- * SAMLConstants.cpp
- *
- * SAML XML namespace constants.
- */
-
-
-#include "internal.h"
-#include "lite/SAMLConstants.h"
-#include <xercesc/util/XMLUniDefs.hpp>
-
-using namespace xercesc;
-using namespace samlconstants;
-
-const XMLCh samlconstants::PAOS_NS[] = // urn:liberty:paos:2003-08
-{ chLatin_u, chLatin_r, chLatin_n, chColon,
- chLatin_l, chLatin_i, chLatin_b, chLatin_e, chLatin_r, chLatin_t, chLatin_y, chColon,
- chLatin_p, chLatin_a, chLatin_o, chLatin_s, chColon,
- chDigit_2, chDigit_0, chDigit_0, chDigit_3, chDash, chDigit_0, chDigit_8, chNull
-};
-
-const XMLCh samlconstants::PAOS_PREFIX[] = UNICODE_LITERAL_4(p,a,o,s);
-
-const XMLCh samlconstants::SAML20_VERSION[] = // 2.0
-{ chDigit_2, chPeriod, chDigit_0, chNull
-};
-
-const XMLCh samlconstants::SAML20_NS[] = // urn:oasis:names:tc:SAML:2.0:assertion
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_a, chLatin_s, chLatin_s, chLatin_e, chLatin_r, chLatin_t, chLatin_i, chLatin_o, chLatin_n, chNull
-};
-
-const XMLCh samlconstants::SAML20P_NS[] = // urn:oasis:names:tc:SAML:2.0:protocol
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_t, chLatin_o, chLatin_c, chLatin_o, chLatin_l, chNull
-};
-
-const XMLCh samlconstants::SAML20MD_NS[] = // urn:oasis:names:tc:SAML:2.0:metadata
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_m, chLatin_e, chLatin_t, chLatin_a, chLatin_d, chLatin_a, chLatin_t, chLatin_a, chNull
-};
-
-const XMLCh samlconstants::SAML20AC_NS[] = // urn:oasis:names:tc:SAML:2.0:ac
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_a, chLatin_c, chNull
-};
-
-const XMLCh samlconstants::SAML20_PREFIX[] = UNICODE_LITERAL_4(s,a,m,l);
-
-const XMLCh samlconstants::SAML20P_PREFIX[] = UNICODE_LITERAL_5(s,a,m,l,p);
-
-const XMLCh samlconstants::SAML20MD_PREFIX[] = UNICODE_LITERAL_2(m,d);
-
-const XMLCh samlconstants::SAML20AC_PREFIX[] = UNICODE_LITERAL_2(a,c);
-
-const XMLCh samlconstants::SAML20ECP_NS[] = // urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_f, chLatin_i, chLatin_l, chLatin_e, chLatin_s, chColon,
- chLatin_S, chLatin_S, chLatin_O, chColon, chLatin_e, chLatin_c, chLatin_p, chNull
-};
-
-const XMLCh samlconstants::SAML20ECP_PREFIX[] = UNICODE_LITERAL_3(e,c,p);
-
-const XMLCh samlconstants::SAML20DCE_NS[] = // urn:oasis:names:tc:SAML:2.0:profiles:attribute:DCE
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_f, chLatin_i, chLatin_l, chLatin_e, chLatin_s, chColon,
- chLatin_a, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e, chColon,
- chLatin_D, chLatin_C, chLatin_E, chNull
-};
-
-const XMLCh samlconstants::SAML20DCE_PREFIX[] = UNICODE_LITERAL_3(D,C,E);
-
-const XMLCh samlconstants::SAML20X500_NS[] = // urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_f, chLatin_i, chLatin_l, chLatin_e, chLatin_s, chColon,
- chLatin_a, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e, chColon,
- chLatin_X, chDigit_5, chDigit_0, chDigit_0, chNull
-};
-
-const XMLCh samlconstants::SAML20X500_PREFIX[] = { chLatin_x, chDigit_5, chDigit_0, chDigit_0 };
-
-const XMLCh samlconstants::SAML20XACML_NS[] = // urn:oasis:names:tc:SAML:2.0:profiles:attribute:XACML
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_f, chLatin_i, chLatin_l, chLatin_e, chLatin_s, chColon,
- chLatin_a, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e, chColon,
- chLatin_X, chLatin_A, chLatin_C, chLatin_M, chLatin_L, chNull
-};
-
-const XMLCh samlconstants::SAML20XACML_PREFIX[] = UNICODE_LITERAL_9(x,a,c,m,l,p,r,o,f);
-
-const XMLCh samlconstants::SAML1MD_NS[] = // urn:oasis:names:tc:SAML:profiles:v1metadata
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_f, chLatin_i, chLatin_l, chLatin_e, chLatin_s, chColon,
- chLatin_v, chDigit_1, chLatin_m, chLatin_e, chLatin_t, chLatin_a, chLatin_d, chLatin_a, chLatin_t, chLatin_a, chNull
-};
-
-const XMLCh samlconstants::SAML1MD_PREFIX[] =
-{ chLatin_s, chLatin_a, chLatin_m, chLatin_l, chDigit_1, chLatin_m, chLatin_d, chNull };
-
-const XMLCh samlconstants::SAML10_PROTOCOL_ENUM[] = // urn:oasis:names:tc:SAML:1.0:protocol
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_1, chPeriod, chDigit_0, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_t, chLatin_o, chLatin_c, chLatin_o, chLatin_l, chNull
-};
-
-const XMLCh samlconstants::SAML11_PROTOCOL_ENUM[] = // urn:oasis:names:tc:SAML:1.1:protocol
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_1, chPeriod, chDigit_1, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_t, chLatin_o, chLatin_c, chLatin_o, chLatin_l, chNull
-};
-
-const XMLCh samlconstants::SAML20MD_QUERY_EXT_NS[] = // urn:oasis:names:tc:SAML:metadata:ext:query
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon,
- chLatin_m, chLatin_e, chLatin_t, chLatin_a, chLatin_d, chLatin_a, chLatin_t, chLatin_a, chColon,
- chLatin_e, chLatin_x, chLatin_t, chColon, chLatin_q, chLatin_u, chLatin_e, chLatin_r, chLatin_y, chNull
-};
-
-const XMLCh samlconstants::SAML20MD_QUERY_EXT_PREFIX[] = UNICODE_LITERAL_5(q,u,e,r,y);
-
-const XMLCh samlconstants::SAML20P_THIRDPARTY_EXT_NS[] = // urn:oasis:names:tc:SAML:protocol:ext:third-party
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon,
- chLatin_p, chLatin_r, chLatin_o, chLatin_t, chLatin_o, chLatin_c, chLatin_o, chLatin_l, chColon,
- chLatin_e, chLatin_x, chLatin_t, chColon,
- chLatin_t, chLatin_h, chLatin_i, chLatin_r, chLatin_d, chDash, chLatin_p, chLatin_a, chLatin_r, chLatin_t, chLatin_y, chNull
-};
-
-const XMLCh samlconstants::SAML20P_THIRDPARTY_EXT_PREFIX[] = UNICODE_LITERAL_6(t,h,r,p,t,y);
-
-const XMLCh samlconstants::SAML20_ATTRIBUTE_EXT_NS[] = // urn:oasis:names:tc:SAML:attribute:ext
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon,
- chLatin_a, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e, chColon,
- chLatin_e, chLatin_x, chLatin_t, chNull
-};
-
-const XMLCh samlconstants::SAML20_ATTRIBUTE_EXT_PREFIX[] = UNICODE_LITERAL_3(e,x,t);
-
-const XMLCh samlconstants::SAML20MD_ALGSUPPORT_NS[] = // urn:oasis:names:tc:SAML:metadata:algsupport
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon,
- chLatin_m, chLatin_e, chLatin_t, chLatin_a, chLatin_d, chLatin_a, chLatin_t, chLatin_a, chColon,
- chLatin_a, chLatin_l, chLatin_g, chLatin_s, chLatin_u, chLatin_p, chLatin_p, chLatin_o, chLatin_r, chLatin_t, chNull
-};
-
-const XMLCh samlconstants::SAML20MD_ALGSUPPORT_PREFIX[] = UNICODE_LITERAL_3(a,l,g);
-
-const XMLCh samlconstants::SAML20MD_ENTITY_ATTRIBUTE_NS[] = // urn:oasis:names:tc:SAML:metadata:attribute
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon,
- chLatin_m, chLatin_e, chLatin_t, chLatin_a, chLatin_d, chLatin_a, chLatin_t, chLatin_a, chColon,
- chLatin_a, chLatin_t, chLatin_t, chLatin_r, chLatin_i, chLatin_b, chLatin_u, chLatin_t, chLatin_e, chNull
-};
-
-const XMLCh samlconstants::SAML20MD_ENTITY_ATTRIBUTE_PREFIX[] = UNICODE_LITERAL_6(m,d,a,t,t,r);
-
-const XMLCh samlconstants::SAML20MD_UI_NS[] = // urn:oasis:names:tc:SAML:metadata:ui
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon,
- chLatin_m, chLatin_e, chLatin_t, chLatin_a, chLatin_d, chLatin_a, chLatin_t, chLatin_a, chColon,
- chLatin_u, chLatin_i, chNull
-};
-
-const XMLCh samlconstants::SAML20MD_UI_PREFIX[] = UNICODE_LITERAL_4(m,d,u,i);
-
-const XMLCh samlconstants::SAML20_DELEGATION_CONDITION_NS[] = // urn:oasis:names:tc:SAML:2.0:conditions:delegation
-{ chLatin_u, chLatin_r, chLatin_n, chColon, chLatin_o, chLatin_a, chLatin_s, chLatin_i, chLatin_s, chColon,
- chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chColon, chLatin_t, chLatin_c, chColon,
- chLatin_S, chLatin_A, chLatin_M, chLatin_L, chColon, chDigit_2, chPeriod, chDigit_0, chColon,
- chLatin_c, chLatin_o, chLatin_n, chLatin_d, chLatin_i, chLatin_t, chLatin_i, chLatin_o, chLatin_n, chLatin_s, chColon,
- chLatin_d, chLatin_e, chLatin_l, chLatin_e, chLatin_g, chLatin_a, chLatin_t, chLatin_i, chLatin_o, chLatin_n, chNull
-};
-
-const XMLCh samlconstants::SAML20_DELEGATION_CONDITION_PREFIX[] = UNICODE_LITERAL_3(d,e,l);
-
-const char samlconstants::SAML20_BINDING_SOAP[] = "urn:oasis:names:tc:SAML:2.0:bindings:SOAP";
-
-const char samlconstants::SAML20_BINDING_PAOS[] = "urn:oasis:names:tc:SAML:2.0:bindings:PAOS";
-
-const char samlconstants::SAML20_BINDING_URI[] = "urn:oasis:names:tc:SAML:2.0:bindings:URI";
-
-const char samlconstants::SAML20_BINDING_HTTP_ARTIFACT[] = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact";
-
-const char samlconstants::SAML20_BINDING_HTTP_POST[] = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST";
-
-const char samlconstants::SAML20_BINDING_HTTP_POST_SIMPLESIGN[] = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign";
-
-const char samlconstants::SAML20_BINDING_HTTP_REDIRECT[] = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect";
-
-const char samlconstants::SAML20_BINDING_URL_ENCODING_DEFLATE[] = "urn:oasis:names:tc:SAML:2.0:bindings:URL-Encoding:DEFLATE";
diff --git a/shibsp/lite/SAMLConstants.h b/shibsp/lite/SAMLConstants.h
deleted file mode 100644
index d2120414..00000000
--- a/shibsp/lite/SAMLConstants.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
- * Licensed to the University Corporation for Advanced Internet
- * Development, Inc. (UCAID) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for
- * additional information regarding copyright ownership.
- *
- * UCAID licenses this file to you 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific
- * language governing permissions and limitations under the License.
- */
-
-/**
- * @file shibsp/lite/SAMLConstants.h
- *
- * SAML XML namespace constants.
- */
-
-#ifndef __shibsp_xmlconstants_h__
-#define __shibsp_xmlconstants_h__
-
-#include <shibsp/base.h>
-#include <xercesc/util/XercesDefs.hpp>
-
-/**
- * SAML related constants.
- */
-namespace samlconstants {
-
- /** Liberty PAOS XML Namespace ("urn:liberty:paos:2003-08") */
- extern SHIBSP_API const XMLCh PAOS_NS[];
-
- /** Liberty PAOS QName prefix ("paos") */
- extern SHIBSP_API const XMLCh PAOS_PREFIX[];
-
- /** SAML 2.0 Version ("2.0") */
- extern SHIBSP_API const XMLCh SAML20_VERSION[];
-
- /** SAML 2.0 Assertion XML namespace ("urn:oasis:names:tc:SAML:2.0:assertion") */
- extern SHIBSP_API const XMLCh SAML20_NS[];
-
- /** SAML 2.0 Protocol XML namespace ("urn:oasis:names:tc:SAML:2.0:protocol") */
- extern SHIBSP_API const XMLCh SAML20P_NS[];
-
- /** SAML 2.0 Metadata XML namespace ("urn:oasis:names:tc:SAML:2.0:metadata") */
- extern SHIBSP_API const XMLCh SAML20MD_NS[];
-
- /** SAML 2.0 AuthnContext XML namespace ("urn:oasis:names:tc:SAML:2.0:ac") */
- extern SHIBSP_API const XMLCh SAML20AC_NS[];
-
- /** SAML 2.0 Assertion QName prefix ("saml") */
- extern SHIBSP_API const XMLCh SAML20_PREFIX[];
-
- /** SAML 2.0 Protocol QName prefix ("samlp") */
- extern SHIBSP_API const XMLCh SAML20P_PREFIX[];
-
- /** SAML 2.0 Metadata QName prefix ("md") */
- extern SHIBSP_API const XMLCh SAML20MD_PREFIX[];
-
- /** SAML 2.0 AuthnContext QName prefix ("ac") */
- extern SHIBSP_API const XMLCh SAML20AC_PREFIX[];
-
- /** SAML 2.0 Enhanced Client/Proxy SSO Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp") */
- extern SHIBSP_API const XMLCh SAML20ECP_NS[];
-
- /** SAML 2.0 Enhanced Client/Proxy SSO Profile QName prefix ("ecp") */
- extern SHIBSP_API const XMLCh SAML20ECP_PREFIX[];
-
- /** SAML 2.0 DCE PAC Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:DCE") */
- extern SHIBSP_API const XMLCh SAML20DCE_NS[];
-
- /** SAML 2.0 DCE PAC Attribute Profile QName prefix ("DCE") */
- extern SHIBSP_API const XMLCh SAML20DCE_PREFIX[];
-
- /** SAML 2.0 X.500 Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500") */
- extern SHIBSP_API const XMLCh SAML20X500_NS[];
-
- /** SAML 2.0 X.500 Attribute Profile QName prefix ("x500") */
- extern SHIBSP_API const XMLCh SAML20X500_PREFIX[];
-
- /** SAML 2.0 XACML Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:XACML") */
- extern SHIBSP_API const XMLCh SAML20XACML_NS[];
-
- /** SAML 2.0 XACML Attribute Profile QName prefix ("xacmlprof") */
- extern SHIBSP_API const XMLCh SAML20XACML_PREFIX[];
-
- /** SAML 1.x Metadata Profile XML Namespace ("urn:oasis:names:tc:SAML:profiles:v1metadata") */
- extern SHIBSP_API const XMLCh SAML1MD_NS[];
-
- /** SAML 1.x Metadata Profile QName prefix ("saml1md") */
- extern SHIBSP_API const XMLCh SAML1MD_PREFIX[];
-
- /** SAML 1.0 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.0:protocol") */
- extern SHIBSP_API const XMLCh SAML10_PROTOCOL_ENUM[];
-
- /** SAML 1.1 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.1:protocol") */
- extern SHIBSP_API const XMLCh SAML11_PROTOCOL_ENUM[];
-
- /** SAML Query Requester Metadata Extension XML Namespace ("urn:oasis:names:tc:SAML:metadata:ext:query") */
- extern SHIBSP_API const XMLCh SAML20MD_QUERY_EXT_NS[];
-
- /** SAML Query Requester Metadata Extension QName prefix ("query") */
- extern SHIBSP_API const XMLCh SAML20MD_QUERY_EXT_PREFIX[];
-
- /** SAML Third-Party Request Protocol Extension XML Namespace ("urn:oasis:names:tc:SAML:protocol:ext:third-party") */
- extern SHIBSP_API const XMLCh SAML20P_THIRDPARTY_EXT_NS[];
-
- /** SAML Third-Party Request Protocol Extension QName prefix ("thrpty") */
- extern SHIBSP_API const XMLCh SAML20P_THIRDPARTY_EXT_PREFIX[];
-
- /** SAML Attribute Extension XML Namespace ("urn:oasis:names:tc:SAML:attribute:ext") */
- extern SHIBSP_API const XMLCh SAML20_ATTRIBUTE_EXT_NS[];
-
- /** SAML Attribute Extension QName prefix ("ext") */
- extern SHIBSP_API const XMLCh SAML20_ATTRIBUTE_EXT_PREFIX[];
-
- /** SAML Metadata Extension for Algorithm Support XML Namespace ("urn:oasis:names:tc:SAML:metadata:algsupport") */
- extern SHIBSP_API const XMLCh SAML20MD_ALGSUPPORT_NS[];
-
- /** SAML Metadata Extension for Algorithm Support QName prefix ("alg") */
- extern SHIBSP_API const XMLCh SAML20MD_ALGSUPPORT_PREFIX[];
-
- /** SAML Metadata Extension for Entity Attributes XML Namespace ("urn:oasis:names:tc:SAML:metadata:attribute") */
- extern SHIBSP_API const XMLCh SAML20MD_ENTITY_ATTRIBUTE_NS[];
-
- /** SAML Metadata Extension for Entity Attributes QName prefix ("mdattr") */
- extern SHIBSP_API const XMLCh SAML20MD_ENTITY_ATTRIBUTE_PREFIX[];
-
- /** SAML Metadata Extension for Discovery and Login UI XML Namespace ("urn:oasis:names:tc:SAML:metadata:ui") */
- extern SHIBSP_API const XMLCh SAML20MD_UI_NS[];
-
- /** SAML Metadata Extension for Discovery and Login UI QName prefix ("mdui") */
- extern SHIBSP_API const XMLCh SAML20MD_UI_PREFIX[];
-
- /** SAML Condition for Delegation Restriction XML Namespace ("urn:oasis:names:tc:SAML:2.0:conditions:delegation") */
- extern SHIBSP_API const XMLCh SAML20_DELEGATION_CONDITION_NS[];
-
- /** SAML Condition for Delegation Restriction QName prefix ("del") */
- extern SHIBSP_API const XMLCh SAML20_DELEGATION_CONDITION_PREFIX[];
-
- /** SAML 2.0 SOAP binding ("urn:oasis:names:tc:SAML:2.0:bindings:SOAP") */
- extern SHIBSP_API const char SAML20_BINDING_SOAP[];
-
- /** SAML 2.0 PAOS binding ("urn:oasis:names:tc:SAML:2.0:bindings:PAOS") */
- extern SHIBSP_API const char SAML20_BINDING_PAOS[];
-
- /** SAML 2.0 URI binding ("urn:oasis:names:tc:SAML:2.0:bindings:URI") */
- extern SHIBSP_API const char SAML20_BINDING_URI[];
-
- /** SAML 2.0 HTTP-Artifact binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact") */
- extern SHIBSP_API const char SAML20_BINDING_HTTP_ARTIFACT[];
-
- /** SAML 2.0 HTTP-POST binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST") */
- extern SHIBSP_API const char SAML20_BINDING_HTTP_POST[];
-
- /** SAML 2.0 HTTP-POST-SimpleSign binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign") */
- extern SHIBSP_API const char SAML20_BINDING_HTTP_POST_SIMPLESIGN[];
-
- /** SAML 2.0 HTTP-Redirect binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect") */
- extern SHIBSP_API const char SAML20_BINDING_HTTP_REDIRECT[];
-
- /** SAML 2.0 HTTP-Redirect DEFLATE URL encoding ("urn:oasis:names:tc:SAML:2.0:bindings:URL-Encoding:DEFLATE") */
- extern SHIBSP_API const char SAML20_BINDING_URL_ENCODING_DEFLATE[];
-};
-
-#endif /* __shibsp_xmlconstants_h__ */
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 00000000..dc29b04d
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1,4 @@
+shibsptest
+shibsptest.log
+shibsptest.trs
+test-suite.log
diff --git a/tests/AgentTestSuite.cpp b/tests/AgentTestSuite.cpp
new file mode 100644
index 00000000..2345f6a7
--- /dev/null
+++ b/tests/AgentTestSuite.cpp
@@ -0,0 +1,23 @@
+/*
+ * 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * AgentTestSuite.cpp
+ *
+ * Master test suite driver for unit tests.
+ */
+
+#define BOOST_TEST_MODULE Shibboleth Agent Test Suite
+#include <boost/test/included/unit_test.hpp>
+
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 00000000..091d3763
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,19 @@
+AUTOMAKE_OPTIONS = foreign subdir-objects
+
+TESTS = shibsptest
+check_PROGRAMS = shibsptest
+
+shibsptest_CPPFLAGS = \
+ $(BOOST_CPPFLAGS)
+
+shibsptest_CXXFLAGS = \
+ $(AM_CXXFLAGS)
+
+shibsptest_SOURCES = \
+ AgentTestSuite.cpp \
+ PropertyTreeTests.cpp
+
+shibsptest_LDADD = \
+ $(top_builddir)/shibsp/libshibsp.la
+
+EXTRA_DIST = data
diff --git a/tests/PropertyTreeTests.cpp b/tests/PropertyTreeTests.cpp
new file mode 100644
index 00000000..b74c27d3
--- /dev/null
+++ b/tests/PropertyTreeTests.cpp
@@ -0,0 +1,28 @@
+/*
+ * 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * PropertyTreeTests.cpp
+ *
+ * Unit tests for property tree usage.
+ */
+
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE(test1)
+{
+ int i = 2;
+ BOOST_CHECK( i*i == 1 );
+}
+
diff --git a/unittests/DynamicMetadataProviderTest.h b/unittests/DynamicMetadataProviderTest.h
deleted file mode 100644
index 25a42d1c..00000000
--- a/unittests/DynamicMetadataProviderTest.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/**
-* Licensed to the University Corporation for Advanced Internet
-* Development, Inc. (UCAID) under one or more contributor license
-* agreements. See the NOTICE file distributed with this work for
-* additional information regarding copyright ownership.
-*
-* UCAID licenses this file to you 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
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-* either express or implied. See the License for the specific
-* language governing permissions and limitations under the License.
-*/
-#include <fstream>
-
-#include <cxxtest/TestSuite.h>
-
-#include <xercesc/dom/DOMDocument.hpp>
-
-#include <xmltooling/XMLToolingConfig.h>
-#include <xmltooling/util/XMLHelper.h>
-#include <xmltooling/util/ParserPool.h>
-#include <xmltooling/security/SecurityHelper.h>
-
-#include <saml/SAMLConfig.h>
-#include <saml/saml2/metadata/MetadataProvider.h>
-#include <saml/saml2/binding/SAML2ArtifactType0004.h>
-#include <saml/saml2/binding/SAML2Artifact.h>
-#include <saml/saml2/metadata/Metadata.h>
-#include <saml/saml2/metadata/MetadataFilter.h>
-
-#include <shibsp/Application.h>
-#include <shibsp/SPConfig.h>
-#include <shibsp/ServiceProvider.h>
-#include <shibsp/metadata/MetadataProviderCriteria.h>
-#include <shibsp/util/DOMPropertySet.h>
-#include <TestApplication.h>
-
-using namespace xmltooling;
-using namespace xercesc;
-using namespace std;
-using namespace opensaml::saml2md;
-using namespace opensaml::saml2p;
-using namespace shibsp;
-
-using boost::scoped_ptr;
-
-extern string data_path;
-
-class DynamicMetadataTest : public CxxTest::TestSuite {
- private:
- const string m_entityId;
- const string m_entityIdFail;
- scoped_ptr<SAML2ArtifactType0004> m_artifact;
-public:
- DynamicMetadataTest() : CxxTest::TestSuite(), m_entityId("https://idp.shibboleth.net/idp/shibboleth"),
- m_entityIdFail("https://idp.shibboleth.net/idp/shibboleth/Fail"), m_artifact(nullptr)
- {}
-
- void setUp()
- {
- if (!m_artifact.get()) {
- m_artifact.reset(new SAML2ArtifactType0004(SecurityHelper::doHash("SHA1", m_entityId.data(), m_entityId.length(), false), 666));
- }
- }
-
-private:
-
- void performTest(string fileName, bool artifactOnly, const string type = DYNAMIC_METADATA_PROVIDER)
- {
- const string config(data_path + fileName);
- ifstream in(config.c_str());
- const XMLToolingConfig& xcf = XMLToolingConfig::getConfig();
- ParserPool& pool = xcf.getParser();
- XercesJanitor<DOMDocument> janitor(pool.parse(in));
- scoped_ptr<MetadataProvider> metadataProvider(
- opensaml::SAMLConfig::getConfig().MetadataProviderManager.newPlugin(type, janitor.get()->getDocumentElement(), false)
- );
-
- ta::TestApplication testApp(SPConfig::getConfig().getServiceProvider(), metadataProvider.get());
- try {
- metadataProvider->init();
- if (!artifactOnly) {
- MetadataProviderCriteria critOK(testApp, m_entityId.c_str());
- pair<const EntityDescriptor*, const RoleDescriptor*> thePair = metadataProvider->getEntityDescriptor(critOK);
- TS_ASSERT(nullptr != thePair.first);
- MetadataProviderCriteria critFail(testApp, m_entityIdFail.c_str());
- thePair = metadataProvider->getEntityDescriptor(critFail);
- TS_ASSERT(nullptr == thePair.first);
- }
-
- MetadataProviderCriteria artifactCrit(testApp, m_artifact.get());
- pair<const EntityDescriptor*, const RoleDescriptor*> artifactPair = metadataProvider->getEntityDescriptor(artifactCrit);
- TS_ASSERT(nullptr != artifactPair.first);
- } catch (XMLToolingException& ex) {
- TS_TRACE(ex.what());
- throw;
- }
- }
-
-public:
- void testTemplateFromRepo() {
- performTest("templateFromRepo.xml", false);
- }
-
- void testTemplateFromRepoArtifactOnly ()
- {
- performTest("templateFromRepo.xml", true);
- }
-
-
- void testLocalDynamic()
- {
- performTest("localDynamic.xml", false, LOCAL_DYNAMIC_METADATA_PROVIDER);
- }
-
- void testLocalDynamicArtifactOnly()
- {
- performTest("localDynamic.xml", true, LOCAL_DYNAMIC_METADATA_PROVIDER);
- }
-
-
- void testChainedFromRepo()
- {
- performTest("chainedFromURL.xml", false, CHAINING_METADATA_PROVIDER);
- }
-
- void testChainedFromRepoArtifactOnly()
- {
- performTest("chainedFromURL.xml", true, CHAINING_METADATA_PROVIDER);
- }
-
-private:
- void mdqTest(bool artifactOnly)
- {
- string config = data_path + "fromMDQ.xml";
- ifstream in(config.c_str());
- XMLToolingConfig& xcf = XMLToolingConfig::getConfig();
- ParserPool& pool = xcf.getParser();
- XercesJanitor<DOMDocument> janitor(pool.parse(in));
- scoped_ptr<MetadataProvider> metadataProvider(
- opensaml::SAMLConfig::getConfig().MetadataProviderManager.newPlugin(DYNAMIC_METADATA_PROVIDER, janitor.get()->getDocumentElement(), false)
- );
-
- ta::TestApplication testApp(SPConfig::getConfig().getServiceProvider(), metadataProvider.get());
- const string testEntity("https://idp2.iay.org.uk/idp/shibboleth");
- try {
- metadataProvider->init();
- if (!artifactOnly) {
- MetadataProviderCriteria crit(testApp, testEntity.c_str());
- pair<const EntityDescriptor*, const RoleDescriptor*> thePair = metadataProvider->getEntityDescriptor(crit);
- TS_ASSERT(nullptr != thePair.first);
- MetadataProviderCriteria critFail(testApp, m_entityIdFail.c_str());
- thePair = metadataProvider->getEntityDescriptor(critFail);
- TS_ASSERT(nullptr == thePair.first);
- }
-
- scoped_ptr<SAML2ArtifactType0004> testArtifact(new SAML2ArtifactType0004(SecurityHelper::doHash("SHA1", testEntity.data(), testEntity.length(), false), 666));
- MetadataProviderCriteria artifactCrit(testApp, testArtifact.get());
- pair<const EntityDescriptor*, const RoleDescriptor*> artefactPair = metadataProvider->getEntityDescriptor(artifactCrit);
- TS_ASSERT(nullptr != artefactPair.first);
- } catch (const XMLToolingException& ex) {
- TS_TRACE(ex.what());
- throw;
- }
- }
-
-public:
- void testMDQ()
- {
- mdqTest(false);
- }
-
- void testMDQArtifactOnly ()
- {
- mdqTest(true);
- }
-
- void testMDQBadSig()
- {
- string config = data_path + "badSigMDQ.xml";
- ifstream in(config.c_str());
- XMLToolingConfig& xcf = XMLToolingConfig::getConfig();
- ParserPool& pool = xcf.getParser();
- XercesJanitor<DOMDocument> janitor(pool.parse(in));
- scoped_ptr<MetadataProvider> metadataProvider(
- opensaml::SAMLConfig::getConfig().MetadataProviderManager.newPlugin(DYNAMIC_METADATA_PROVIDER, janitor.get()->getDocumentElement(), false)
- );
-
- ta::TestApplication testApp(SPConfig::getConfig().getServiceProvider(), metadataProvider.get());
- const string testEntity("https://idp2.iay.org.uk/idp/shibboleth");
- try {
- metadataProvider->init();
- MetadataProviderCriteria crit(testApp, testEntity.c_str());
- pair<const EntityDescriptor*, const RoleDescriptor*> thePair = metadataProvider->getEntityDescriptor(crit);
- TS_ASSERT(nullptr == thePair.first);
- } catch (const XMLToolingException& ex) {
- TS_TRACE(ex.what());
- throw;
- }
- }
-
-};
diff --git a/unittests/Makefile.am b/unittests/Makefile.am
deleted file mode 100644
index 59701dec..00000000
--- a/unittests/Makefile.am
+++ /dev/null
@@ -1,47 +0,0 @@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-if BUILD_UNITTEST
-TESTS = shibsptest
-check_PROGRAMS = shibsptest
-endif
-
-shibsptest_CXXFLAGS = \
- $(AM_CXXFLAGS) \
- $(CXXTESTFLAGS) \
- $(opensaml_CFLAGS) \
- $(xerces_CFLAGS) \
- $(xmltooling_CFLAGS)
-
-shibsptest_h = \
- SPTest.h \
- DynamicMetadataProviderTest.h
-
-noinst_HEADERS = \
- TestApplication.h \
- $(shibsptest_h)
-
-nodist_shibsptest_SOURCES = $(shibsptest_h:.h=.cpp)
-shibsptest_SOURCES = TestApplication.cpp
-
-if BUILD_UNITTEST
-BUILT_SOURCES = $(nodist_shibsptest_SOURCES)
-CLEANFILES = $(nodist_shibsptest_SOURCES)
-endif
-
-do-cxxtestgen:
- if test "$(CPPFILE)" = "SPTest.cpp"; then \
- $(CXXTEST) --error-printer --have-eh --have-std --abort-on-fail -o $(CPPFILE) $(HFILE); \
- else \
- $(CXXTEST) --part --have-eh --have-std --abort-on-fail -o $(CPPFILE) $(HFILE); \
- fi;
-
-$(nodist_shibsptest_SOURCES): %.cpp: %.h
- $(MAKE) do-cxxtestgen HFILE=$< CPPFILE=$@
-
-shibsptest_LDADD = \
- $(top_builddir)/shibsp/libshibsp.la \
- $(opensaml_LIBS) \
- $(xerces_LIBS) \
- $(xmltooling_LIBS)
-
-EXTRA_DIST = data
diff --git a/unittests/SPTest.h b/unittests/SPTest.h
deleted file mode 100644
index c595d9ca..00000000
--- a/unittests/SPTest.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
-* Licensed to the University Corporation for Advanced Internet
-* Development, Inc. (UCAID) under one or more contributor license
-* agreements. See the NOTICE file distributed with this work for
-* additional information regarding copyright ownership.
-*
-* UCAID licenses this file to you 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
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-* either express or implied. See the License for the specific
-* language governing permissions and limitations under the License.
-*/
-
-#include <fstream>
-
-#include <cxxtest/TestSuite.h>
-#include <cxxtest/GlobalFixture.h>
-
-#include <shibsp/SPConfig.h>
-#include <shibsp/metadata/MetadataExt.h>
-#include <shibsp/ServiceProvider.h>
-
-using namespace shibsp;
-
-std::string data_path = "../unittests/data/";
-std::string config_path = "../unittests/config";
-
-class ToolingFixture : public CxxTest::GlobalFixture
-{
-public:
- bool setUpWorld() {
- SPConfig& conf = SPConfig::getConfig();
- // Initialize the SP library.
- conf.setFeatures(
- SPConfig::Metadata |
- SPConfig::Logging);
-
- if (!conf.init(nullptr, config_path.c_str())) {
- fprintf(stderr, "configuration is invalid, see console for specific problems\n");
- return false;
- }
-
- if (!conf.instantiate("../configs/shibboleth3.xml")) {
- fprintf(stderr, "configuration is invalid, see console for specific problems\n");
- return false;
- }
-
- registerMetadataExtClasses();
-
- return true;
- }
- bool tearDownWorld() {
- SPConfig::getConfig().term();
- SPConfig::getConfig().getServiceProvider();
- return true;
- }
-};
-
-static ToolingFixture globalFixture;
-
-
-class GlobalTest : public CxxTest::TestSuite
-{
-public:
- void testssrf(void) {
- TS_ASSERT(true);
- }
-};
diff --git a/unittests/TestApplication.cpp b/unittests/TestApplication.cpp
deleted file mode 100644
index b24d0f1c..00000000
--- a/unittests/TestApplication.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
-* Licensed to the University Corporation for Advanced Internet
-* Development, Inc. (UCAID) under one or more contributor license
-* agreements. See the NOTICE file distributed with this work for
-* additional information regarding copyright ownership.
-*
-* UCAID licenses this file to you 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
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-* either express or implied. See the License for the specific
-* language governing permissions and limitations under the License.
-*/
-
-#include <xmltooling/unicode.h>
-#include <shibsp/Application.h>
-#include <shibsp/util/DOMPropertySet.h>
-
-#include "TestApplication.h"
-
-using namespace std;
-using namespace shibsp;
-using namespace opensaml;
-using namespace opensaml::saml2md;
-
-namespace ta {
- TestApplication::TestApplication(const ServiceProvider *sp, MetadataProvider* provider) : Application(sp), m_provider(provider)
- {};
-
- const char* TestApplication::getHash() const
- {
- return "";
- }
-
- MetadataProvider* TestApplication::getMetadataProvider(bool required) const
- {
- return m_provider;
- }
-
- xmltooling::TrustEngine* TestApplication::getTrustEngine(bool required) const
- {
- return nullptr;
- }
-
-
- AttributeExtractor* TestApplication::getAttributeExtractor() const
- {
- return nullptr;
- }
-
- AttributeFilter* TestApplication::getAttributeFilter() const
- {
- return nullptr;
- }
-
- AttributeResolver* TestApplication::getAttributeResolver() const
- {
- return nullptr;
- }
-
- xmltooling::CredentialResolver* TestApplication::getCredentialResolver() const
- {
- return nullptr;
- }
-
- const PropertySet* TestApplication::getRelyingParty(const opensaml::saml2md::EntityDescriptor* provider) const
- {
- return nullptr;
- }
-
-
- const PropertySet* TestApplication::getRelyingParty(const XMLCh* entityID) const
- {
- return this;
- }
-
-
- const vector<const XMLCh*>* TestApplication::getAudiences() const
- {
- return nullptr;
- }
-
- string TestApplication::getNotificationURL(const char* request, bool front, unsigned int index) const
- {
- return "";
- }
-
- const vector<string>& TestApplication::getRemoteUserAttributeIds() const
- {
- static const vector<string> retVal(0);
- return retVal;
- }
-
- const SessionInitiator* TestApplication::getDefaultSessionInitiator() const
- {
- return nullptr;
- }
-
- const SessionInitiator* TestApplication::getSessionInitiatorById(const char* id) const
- {
- return nullptr;
- }
-
- const Handler* TestApplication::getDefaultAssertionConsumerService() const
- {
- return nullptr;
- }
-
- const Handler* TestApplication::getAssertionConsumerServiceByIndex(unsigned short index) const
- {
- return nullptr;
- }
-
- const Handler* TestApplication::getAssertionConsumerServiceByProtocol(const XMLCh* protocol, const char* binding) const
- {
- return nullptr;
- }
-
- const Handler* TestApplication::getHandler(const char* path) const
- {
- return nullptr;
- }
-
- void TestApplication::getHandlers(vector<const Handler*>& handlers) const
- {
- return;
- }
-
- SAMLArtifact* TestApplication::generateSAML1Artifact(const EntityDescriptor* relyingParty) const
- {
- return nullptr;
- }
-
- saml2p::SAML2Artifact* TestApplication::generateSAML2Artifact(const EntityDescriptor* relyingParty) const
- {
- return nullptr;
- }
-
-
- const PropertySet* TestApplication::getParent() const
- {
- return nullptr;
- }
- void TestApplication::setParent(const PropertySet* parent)
- {
- return;
- }
- pair<bool, bool> TestApplication::getBool(const char* name, const char* ns) const
- {
- static const pair<bool, bool> retVal(false, false);
- return retVal;
- }
- pair<bool, const char*> TestApplication::getString(const char* name, const char* ns) const
- {
- if (!strcmp(name, "entityID")) {
- return pair<bool, const char*>(true, "http://localhost/Shibboleth");
- }
- if (!strcmp(name, "authType")) {
- return pair<bool, const char*>(true, "NONE");
- }
- return pair<bool, const char*>(false, "");
- }
- pair<bool, const XMLCh*> TestApplication::getXMLString(const char* name, const char* ns) const
- {
- static const pair<bool, const XMLCh*> retVal(false, nullptr);
- return retVal;
- }
- pair<bool, unsigned int> TestApplication::getUnsignedInt(const char* name, const char* ns) const
- {
- static const pair<bool, unsigned int> retVal(false, 1);
- return retVal;
- }
- pair<bool, int> TestApplication::getInt(const char* name, const char* ns) const
- {
- static const pair<bool, int> retVal(false, -1);
- return retVal;
- }
- void TestApplication::getAll(std::map<std::string, const char*>& properties) const
- {
- }
- const PropertySet* TestApplication::getPropertySet(const char* name, const char* ns) const
- {
- return nullptr;
- }
- const xercesc::DOMElement* TestApplication::getElement() const
- {
- return nullptr;
- }
-
-}
diff --git a/unittests/TestApplication.h b/unittests/TestApplication.h
deleted file mode 100644
index 8af9cf55..00000000
--- a/unittests/TestApplication.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
-* Licensed to the University Corporation for Advanced Internet
-* Development, Inc. (UCAID) under one or more contributor license
-* agreements. See the NOTICE file distributed with this work for
-* additional information regarding copyright ownership.
-*
-* UCAID licenses this file to you 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
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-* either express or implied. See the License for the specific
-* language governing permissions and limitations under the License.
-*/
-
-#include <shibsp/SPConfig.h>
-#include <shibsp/Application.h>
-#include <shibsp/util/DOMPropertySet.h>
-#include <saml/saml2/metadata/MetadataProvider.h>
-#include <saml/binding/SAMLArtifact.h>
-#include <saml/saml2/binding/SAML2Artifact.h>
-
-#if defined (_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4250 )
-#endif
-
-namespace ta {
-
- using namespace std;
- using namespace shibsp;
- using namespace opensaml::saml2md;
- using namespace opensaml;
-
- class TestApplication : public Application {
- public:
- TestApplication(const ServiceProvider *sp, MetadataProvider* provider);
-
- // Application
- virtual const char* getHash() const;
- virtual MetadataProvider* getMetadataProvider(bool required=true) const;
- virtual xmltooling::TrustEngine* getTrustEngine(bool required=true) const;
- virtual AttributeExtractor* getAttributeExtractor() const;
- virtual AttributeFilter* getAttributeFilter() const;
- virtual AttributeResolver* getAttributeResolver() const;
- virtual xmltooling::CredentialResolver* getCredentialResolver() const;
- virtual const PropertySet* getRelyingParty(const EntityDescriptor* provider) const;
- virtual const PropertySet* getRelyingParty(const XMLCh* entityID) const;
- virtual const vector<const XMLCh*>* getAudiences() const;
- virtual string getNotificationURL(const char* request, bool front, unsigned int index) const;
- virtual const vector<string>& getRemoteUserAttributeIds() const;
- virtual const SessionInitiator* getDefaultSessionInitiator() const;
- virtual const SessionInitiator* getSessionInitiatorById(const char* id) const;
- virtual const Handler* getDefaultAssertionConsumerService() const;
- virtual const Handler* getAssertionConsumerServiceByIndex(unsigned short index) const;
- virtual const Handler* getAssertionConsumerServiceByProtocol(const XMLCh* protocol, const char* binding=nullptr) const;
- virtual const Handler* getHandler(const char* path) const;
- virtual void getHandlers(vector<const Handler*>& handlers) const;
- virtual SAMLArtifact* generateSAML1Artifact(const EntityDescriptor* relyingParty) const;
- virtual saml2p::SAML2Artifact* generateSAML2Artifact(const EntityDescriptor* relyingParty) const;
-
- // PropertySet
- virtual const PropertySet* getParent() const;
- virtual void setParent(const PropertySet* parent);
- virtual pair<bool, bool> getBool(const char* name, const char* ns=nullptr) const;
- virtual pair<bool, const char*> getString(const char* name, const char* ns=nullptr) const;
- virtual pair<bool, const XMLCh*> getXMLString(const char* name, const char* ns=nullptr) const;
- virtual pair<bool, unsigned int> getUnsignedInt(const char* name, const char* ns=nullptr) const;
- virtual pair<bool, int> getInt(const char* name, const char* ns=nullptr) const;
- virtual void getAll(std::map<std::string, const char*>& properties) const;
- virtual const PropertySet* getPropertySet(const char* name, const char* ns=shibspconstants::ASCII_SHIBSPCONFIG_NS) const;
- virtual const xercesc::DOMElement* getElement() const;
-
- private:
- MetadataProvider* m_provider;
- };
-
-}
-
-#if defined (_MSC_VER)
-#pragma warning( pop )
-#endif
diff --git a/unittests/config/etc/shibboleth/cert.pem b/unittests/config/etc/shibboleth/cert.pem
deleted file mode 100644
index e8261f3d..00000000
--- a/unittests/config/etc/shibboleth/cert.pem
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICjzCCAfigAwIBAgIJAKk8t1hYcMkhMA0GCSqGSIb3DQEBBAUAMDoxCzAJBgNV
-BAYTAlVTMRIwEAYDVQQKEwlJbnRlcm5ldDIxFzAVBgNVBAMTDnNwLmV4YW1wbGUu
-b3JnMB4XDTA1MDYyMDE1NDgzNFoXDTMyMTEwNTE1NDgzNFowOjELMAkGA1UEBhMC
-VVMxEjAQBgNVBAoTCUludGVybmV0MjEXMBUGA1UEAxMOc3AuZXhhbXBsZS5vcmcw
-gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANlZ1L1mKzYbUVKiMQLhZlfGDyYa
-/jjCiaXP0WhLNgvJpOTeajvsrApYNnFX5MLNzuC3NeQIjXUNLN2Yo2MCSthBIOL5
-qE5dka4z9W9zytoflW1LmJ8vXpx8Ay/meG4z//J5iCpYVEquA0xl28HUIlownZUF
-7w7bx0cF/02qrR23AgMBAAGjgZwwgZkwHQYDVR0OBBYEFJZiO1qsyAyc3HwMlL9p
-JpN6fbGwMGoGA1UdIwRjMGGAFJZiO1qsyAyc3HwMlL9pJpN6fbGwoT6kPDA6MQsw
-CQYDVQQGEwJVUzESMBAGA1UEChMJSW50ZXJuZXQyMRcwFQYDVQQDEw5zcC5leGFt
-cGxlLm9yZ4IJAKk8t1hYcMkhMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQAD
-gYEAMFq/UeSQyngE0GpZueyD2UW0M358uhseYOgGEIfm+qXIFQF6MYwNoX7WFzhC
-LJZ2E6mEvZZFHCHUtl7mGDvsRwgZ85YCtRbvleEpqfgNQToto9pLYe+X6vvH9Z6p
-gmYsTmak+kxO93JprrOd9xp8aZPMEprL7VCdrhbZEfyYER0=
------END CERTIFICATE-----
diff --git a/unittests/config/etc/shibboleth/console.logger b/unittests/config/etc/shibboleth/console.logger
deleted file mode 100644
index 1a7f50a0..00000000
--- a/unittests/config/etc/shibboleth/console.logger
+++ /dev/null
@@ -1,11 +0,0 @@
-log4j.rootCategory=WARN, console
-log4j.category.Shibboleth.MetadataProvider.Dynamic=DEBUG
-log4j.category.OpenSAML.MetadataProvider=DEBUG
-log4j.category.OpenSAML.Metadata=DEBUG
-
-Shibboleth
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-#log4j.appender.console.layout=org.apache.log4j.BasicLayout
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n
-
diff --git a/unittests/config/etc/shibboleth/icpem.pem b/unittests/config/etc/shibboleth/icpem.pem
deleted file mode 100644
index 4c1471fb..00000000
--- a/unittests/config/etc/shibboleth/icpem.pem
+++ /dev/null
@@ -1,22 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDkzCCAnugAwIBAgIJAPE6UChEGaEbMA0GCSqGSIb3DQEBCwUAMGAxCzAJBgNV
-BAYTAlVTMRUwEwYDVQQKDAxJbkNvbW1vbiBMTEMxOjA4BgNVBAMMMUluQ29tbW9u
-IE1ldGFkYXRhIFF1ZXJ5IFNlcnZlciAoQkVUQSkgU2lnbmluZyBLZXkwHhcNMTQw
-OTE4MTI1NjM2WhcNMjQwOTE1MTI1NjM2WjBgMQswCQYDVQQGEwJVUzEVMBMGA1UE
-CgwMSW5Db21tb24gTExDMTowOAYDVQQDDDFJbkNvbW1vbiBNZXRhZGF0YSBRdWVy
-eSBTZXJ2ZXIgKEJFVEEpIFNpZ25pbmcgS2V5MIIBIjANBgkqhkiG9w0BAQEFAAOC
-AQ8AMIIBCgKCAQEAzbxBNKPE/JkSTCmyJpUYWv7BBqQo713VxM4XETijKR7yY7bt
-rR5/peVDThAxTISEW0lnqv1OIgf5u6AvOsFKYfRVuol6aTGGN657uGv3fuX2kcAB
-HDjNkVRUQNNm0LaiyECUsUupnpzMQFbLAjiBOkZigfqxjHVnbM5DX3S/NR5N5ao5
-vFrpYQAV+MCBphIx4H2E1ZsZ6xRh6Z/npkOR+m2u81vWkmEFoawXT0U/hN5k/JUo
-qiGpPShE8AmSIag5x9BPF53l22OfFZMfuIK2EBGOaAwYiJS9sOLWmPO+nnkfl1WT
-15SuvCAjXZK4q8/kRIk79ZGIt2dgl7Vz5Y2AsQIDAQABo1AwTjAdBgNVHQ4EFgQU
-hN8Otwo7Z+K0H3K8gOcp6+mXB1QwHwYDVR0jBBgwFoAUhN8Otwo7Z+K0H3K8gOcp
-6+mXB1QwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAn+MPrkyxv0Ek
-RGS5zieYw24NQk6JTtXaxEWVOfYaddEuV1zv/y/4MmDzy6FJWDE14fI3C5/zj2/u
-vpAzHTE2QyZZoManufZZ1EpEFKhAdMT0zOoyQO0uFMo6ZjtMy8UmcrWgjlqPn80x
-Xww9QrodQC5XA7ypbBhhjfXbGbeo9DgOa4B64Tgt60HLGxhdzluHXo4dZ9KDl3B7
-CuLHhw+bAvIVWUjLlBJrXQx1z1kV3/EMQszSK9tgaZ0IDn44N4wEjz20hAszf2g9
-bGJXSugm0/0/QU2tmbbhxqz09TccNVJUtkYdlzvdeAOwkOSdQG9CVyRAKd+pnMku
-NXsXne3RtQ==
------END CERTIFICATE-----
\ No newline at end of file
diff --git a/unittests/config/etc/shibboleth/security-policy.xml b/unittests/config/etc/shibboleth/security-policy.xml
deleted file mode 100644
index 41b000bd..00000000
--- a/unittests/config/etc/shibboleth/security-policy.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<SecurityPolicies xmlns="urn:mace:shibboleth:2.0:native:sp:config">
-
- <!-- Each policy defines a set of rules to use to secure messages. -->
-
- <!--
- The predefined policy enforces replay/freshness, standard
- condition processing, and permits signing and client TLS.
- -->
- <Policy id="default" validate="false">
- <PolicyRule type="MessageFlow" checkReplay="true" expires="60"/>
- <PolicyRule type="Conditions">
- <PolicyRule type="Audience"/>
- <!-- Enable Delegation rule to permit delegated access. -->
- <!-- <PolicyRule type="Delegation"/> -->
- </PolicyRule>
- <PolicyRule type="ClientCertAuth" errorFatal="true"/>
- <PolicyRule type="XMLSigning" errorFatal="true"/>
- <PolicyRule type="SimpleSigning" errorFatal="true"/>
- </Policy>
-
- <!--
- This policy is a place-holder for use of assertions in metadata
- as a way of attaching signed information about particular IdPs.
- -->
- <Policy id="entity-attributes">
- <PolicyRule type="Conditions"/>
- <PolicyRule type="XMLSigning" errorFatal="true"/>
- </Policy>
-
- <!-- Disables known weak algorithms. -->
- <AlgorithmBlacklist includeDefaultBlacklist="true"/>
-
-</SecurityPolicies>
diff --git a/unittests/config/var/cache/shibboleth/.gitignore b/unittests/config/var/cache/shibboleth/.gitignore
deleted file mode 100644
index 97f440fc..00000000
--- a/unittests/config/var/cache/shibboleth/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-dynamic/*.xml
diff --git a/unittests/config/var/cache/shibboleth/dynamic/gitkeep/.gitkeep b/unittests/config/var/cache/shibboleth/dynamic/gitkeep/.gitkeep
deleted file mode 100644
index 564d4dda..00000000
--- a/unittests/config/var/cache/shibboleth/dynamic/gitkeep/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-foo
diff --git a/unittests/data/badSigMDQ.xml b/unittests/data/badSigMDQ.xml
deleted file mode 100644
index 12eb5188..00000000
--- a/unittests/data/badSigMDQ.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<MetadataProvider type="MDQ" ignoreTransport="true" cacheDirectory="dynamic/BadSig" backgroundInitialize="true" baseUrl="http://mdq-beta.incommon.org/global/">
- <MetadataFilter type="Signature" certificate="cert.pem"/>
-</MetadataProvider>
-
\ No newline at end of file
diff --git a/unittests/data/chainedFromURL.xml b/unittests/data/chainedFromURL.xml
deleted file mode 100644
index 41c4adc8..00000000
--- a/unittests/data/chainedFromURL.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<MetadataProvider type="Chaining">
- <MetadataProvider type="Dynamic" ignoreTransport="true" >
- <Subst hashed="SHA1">http://git.shibboleth.net/view/?p=cpp-sp.git&a=blob_plain&f=unittests/data/$entityID.xml&hb=master</Subst>
- </MetadataProvider>
-
- <MetadataProvider type="Dynamic" ignoreTransport="true" >
- <Regex match="^\{sha1\}(.*)$">http://git.shibboleth.net/view/?p=cpp-sp.git&a=blob_plain&f=unittests/data/$1.xml&hb=master</Regex>
- </MetadataProvider>
-</MetadataProvider>
-
diff --git a/unittests/data/df5a20c921bc30c1b76c5a6cec08d074e280de8b.xml b/unittests/data/df5a20c921bc30c1b76c5a6cec08d074e280de8b.xml
deleted file mode 100644
index 0dedc746..00000000
--- a/unittests/data/df5a20c921bc30c1b76c5a6cec08d074e280de8b.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<EntityDescriptor entityID="https://idp.shibboleth.net/idp/shibboleth"
- xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
- xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
- xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
- xmlns:init="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
- xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
- xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
- xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- >
-
- <Extensions>
- <alg:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
- <alg:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384"/>
- <alg:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
- <alg:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
- <mdrpi:RegistrationInfo registrationAuthority="http://ukfederation.org.uk" registrationInstant="2011-01-06T16:22:29Z">
- <mdrpi:RegistrationPolicy xml:lang="en">http://ukfederation.org.uk/doc/mdrps-20130902</mdrpi:RegistrationPolicy>
- </mdrpi:RegistrationInfo>
- </Extensions>
- <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
- <Extensions>
- <shibmd:Scope regexp="false">shibboleth.net</shibmd:Scope>
- <mdui:UIInfo>
- <mdui:DisplayName xml:lang="en">Shibboleth.net</mdui:DisplayName>
- <mdui:Description xml:lang="en">An identity provider hosted and used by the
- developers of Shibboleth.</mdui:Description>
- <mdui:Logo height="82" width="64">https://shibboleth.net/images/gryphon_64x82.png</mdui:Logo>
- </mdui:UIInfo>
- </Extensions>
- <KeyDescriptor>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>
-MIIDNDCCAhygAwIBAgIVAKyBWnv1/h1U11C7kHvV33FIrEsJMA0GCSqGSIb3DQEB
-BQUAMB0xGzAZBgNVBAMTEmlkcC5zaGliYm9sZXRoLm5ldDAeFw0xMDEyMjkwMDA5
-MTlaFw0zMDEyMjkwMDA5MTlaMB0xGzAZBgNVBAMTEmlkcC5zaGliYm9sZXRoLm5l
-dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKjWAdpUx/82FUzrRMfA
-M63PkZZYCm3RnT3eiL+DeJcbGdcEJx/o+32vgHXJgJOBt14YdVam5GErIYgk4SGq
-5Z5RYl0PpQn6HQG/9prGnYCu6p5zfb0557o51Eh8TcVehS6Y2ruyCjAF0jgVMwh5
-/0Oh8EE9wG93pSpm70DAiiaTVCb8WoT1aZYtxbBmmuH10bU+wge/NMmaHuVAe599
-pyezFIL4FoI2g+1Q6nG4Yl1Z07I81tTApXKVMWRt/4/M3m2D7PUMOQ9qsxthp2L/
-LovIeNo0bTyeW290T2Y/JRZhKOgeDqkhuu82DPri2Vm5G/unB69KfRB7CF9QWIc3
-y80CAwEAAaNrMGkwSAYDVR0RBEEwP4ISaWRwLnNoaWJib2xldGgubmV0hilodHRw
-czovL2lkcC5zaGliYm9sZXRoLm5ldC9pZHAvc2hpYmJvbGV0aDAdBgNVHQ4EFgQU
-3uZ32tKXJBzPCTp2dtHSLV0FvGgwDQYJKoZIhvcNAQEFBQADggEBAAYXYuzp0UTj
-3yLRvUCbEtaw9b80+weOELkVv3WFY3QAG8pIKEblrMMtzrzLFWZwYwwMZDab/HnH
-egmgjZBthrOedEmoJ+OHRmIiS8zdZxVGEadJhTUaeIkO6kwK7Ht3nQePoiXV7TI5
-+A9SpmZGoukC85Za4wGDw4xWGs5t5l6tBuuV+1s0oC6T8ih5n/NyThfpbihSW0d7
-iBfSUickgpoM2BLM3FCnbO8HOsX1rGV4ypG9ZGDDvr2jrzalXXmc05gSlL2qd9ce
-Q1M+9vavusPCqlj2zZf2/HfzhyiFcb/OgA0oTFWW2ynXji6UarIV5QaPoi/XmGmx
-BXD36HfGBXk=
-</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes192-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
- </KeyDescriptor>
- <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
- <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://shibboleth.net/idp/profile/SAML2/POST/SSO"/>
- <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://shibboleth.net/idp/profile/SAML2/POST-SimpleSign/SSO"/>
- <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://shibboleth.net/idp/profile/SAML2/Redirect/SSO"/>
- </IDPSSODescriptor>
- <Organization>
- <OrganizationName xml:lang="en">JISC Collections and Janet Limited</OrganizationName>
- <OrganizationDisplayName xml:lang="en">Shibboleth.net</OrganizationDisplayName>
- <OrganizationURL xml:lang="en">http://www.shibboleth.net/</OrganizationURL>
- </Organization>
- <ContactPerson contactType="support">
- <GivenName>Shibboleth.Net Technical Support</GivenName>
- <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
- </ContactPerson>
- <ContactPerson contactType="technical">
- <GivenName>Scott</GivenName>
- <SurName>Cantor</SurName>
- <EmailAddress>mailto:cantor.2 at osu.edu</EmailAddress>
- </ContactPerson>
- <ContactPerson contactType="technical">
- <GivenName>Ian</GivenName>
- <SurName>Young</SurName>
- <EmailAddress>mailto:ukfed at iay.org.uk</EmailAddress>
- </ContactPerson>
- </EntityDescriptor>
diff --git a/unittests/data/fromMDQ.xml b/unittests/data/fromMDQ.xml
deleted file mode 100644
index 5a731656..00000000
--- a/unittests/data/fromMDQ.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<MetadataProvider type="MDQ" ignoreTransport="true" cacheDirectory="dynamic" backgroundInitialize="true" baseUrl="http://mdq-beta.incommon.org/global/">
- <MetadataFilter type="Signature" certificate="icpem.pem"/>
-</MetadataProvider>
diff --git a/unittests/data/idp.shibboleth.net.xml b/unittests/data/idp.shibboleth.net.xml
deleted file mode 100644
index 0dedc746..00000000
--- a/unittests/data/idp.shibboleth.net.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<EntityDescriptor entityID="https://idp.shibboleth.net/idp/shibboleth"
- xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
- xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
- xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
- xmlns:init="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
- xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
- xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
- xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- >
-
- <Extensions>
- <alg:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
- <alg:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384"/>
- <alg:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
- <alg:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
- <alg:SigningMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
- <mdrpi:RegistrationInfo registrationAuthority="http://ukfederation.org.uk" registrationInstant="2011-01-06T16:22:29Z">
- <mdrpi:RegistrationPolicy xml:lang="en">http://ukfederation.org.uk/doc/mdrps-20130902</mdrpi:RegistrationPolicy>
- </mdrpi:RegistrationInfo>
- </Extensions>
- <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
- <Extensions>
- <shibmd:Scope regexp="false">shibboleth.net</shibmd:Scope>
- <mdui:UIInfo>
- <mdui:DisplayName xml:lang="en">Shibboleth.net</mdui:DisplayName>
- <mdui:Description xml:lang="en">An identity provider hosted and used by the
- developers of Shibboleth.</mdui:Description>
- <mdui:Logo height="82" width="64">https://shibboleth.net/images/gryphon_64x82.png</mdui:Logo>
- </mdui:UIInfo>
- </Extensions>
- <KeyDescriptor>
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>
-MIIDNDCCAhygAwIBAgIVAKyBWnv1/h1U11C7kHvV33FIrEsJMA0GCSqGSIb3DQEB
-BQUAMB0xGzAZBgNVBAMTEmlkcC5zaGliYm9sZXRoLm5ldDAeFw0xMDEyMjkwMDA5
-MTlaFw0zMDEyMjkwMDA5MTlaMB0xGzAZBgNVBAMTEmlkcC5zaGliYm9sZXRoLm5l
-dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKjWAdpUx/82FUzrRMfA
-M63PkZZYCm3RnT3eiL+DeJcbGdcEJx/o+32vgHXJgJOBt14YdVam5GErIYgk4SGq
-5Z5RYl0PpQn6HQG/9prGnYCu6p5zfb0557o51Eh8TcVehS6Y2ruyCjAF0jgVMwh5
-/0Oh8EE9wG93pSpm70DAiiaTVCb8WoT1aZYtxbBmmuH10bU+wge/NMmaHuVAe599
-pyezFIL4FoI2g+1Q6nG4Yl1Z07I81tTApXKVMWRt/4/M3m2D7PUMOQ9qsxthp2L/
-LovIeNo0bTyeW290T2Y/JRZhKOgeDqkhuu82DPri2Vm5G/unB69KfRB7CF9QWIc3
-y80CAwEAAaNrMGkwSAYDVR0RBEEwP4ISaWRwLnNoaWJib2xldGgubmV0hilodHRw
-czovL2lkcC5zaGliYm9sZXRoLm5ldC9pZHAvc2hpYmJvbGV0aDAdBgNVHQ4EFgQU
-3uZ32tKXJBzPCTp2dtHSLV0FvGgwDQYJKoZIhvcNAQEFBQADggEBAAYXYuzp0UTj
-3yLRvUCbEtaw9b80+weOELkVv3WFY3QAG8pIKEblrMMtzrzLFWZwYwwMZDab/HnH
-egmgjZBthrOedEmoJ+OHRmIiS8zdZxVGEadJhTUaeIkO6kwK7Ht3nQePoiXV7TI5
-+A9SpmZGoukC85Za4wGDw4xWGs5t5l6tBuuV+1s0oC6T8ih5n/NyThfpbihSW0d7
-iBfSUickgpoM2BLM3FCnbO8HOsX1rGV4ypG9ZGDDvr2jrzalXXmc05gSlL2qd9ce
-Q1M+9vavusPCqlj2zZf2/HfzhyiFcb/OgA0oTFWW2ynXji6UarIV5QaPoi/XmGmx
-BXD36HfGBXk=
-</ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes192-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
- <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
- </KeyDescriptor>
- <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
- <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://shibboleth.net/idp/profile/SAML2/POST/SSO"/>
- <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://shibboleth.net/idp/profile/SAML2/POST-SimpleSign/SSO"/>
- <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://shibboleth.net/idp/profile/SAML2/Redirect/SSO"/>
- </IDPSSODescriptor>
- <Organization>
- <OrganizationName xml:lang="en">JISC Collections and Janet Limited</OrganizationName>
- <OrganizationDisplayName xml:lang="en">Shibboleth.net</OrganizationDisplayName>
- <OrganizationURL xml:lang="en">http://www.shibboleth.net/</OrganizationURL>
- </Organization>
- <ContactPerson contactType="support">
- <GivenName>Shibboleth.Net Technical Support</GivenName>
- <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
- </ContactPerson>
- <ContactPerson contactType="technical">
- <GivenName>Scott</GivenName>
- <SurName>Cantor</SurName>
- <EmailAddress>mailto:cantor.2 at osu.edu</EmailAddress>
- </ContactPerson>
- <ContactPerson contactType="technical">
- <GivenName>Ian</GivenName>
- <SurName>Young</SurName>
- <EmailAddress>mailto:ukfed at iay.org.uk</EmailAddress>
- </ContactPerson>
- </EntityDescriptor>
diff --git a/unittests/data/localDynamic.xml b/unittests/data/localDynamic.xml
deleted file mode 100644
index 32ee1dbb..00000000
--- a/unittests/data/localDynamic.xml
+++ /dev/null
@@ -1 +0,0 @@
-<MetadataProvider type="LocalDynamic" sourceDirectory="H:/Perforce/VS2017/cpp-sp/unittests/data/" />
\ No newline at end of file
diff --git a/unittests/data/templateFromRepo.xml b/unittests/data/templateFromRepo.xml
deleted file mode 100644
index 6d531b13..00000000
--- a/unittests/data/templateFromRepo.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<MetadataProvider type="Dynamic" ignoreTransport="true" backgroundInitialize="false" cacheDirectory="dynamic">
-<Subst hashed="SHA1">http://git.shibboleth.net/view/?p=cpp-sp.git&a=blob_plain&f=unittests/data/$entityID.xml&hb=master</Subst>
-</MetadataProvider>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list