[cpp-opensaml COMMIT] in /branches/REL_2/saml/saml2/metadata: DiscoverableMetadataProvider.h impl/ChainingMetadataPro...
noreply at shibboleth.net
noreply at shibboleth.net
Wed May 9 21:34:09 BST 2012
Author: scantor
Date: Wed May 9 21:34:09 2012
New Revision: 724
URL: http://svn.shibboleth.net/view/cpp-opensaml?rev=724&view=rev
Log:
https://issues.shibboleth.net/jira/browse/CPPOST-76
Modified:
branches/REL_2/saml/saml2/metadata/DiscoverableMetadataProvider.h
branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp
branches/REL_2/saml/saml2/metadata/impl/DiscoverableMetadataProvider.cpp
branches/REL_2/saml/saml2/metadata/impl/XMLMetadataProvider.cpp
Modified: branches/REL_2/saml/saml2/metadata/DiscoverableMetadataProvider.h
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/metadata/DiscoverableMetadataProvider.h?rev=724&r1=723&r2=724&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/DiscoverableMetadataProvider.h (original)
+++ branches/REL_2/saml/saml2/metadata/DiscoverableMetadataProvider.h Wed May 9 21:34:09 2012
@@ -29,9 +29,18 @@
#include <saml/saml2/metadata/MetadataProvider.h>
+#include <boost/shared_ptr.hpp>
+
namespace opensaml {
+ namespace saml2 {
+ class SAML_API Attribute;
+ };
+
namespace saml2md {
+
+ class SAML_API EntityAttributes;
+ class SAML_API EntityMatcher;
#if defined (_MSC_VER)
#pragma warning( push )
@@ -52,6 +61,15 @@
* <dt>legacyOrgNames</dt>
* <dd>true iff IdPs without a UIInfo extension should
* be identified using <md:OrganizationDisplayName></dd>
+ * <dt>entityAttributes</dt>
+ * <dd>true iff tags found in <mdattr:EntityAttributes>
+ * extensions should be included in the feed</dd>
+ * <dt><DiscoveryFilter type="..." matcher="..." ></dt>
+ * <dd>Zero or more filters of type "Whitelist" or "Blacklist" that
+ * affect which entities get exposed by the feed. The actual matching
+ * is driven by an EntityMatcher plugin identified by the matcher
+ * attribute. Other element content will be present to configure
+ * that plugin.</dd>
* </dl>
*
* @param e DOM to supply configuration for provider
@@ -96,8 +114,11 @@
private:
void discoEntity(std::string& s, const EntityDescriptor* entity, bool& first) const;
void discoGroup(std::string& s, const EntitiesDescriptor* group, bool& first) const;
+ void discoEntityAttributes(std::string& s, const EntityAttributes& ea, bool& first) const;
+ void discoAttributes(std::string& s, const std::vector<saml2::Attribute*>& attrs, bool& first) const;
- bool m_legacyOrgNames;
+ bool m_legacyOrgNames, m_entityAttributes;
+ std::vector< std::pair< bool, boost::shared_ptr<EntityMatcher> > > m_discoFilters;
};
#if defined (_MSC_VER)
Modified: branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp?rev=724&r1=723&r2=724&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp (original)
+++ branches/REL_2/saml/saml2/metadata/impl/ChainingMetadataProvider.cpp Wed May 9 21:34:09 2012
@@ -195,7 +195,7 @@
m_providers.push_back(provider.get());
provider.release();
}
- catch (exception& ex) {
+ catch (std::exception& ex) {
m_log.error("error building MetadataProvider: %s", ex.what());
}
}
@@ -214,7 +214,7 @@
try {
i->init();
}
- catch (exception& ex) {
+ catch (std::exception& ex) {
m_log.crit("failure initializing MetadataProvider: %s", ex.what());
}
}
Modified: branches/REL_2/saml/saml2/metadata/impl/DiscoverableMetadataProvider.cpp
URL: http://svn.shibboleth.net/view/cpp-opensaml/branches/REL_2/saml/saml2/metadata/impl/DiscoverableMetadataProvider.cpp?rev=724&r1=723&r2=724&view=diff
==============================================================================
--- branches/REL_2/saml/saml2/metadata/impl/DiscoverableMetadataProvider.cpp (original)
+++ branches/REL_2/saml/saml2/metadata/impl/DiscoverableMetadataProvider.cpp Wed May 9 21:34:09 2012
@@ -26,25 +26,65 @@
#include "internal.h"
#include "binding/SAMLArtifact.h"
+#include "saml2/metadata/EntityMatcher.h"
#include "saml2/metadata/Metadata.h"
#include "saml2/metadata/DiscoverableMetadataProvider.h"
#include <fstream>
#include <sstream>
-#include <boost/bind.hpp>
+#include <boost/lambda/bind.hpp>
+#include <boost/lambda/casts.hpp>
+#include <boost/lambda/lambda.hpp>
#include <boost/iterator/indirect_iterator.hpp>
#include <xmltooling/logging.h>
#include <xmltooling/XMLToolingConfig.h>
+using namespace opensaml::saml2;
[... 266 lines stripped ...]
More information about the commits
mailing list