Reducing header overuse, non-inlining selected methods (CPPOST-35).
authorScott Cantor <cantor.2@osu.edu>
Fri, 2 Oct 2009 23:00:16 +0000 (23:00 +0000)
committerScott Cantor <cantor.2@osu.edu>
Fri, 2 Oct 2009 23:00:16 +0000 (23:00 +0000)
40 files changed:
saml/binding/SecurityPolicy.h
saml/binding/impl/SecurityPolicy.cpp
saml/binding/impl/SimpleSigningRule.cpp
saml/binding/impl/XMLSigningRule.cpp
saml/saml1/binding/impl/SAML1POSTEncoder.cpp
saml/saml1/binding/impl/SAML1SOAPEncoder.cpp
saml/saml1/core/Assertions.h
saml/saml1/core/Protocols.h
saml/saml1/core/impl/AssertionsImpl.cpp
saml/saml1/core/impl/ProtocolsImpl.cpp
saml/saml2/binding/impl/SAML2ArtifactEncoder.cpp
saml/saml2/binding/impl/SAML2ECPEncoder.cpp
saml/saml2/binding/impl/SAML2POSTEncoder.cpp
saml/saml2/binding/impl/SAML2RedirectEncoder.cpp
saml/saml2/binding/impl/SAML2SOAPEncoder.cpp
saml/saml2/core/Assertions.h
saml/saml2/core/impl/Assertions20Impl.cpp
saml/saml2/core/impl/Protocols20Impl.cpp
saml/saml2/metadata/AbstractMetadataProvider.h
saml/saml2/metadata/DynamicMetadataProvider.h
saml/saml2/metadata/Metadata.h
saml/saml2/metadata/MetadataFilter.h
saml/saml2/metadata/MetadataProvider.h
saml/saml2/metadata/impl/AbstractMetadataProvider.cpp
saml/saml2/metadata/impl/DynamicMetadataProvider.cpp
saml/saml2/metadata/impl/MetadataImpl.cpp
saml/saml2/metadata/impl/MetadataProvider.cpp
saml/saml2/metadata/impl/MetadataSchemaValidators.cpp
saml/saml2/metadata/impl/SignatureMetadataFilter.cpp
saml/signature/ContentReference.h
saml/signature/SignableObject.h
saml/signature/SignatureProfileValidator.cpp
saml/signature/SignatureProfileValidator.h
saml/util/SAMLConstants.h
samltest/binding.h
samltest/internal.h
samltest/saml1/binding/SAML1ArtifactTest.h
samltest/saml2/core/impl/KeyInfoConfirmationDataType20Test.h
samltest/saml2/core/impl/Response20Test.h
samltest/signature/SAMLSignatureTestBase.h

index cb05450..670b47e 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <ctime>
 #include <vector>
+#include <xmltooling/unicode.h>
 
 #if defined (_MSC_VER)
     #pragma warning( push )
