From 731a7db11a7055afea084fb76a778d51bf3f9ffb Mon Sep 17 00:00:00 2001 From: cantor Date: Wed, 3 Oct 2007 20:29:28 +0000 Subject: [PATCH] Prevent duplicate endpoints if bases are manually supplied. git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@2527 cb58f699-b61c-0410-a6fe-9272a202ed29 --- shibsp/handler/impl/MetadataGenerator.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/shibsp/handler/impl/MetadataGenerator.cpp b/shibsp/handler/impl/MetadataGenerator.cpp index ef48f81..55f27e9 100644 --- a/shibsp/handler/impl/MetadataGenerator.cpp +++ b/shibsp/handler/impl/MetadataGenerator.cpp @@ -122,7 +122,6 @@ MetadataGenerator::MetadataGenerator(const DOMElement* e, const char* appId) pair MetadataGenerator::run(SPRequest& request, bool isHandler) const { - string relayState; SPConfig& conf = SPConfig::getConfig(); if (conf.isEnabled(SPConfig::InProcess)) { if (!m_acl.empty() && m_acl.count(request.getRemoteAddr()) == 0) { @@ -223,9 +222,13 @@ pair MetadataGenerator::processMessage(const Application& application vector handlers; application.getHandlers(handlers); for (vector::const_iterator h = handlers.begin(); h != handlers.end(); ++h) { - (*h)->generateMetadata(*role, handlerURL); - for (vector::const_iterator b = m_bases.begin(); b != m_bases.end(); ++b) - (*h)->generateMetadata(*role, b->c_str()); + if (m_bases.empty()) { + (*h)->generateMetadata(*role, handlerURL); + } + else { + for (vector::const_iterator b = m_bases.begin(); b != m_bases.end(); ++b) + (*h)->generateMetadata(*role, b->c_str()); + } } CredentialResolver* credResolver=application.getCredentialResolver(); -- 2.1.4