@@ -208,10 +209,7 @@ namespace opensaml {
          *
          * @param role the peer role element/type or NULL
          */
-        void setRole(const xmltooling::QName* role) {
-            delete m_role;
-            m_role = role ? new xmltooling::QName(*role) : NULL;
-        }
+        void setRole(const xmltooling::QName* role);
 
         /**
          * Sets a TrustEngine for the policy.
index 540cdae..4886905 100644 (file)
@@ -115,6 +115,12 @@ void SecurityPolicy::_reset(bool messageOnly)
     }
 }
 
+void SecurityPolicy::setRole(const xmltooling::QName* role)
+{
+    delete m_role;
+    m_role = role ? new xmltooling::QName(*role) : NULL;
+}
+
 MetadataProvider::Criteria& SecurityPolicy::getMetadataProviderCriteria() const
 {
     if (!m_metadataCriteria)
index a48f040..59cd3d6 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * SimpleSigningRule.cpp
  * 
- * Blob-oriented signature checking SecurityPolicyRule
+ * Blob-oriented signature checking SecurityPolicyRule.
  */
 
 #include "internal.h"
@@ -34,6 +34,8 @@
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/io/HTTPRequest.h>
 #include <xmltooling/security/SignatureTrustEngine.h>
+#include <xmltooling/signature/KeyInfo.h>
+#include <xmltooling/signature/Signature.h>
 
 using namespace opensaml::saml2md;
 using namespace opensaml;
index 12f459d..3ab67a5 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <xmltooling/logging.h>
 #include <xmltooling/security/SignatureTrustEngine.h>
+#include <xmltooling/signature/Signature.h>
 
 using namespace opensaml::saml2md;
 using namespace opensaml;
index 600cd4b..42f9c55 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 /**
  * SAML1POSTEncoder.cpp
  * 
- * SAML 1.x POST binding/profile message encoder
+ * SAML 1.x POST binding/profile message encoder.
  */
 
 #include "internal.h"
@@ -32,6 +32,7 @@
 #include <xmltooling/io/HTTPResponse.h>
 #include <xmltooling/logging.h>
 #include <xmltooling/XMLToolingConfig.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
index a036dd3..7066055 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 /**
  * SAML1SOAPEncoder.cpp
  * 
- * SAML 1.x SOAP binding message encoder
+ * SAML 1.x SOAP binding message encoder.
  */
 
 #include "internal.h"
@@ -29,6 +29,7 @@
 #include <sstream>
 #include <xmltooling/logging.h>
 #include <xmltooling/io/HTTPResponse.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/soap/SOAP.h>
 
index dc7c6c3..c74e8b9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 /**
  * @file saml/saml1/core/Assertions.h
  *
- * XMLObjects representing the SAML 1.x Assertions schema
+ * XMLObjects representing the SAML 1.x Assertions schema.
  */
 
 #ifndef __saml1_assertions_h__
 #include <saml/util/SAMLConstants.h>
 
 #include <xmltooling/ElementProxy.h>
-#include <xmltooling/XMLObjectBuilder.h>
-#include <xmltooling/signature/KeyInfo.h>
-#include <xmltooling/signature/Signature.h>
-#include <xmltooling/util/DateTime.h>
+#include <xmltooling/ConcreteXMLObjectBuilder.h>
 
 #define DECL_SAML1OBJECTBUILDER(cname) \
     DECL_XMLOBJECTBUILDER(SAML_API,cname,samlconstants::SAML1_NS,samlconstants::SAML1_PREFIX)
 
+namespace xmltooling {
+    class XMLTOOL_API DateTime;
+};
+
+namespace xmlsignature {
+    class XMLTOOL_API KeyInfo;
+    class XMLTOOL_API Signature;
+};
+
 namespace opensaml {
 
     /**
index 5731522..10fc9c7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 /**
  * @file saml/saml1/core/Protocols.h
  *
- * XMLObjects representing the SAML 1.x Protocols schema
+ * XMLObjects representing the SAML 1.x Protocols schema.
  */
 
 #ifndef __saml1_protocols_h__
 #include <saml/RootObject.h>
 #include <saml/util/SAMLConstants.h>
 
-#include <xmltooling/XMLObjectBuilder.h>
-#include <xmltooling/signature/KeyInfo.h>
-#include <xmltooling/signature/Signature.h>
-#include <xmltooling/util/DateTime.h>
+#include <xmltooling/ConcreteXMLObjectBuilder.h>
+#include <xmltooling/ElementExtensibleXMLObject.h>
 
 #define DECL_SAML1POBJECTBUILDER(cname) \
     DECL_XMLOBJECTBUILDER(SAML_API,cname,samlconstants::SAML1P_NS,samlconstants::SAML1P_PREFIX)
 
+namespace xmltooling {
+    class XMLTOOL_API DateTime;
+};
+
+namespace xmlsignature {
+    class XMLTOOL_API KeyInfo;
+    class XMLTOOL_API Signature;
+};
+
 namespace opensaml {
 
     namespace saml1 {
index ac0fde1..cf7a4ee 100644 (file)
 /**
  * AssertionsImpl.cpp
  *
- * Implementation classes for SAML 1.x Assertions schema
+ * Implementation classes for SAML 1.x Assertions schema.
  */
 
 #include "internal.h"
 #include "exceptions.h"
 #include "saml1/core/Assertions.h"
+#include "signature/ContentReference.h"
 
 #include <xmltooling/AbstractComplexElement.h>
 #include <xmltooling/AbstractSimpleElement.h>
 #include <xmltooling/impl/AnyElement.h>
 #include <xmltooling/io/AbstractXMLObjectMarshaller.h>
 #include <xmltooling/io/AbstractXMLObjectUnmarshaller.h>
+#include <xmltooling/signature/KeyInfo.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/XMLHelper.h>
 
 #include <ctime>
@@ -1064,9 +1067,9 @@ namespace opensaml {
                     const_cast<AssertionImpl*>(this)->m_AssertionID=SAMLConfig::getConfig().generateIdentifier();
                 domElement->setAttributeNS(NULL, ASSERTIONID_ATTRIB_NAME, m_AssertionID);
                 if (*m_MinorVersion!=chDigit_0) {
-#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE\r
+#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE
                     domElement->setIdAttributeNS(NULL, ASSERTIONID_ATTRIB_NAME, true);
-#else\r
+#else
                     domElement->setIdAttributeNS(NULL, ASSERTIONID_ATTRIB_NAME);
 #endif
                 }
@@ -1094,9 +1097,9 @@ namespace opensaml {
                 // Standard processing, but then we check IDness.
                 AbstractXMLObjectUnmarshaller::unmarshallAttributes(domElement);
                 if (m_AssertionID && (!m_MinorVersion || *m_MinorVersion!=chDigit_0)) {
-#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE\r
+#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE
                     const_cast<DOMElement*>(domElement)->setIdAttributeNS(NULL, ASSERTIONID_ATTRIB_NAME, true);
-#else\r
+#else
                     const_cast<DOMElement*>(domElement)->setIdAttributeNS(NULL, ASSERTIONID_ATTRIB_NAME);
 #endif
                 }
index 6d8bb4e..abcaa77 100644 (file)
 /**
  * ProtocolsImpl.cpp
  *
- * Implementation classes for SAML 1.x Protocols schema
+ * Implementation classes for SAML 1.x Protocols schema.
  */
 
 #include "internal.h"
 #include "exceptions.h"
 #include "saml1/core/Assertions.h"
 #include "saml1/core/Protocols.h"
+#include "signature/ContentReference.h"
 
 #include <xmltooling/AbstractComplexElement.h>
 #include <xmltooling/AbstractSimpleElement.h>
 #include <xmltooling/impl/AnyElement.h>
 #include <xmltooling/io/AbstractXMLObjectMarshaller.h>
 #include <xmltooling/io/AbstractXMLObjectUnmarshaller.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/XMLHelper.h>
 
 #include <ctime>
@@ -390,7 +392,7 @@ namespace opensaml {
                     const_cast<RequestAbstractTypeImpl*>(this)->m_RequestID=SAMLConfig::getConfig().generateIdentifier();
                 domElement->setAttributeNS(NULL, REQUESTID_ATTRIB_NAME, m_RequestID);
                 if (*m_MinorVersion!=chDigit_0) {
-#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE\r
+#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE
                     domElement->setIdAttributeNS(NULL, REQUESTID_ATTRIB_NAME, true);
 #else
                     domElement->setIdAttributeNS(NULL, REQUESTID_ATTRIB_NAME);
@@ -413,7 +415,7 @@ namespace opensaml {
                 // Standard processing, but then we check IDness.
                 AbstractXMLObjectUnmarshaller::unmarshallAttributes(domElement);
                 if (m_RequestID && (!m_MinorVersion || *m_MinorVersion!=chDigit_0)) {
-#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE\r
+#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE
                     const_cast<DOMElement*>(domElement)->setIdAttributeNS(NULL, REQUESTID_ATTRIB_NAME, true);
 #else
                     const_cast<DOMElement*>(domElement)->setIdAttributeNS(NULL, REQUESTID_ATTRIB_NAME);
@@ -729,7 +731,7 @@ namespace opensaml {
                     const_cast<ResponseAbstractTypeImpl*>(this)->m_ResponseID=SAMLConfig::getConfig().generateIdentifier();
                 domElement->setAttributeNS(NULL, RESPONSEID_ATTRIB_NAME, m_ResponseID);
                 if (*m_MinorVersion!=chDigit_0) {
-#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE\r
+#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE
                     domElement->setIdAttributeNS(NULL, RESPONSEID_ATTRIB_NAME, true);
 #else
                     domElement->setIdAttributeNS(NULL, RESPONSEID_ATTRIB_NAME);
@@ -753,7 +755,7 @@ namespace opensaml {
                 // Standard processing, but then we check IDness.
                 AbstractXMLObjectUnmarshaller::unmarshallAttributes(domElement);
                 if (m_ResponseID && (!m_MinorVersion || *m_MinorVersion!=chDigit_0)) {
-#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE\r
+#ifdef XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE
                     const_cast<DOMElement*>(domElement)->setIdAttributeNS(NULL, RESPONSEID_ATTRIB_NAME, true);
 #else
                     const_cast<DOMElement*>(domElement)->setIdAttributeNS(NULL, RESPONSEID_ATTRIB_NAME);
index 9ac6dea..7c4d16f 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * SAML2ArtifactEncoder.cpp
  * 
- * SAML 2.0 HTTP-Artifact binding message encoder
+ * SAML 2.0 HTTP-Artifact binding message encoder.
  */
 
 #include "internal.h"
 #include "saml2/binding/SAML2Artifact.h"
 #include "saml2/core/Protocols.h"
 #include "saml2/metadata/Metadata.h"
+#include "signature/ContentReference.h"
 
 #include <fstream>
 #include <sstream>
 #include <xmltooling/logging.h>
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/io/HTTPResponse.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
index a869598..a6adf4b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 /**
  * SAML2ECPEncoder.cpp
  * 
- * SAML 2.0 ECP profile message encoder
+ * SAML 2.0 ECP profile message encoder.
  */
 
 #include "internal.h"
@@ -32,6 +32,7 @@
 #include <xmltooling/impl/AnyElement.h>
 #include <xmltooling/io/HTTPResponse.h>
 #include <xmltooling/util/NDC.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/soap/SOAP.h>
 
 using namespace samlconstants;
index e4cdc92..f2f7714 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * SAML2POSTEncoder.cpp
  * 
- * SAML 2.0 HTTP-POST binding message encoder
+ * SAML 2.0 HTTP-POST binding message encoder.
  */
 
 #include "internal.h"
@@ -34,6 +34,8 @@
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/io/HTTPResponse.h>
 #include <xmltooling/security/Credential.h>
+#include <xmltooling/signature/KeyInfo.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
index f6e1214..1af4dc2 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * SAML2RedirectEncoder.cpp
  * 
- * SAML 2.0 HTTP-POST binding message encoder
+ * SAML 2.0 HTTP-POST binding message encoder.
  */
 
 #include "internal.h"
@@ -34,6 +34,7 @@
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/io/HTTPResponse.h>
 #include <xmltooling/security/Credential.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/URLEncoder.h>
 
index a4aa894..4de8b7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 /**
  * SAML2SOAPEncoder.cpp
  * 
- * SAML 2.0 SOAP binding message encoder
+ * SAML 2.0 SOAP binding message encoder.
  */
 
 #include "internal.h"
@@ -30,6 +30,7 @@
 #include <xmltooling/logging.h>
 #include <xmltooling/io/HTTPResponse.h>
 #include <xmltooling/util/NDC.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/soap/SOAP.h>
 
 using namespace opensaml::saml2p;
index 4b2b896..94f4c53 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * @file saml/saml2/core/Assertions.h
  *
- * XMLObjects representing the SAML 2.0 Assertions schema
+ * XMLObjects representing the SAML 2.0 Assertions schema.
  */
 
 #ifndef __saml2_assertions_h__
 #include <saml/Assertion.h>
 #include <saml/util/SAMLConstants.h>
 
-#include <xmltooling/XMLObjectBuilder.h>
-#include <xmltooling/encryption/Encryption.h>
-#include <xmltooling/security/CredentialCriteria.h>
-#include <xmltooling/security/CredentialResolver.h>
-#include <xmltooling/signature/Signature.h>
-#include <xmltooling/util/DateTime.h>
+#include <xmltooling/ConcreteXMLObjectBuilder.h>
+#include <xmltooling/ElementProxy.h>
 
 #define DECL_SAML2OBJECTBUILDER(cname) \
     DECL_XMLOBJECTBUILDER(SAML_API,cname,samlconstants::SAML20_NS,samlconstants::SAML20_PREFIX)
 
+namespace xmltooling {
+    class XMLTOOL_API CredentialCriteria;
+    class XMLTOOL_API CredentialResolver;
+    class XMLTOOL_API DateTime;
+};
+
+namespace xmlencryption {
+    class XMLTOOL_API EncryptedData;
+    class XMLTOOL_API EncryptedKey;
+};
+
+namespace xmlsignature {
+    class XMLTOOL_API KeyInfo;
+    class XMLTOOL_API Signature;
+};
+
 namespace opensaml {
 
     namespace saml2md {
index d7a5481..fdeb98e 100644 (file)
 /**
  * Assertions20Impl.cpp
  *
- * Implementation classes for SAML 2.0 Assertions schema
+ * Implementation classes for SAML 2.0 Assertions schema.
  */
 
 #include "internal.h"
 #include "exceptions.h"
 #include "saml/encryption/EncryptedKeyResolver.h"
 #include "saml2/core/Assertions.h"
+#include "signature/ContentReference.h"
 
 #include <xmltooling/AbstractComplexElement.h>
 #include <xmltooling/AbstractSimpleElement.h>
 #include <xmltooling/impl/AnyElement.h>
 #include <xmltooling/io/AbstractXMLObjectMarshaller.h>
 #include <xmltooling/io/AbstractXMLObjectUnmarshaller.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/XMLHelper.h>
 
 #include <ctime>
index a34993d..9e4f671 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 /**
  * Protocols20Impl.cpp
  * 
- * Implementation classes for SAML 2.0 Protocols schema
+ * Implementation classes for SAML 2.0 Protocols schema.
  */
 
 #include "internal.h"
 #include "exceptions.h"
 #include "saml2/core/Protocols.h"
+#include "signature/ContentReference.h"
 
 #include <xmltooling/AbstractComplexElement.h>
 #include <xmltooling/AbstractSimpleElement.h>
+#include <xmltooling/encryption/Encryption.h>
 #include <xmltooling/impl/AnyElement.h>
 #include <xmltooling/io/AbstractXMLObjectMarshaller.h>
 #include <xmltooling/io/AbstractXMLObjectUnmarshaller.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/XMLHelper.h>
 
 #include <ctime>
index 723da5d..6a757ce 100644 (file)
 
 #include <saml/saml2/metadata/ObservableMetadataProvider.h>
 
-#include <xmltooling/security/Credential.h>
-#include <xmltooling/security/CredentialCriteria.h>
-#include <xmltooling/util/Threads.h>
-
 namespace xmltooling {
+    class XMLTOOL_API Credential;
+    class XMLTOOL_API CredentialCriteria;
     class XMLTOOL_API KeyInfoResolver;
+    class XMLTOOL_API Mutex;
 };
 
 namespace opensaml {
@@ -38,6 +37,11 @@ namespace opensaml {
         
         class SAML_API MetadataFilter;
 
+#if defined (_MSC_VER)
+        #pragma warning( push )
+        #pragma warning( disable : 4251 )
+#endif
+
         /**
          * Base class for caching metadata providers.
          */
@@ -117,6 +121,11 @@ namespace opensaml {
             mutable credmap_t m_credentialMap;
             const credmap_t::mapped_type& resolveCredentials(const RoleDescriptor& role) const;
         };
+
+#if defined (_MSC_VER)
+        #pragma warning( pop )
+        #pragma warning( disable : 4251 )
+#endif
         
     };
 };
index 21c3d10..cd627bb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 #include <saml/saml2/metadata/AbstractMetadataProvider.h>
 
+namespace xmltooling {
+    class XMLTOOL_API RWLock;
+};
+
 namespace opensaml {
     namespace saml2md {
 
@@ -43,22 +47,10 @@ namespace opensaml {
 
             virtual ~DynamicMetadataProvider();
 
-            xmltooling::Lockable* lock() {
-                m_lock->rdlock();
-                return this;
-            }
-
-            void unlock() {
-                m_lock->unlock();
-            }
-
-            void init() {
-            }
-
-            const xmltooling::XMLObject* getMetadata() const {
-                throw MetadataException("getMetadata operation not implemented on this provider.");
-            }
-
+            void init();
+            xmltooling::Lockable* lock();
+            void unlock();
+            const xmltooling::XMLObject* getMetadata() const;
             std::pair<const EntityDescriptor*,const RoleDescriptor*> getEntityDescriptor(const Criteria& criteria) const;
 
         protected:
index 5d16df0..bbc097e 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * @file saml/saml2/metadata/Metadata.h
  *
- * XMLObjects representing the SAML 2.0 Metadata schema
+ * XMLObjects representing the SAML 2.0 Metadata schema.
  */
 
 #ifndef __saml2_metadata_h__
 #define DECL_SAML2MDOBJECTBUILDER(cname) \
     DECL_XMLOBJECTBUILDER(SAML_API,cname,samlconstants::SAML20MD_NS,samlconstants::SAML20MD_PREFIX)
 
+namespace xmlencryption {
+    class XMLTOOL_API EncryptionMethod;
+};
+
 namespace opensaml {
 
     /**
index 305f9da..84e8080 100644 (file)
  * Processes metadata after it's been unmarshalled.
  */
 
-#include <saml/base.h>
-#include <saml/exceptions.h>
 #include <saml/saml2/metadata/MetadataProvider.h>
 
-#include <xmltooling/XMLObject.h>
-
 #ifndef __saml2_metadatafilt_h__
 #define __saml2_metadatafilt_h__
 
index 1f9e2be..20bdc0f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 #include <saml/base.h>
 #include <xmltooling/exceptions.h>
-#include <xmltooling/XMLObject.h>
 #include <xmltooling/security/CredentialResolver.h>
 
+namespace xmltooling {
+    class XMLTOOL_API QName;
+    class XMLTOOL_API XMLObject;
+};
+
 namespace opensaml {
 
     class SAML_API SAMLArtifact;
index 2852bb6..441adb5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,6 +29,7 @@
 
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/XMLToolingConfig.h>
+#include <xmltooling/security/Credential.h>
 #include <xmltooling/security/KeyInfoResolver.h>
 #include <xmltooling/util/XMLHelper.h>
 
index 350eca6..91e4ad0 100644 (file)
@@ -73,6 +73,26 @@ DynamicMetadataProvider::~DynamicMetadataProvider()
     delete m_lock;
 }
 
+const XMLObject* DynamicMetadataProvider::getMetadata() const
+{
+    throw MetadataException("getMetadata operation not implemented on this provider.");
+}
+
+Lockable* DynamicMetadataProvider::lock()
+{
+    m_lock->rdlock();
+    return this;
+}
+
+void DynamicMetadataProvider::unlock()
+{
+    m_lock->unlock();
+}
+
+void DynamicMetadataProvider::init()
+{
+}
+
 pair<const EntityDescriptor*,const RoleDescriptor*> DynamicMetadataProvider::getEntityDescriptor(const Criteria& criteria) const
 {
     // Check cache while holding the read lock.
index 9ebad0f..89102c7 100644 (file)
 /**
  * MetadataImpl.cpp
  *
- * Implementation classes for SAML 2.0 Metadata schema
+ * Implementation classes for SAML 2.0 Metadata schema.
  */
 
 #include "internal.h"
 #include "exceptions.h"
 #include "saml2/metadata/Metadata.h"
+#include "signature/ContentReference.h"
 
 #include <xmltooling/AbstractComplexElement.h>
 #include <xmltooling/AbstractSimpleElement.h>
+#include <xmltooling/encryption/Encryption.h>
 #include <xmltooling/impl/AnyElement.h>
 #include <xmltooling/io/AbstractXMLObjectMarshaller.h>
 #include <xmltooling/io/AbstractXMLObjectUnmarshaller.h>
+#include <xmltooling/signature/KeyInfo.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/util/XMLHelper.h>
 
 #include <ctime>
index e0efc7a..c3015c5 100644 (file)
 /**
  * MetadataProvider.cpp
  *
- * Registration of factories for built-in providers
+ * Registration of factories for built-in providers.
  */
 
 #include "internal.h"
 #include "saml2/metadata/MetadataFilter.h"
 #include "saml2/metadata/MetadataProvider.h"
 
+#include <algorithm>
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/logging.h>
+#include <xmltooling/unicode.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/XMLHelper.h>
 
index 8a5f2f2..156b733 100644 (file)
 /**
  * MetadataSchemaValidators.cpp
  *
- * Schema-based validators for SAML 2.0 Metadata classes
+ * Schema-based validators for SAML 2.0 Metadata classes.
  */
 
 #include "internal.h"
 #include "exceptions.h"
 #include "saml2/metadata/Metadata.h"
 
+#include <xmltooling/encryption/Encryption.h>
 #include <xmltooling/validation/ValidatorSuite.h>
 
 using namespace opensaml::saml2md;
index ea8f0f4..ce80fe9 100644 (file)
@@ -31,6 +31,7 @@
 #include <xmltooling/security/CredentialCriteria.h>
 #include <xmltooling/security/CredentialResolver.h>
 #include <xmltooling/security/SignatureTrustEngine.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/signature/SignatureValidator.h>
 #include <xmltooling/util/NDC.h>
 
index 1a197e8..5c0550c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 /**
  * @file saml/signature/ContentReference.h
  * 
- * SAML-specific signature reference profile 
+ * SAML-specific signature reference profile.
  */
 
 #ifndef __saml_sigref_h__
 #define __saml_sigref_h__
 
 #include <saml/base.h>
-#include <xmltooling/XMLObject.h>
-#include <xmltooling/signature/ContentReference.h>
 
 #include <set>
 #include <string>
+#ifdef HAVE_GOOD_STL
+# include <xmltooling/unicode.h>
+#endif
+#include <xmltooling/signature/ContentReference.h>
+
+namespace xmltooling {
+    class XMLTOOL_API Namespace;
+    class XMLTOOL_API XMLObject;
+};
 
 namespace opensaml {
 
index 2e27dc9..56e6d17 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #define __saml_signable_h__
 
 #include <saml/base.h>
-#include <saml/signature/ContentReference.h>
 #include <xmltooling/XMLObject.h>
 
+namespace xmlsignature {
+    class XMLTOOL_API Signature;
+};
+
 namespace opensaml {
 
     /**
index a261dc2..e6f214c 100644 (file)
 /**
  * SignatureProfileValidator.cpp
  * 
- * SAML-specific signature verification 
+ * SAML-specific signature verification.
  */
  
 #include "internal.h"
 #include "exceptions.h"
+#include "signature/SignableObject.h"
 #include "signature/SignatureProfileValidator.h"
 
 #include <xmltooling/signature/Signature.h>
index 6e1a8f2..0a592e0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 /**
  * @file saml/signature/SignatureProfileValidator.h
  * 
- * SAML-specific signature profile validator 
+ * SAML-specific signature profile validator.
  */
 
 #ifndef __saml_sigval_h__
 #define __saml_sigval_h__
 
 #include <saml/base.h>
-#include <saml/signature/SignableObject.h>
 #include <xmltooling/validation/Validator.h>
 
+namespace xmlsignature {
+    class XMLTOOL_API Signature;
+};
+
 namespace opensaml {
 
     /**
index 618ae34..50f1778 100644 (file)
 /**
  * @file saml/util/SAMLConstants.h
  *
- * SAML XML namespace constants
+ * SAML XML namespace constants.
  */
 
 #ifndef __saml_xmlconstants_h__
 #define __saml_xmlconstants_h__
 
-#include <xmltooling/util/XMLConstants.h>
+#include <saml/base.h>
+#include <xercesc/util/XercesDefs.hpp>
 
 /**
  * SAML related constants.
index 95f5905..214a770 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- *  Copyright 2001-2007 Internet2\r
+ *  Copyright 2001-2009 Internet2\r
  * \r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
  * you may not use this file except in compliance with the License.\r
@@ -26,6 +26,7 @@
 #include <xmltooling/io/HTTPRequest.h>\r
 #include <xmltooling/io/HTTPResponse.h>\r
 #include <xmltooling/security/Credential.h>\r
+#include <xmltooling/security/CredentialCriteria.h>\r
 #include <xmltooling/security/TrustEngine.h>\r
 #include <xmltooling/util/URLEncoder.h>\r
 \r
index d7c3ea2..e3f3b31 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 #include <cxxtest/TestSuite.h>
 
-#include <fstream>
 #include <saml/exceptions.h>
 #include <saml/util/SAMLConstants.h>
+
+#include <fstream>
 #include <xmltooling/XMLObject.h>
 #include <xmltooling/XMLObjectBuilder.h>
 #include <xmltooling/XMLToolingConfig.h>
+#include <xmltooling/util/DateTime.h>
 #include <xmltooling/validation/Validator.h>
 
 using namespace xmltooling;
index 18cc7b8..1449fdb 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- *  Copyright 2001-2007 Internet2\r
+ *  Copyright 2001-2009 Internet2\r
  * \r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
  * you may not use this file except in compliance with the License.\r
@@ -20,6 +20,7 @@
 #include <saml/saml1/core/Assertions.h>\r
 #include <saml/saml1/core/Protocols.h>\r
 #include <saml/saml1/binding/SAMLArtifactType0001.h>\r
+#include <xmltooling/signature/Signature.h>\r
 #include <xmltooling/validation/ValidatorSuite.h>\r
 \r
 using namespace opensaml::saml1p;\r
index 5115704..f8b6eac 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include "internal.h"
 #include <saml/saml2/core/Assertions.h>
 #include <saml/util/SAMLConstants.h>
+#include <xmltooling/signature/KeyInfo.h>
 
 using namespace opensaml::saml2;
-using namespace xmlsignature;
+using xmlsignature::KeyInfoBuilder;
 
 //TODO need testing for ElementProxy and wildcard attributes/elements
 
index 44ddeb7..967c320 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 #include "internal.h"
 #include <saml/saml2/core/Protocols.h>
 #include <saml/util/SAMLConstants.h>
+#include <xmltooling/signature/Signature.h>
 
 using namespace opensaml::saml2p;
 using namespace opensaml::saml2;
index eaba637..67f4304 100644 (file)
@@ -22,6 +22,7 @@
 #include <xmltooling/security/CredentialCriteria.h>
 #include <xmltooling/security/CredentialResolver.h>
 #include <xmltooling/signature/KeyInfo.h>
+#include <xmltooling/signature/Signature.h>
 #include <xmltooling/signature/SignatureValidator.h>
 
 using namespace xmlsignature;