[infra-disco] 03/04: Adopt MDA 0.10.0 GA
Ian Young
ian at iay.org.uk
Fri Jul 4 09:54:45 UTC 2025
This is an automated email from the git hooks/post-receive script.
iay pushed a commit to branch main
in repository infra-disco.
View the commit online:
http://git.shibboleth.net/view/?p=infra-disco.git;a=commit;h=536d5bcb1719566226807d2859b2afa8f35fa097
commit 536d5bcb1719566226807d2859b2afa8f35fa097
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Fri Jul 4 09:33:17 2025 +0000
Adopt MDA 0.10.0 GA
---
aggregator-cli/lib/FastInfoset-1.2.16.jar | Bin 317195 -> 0 bytes
.../lib/aggregator-blacklists-0.10.0-SNAPSHOT.jar | Bin 13288979 -> 0 bytes
.../lib/aggregator-cli-0.10.0-SNAPSHOT.jar | Bin 8543 -> 0 bytes
.../lib/aggregator-pipeline-0.10.0-SNAPSHOT.jar | Bin 252342 -> 0 bytes
aggregator-cli/lib/bcprov-jdk15on-1.64.jar | Bin 4771726 -> 0 bytes
aggregator-cli/lib/checker-qual-2.10.0.jar | Bin 201216 -> 0 bytes
aggregator-cli/lib/commons-codec-1.14.jar | Bin 347669 -> 0 bytes
.../lib/error_prone_annotations-2.3.4.jar | Bin 13879 -> 0 bytes
aggregator-cli/lib/failureaccess-1.0.1.jar | Bin 4617 -> 0 bytes
aggregator-cli/lib/guava-28.2-jre.jar | Bin 2788302 -> 0 bytes
aggregator-cli/lib/httpclient-4.5.12.jar | Bin 778156 -> 0 bytes
aggregator-cli/lib/httpclient-cache-4.5.12.jar | Bin 164069 -> 0 bytes
aggregator-cli/lib/httpcore-4.4.13.jar | Bin 328593 -> 0 bytes
.../lib/istack-commons-runtime-3.0.8.jar | Bin 27156 -> 0 bytes
aggregator-cli/lib/j2objc-annotations-1.3.jar | Bin 8781 -> 0 bytes
aggregator-cli/lib/jakarta.json-1.1.6.jar | Bin 140425 -> 0 bytes
aggregator-cli/lib/jakarta.xml.bind-api-2.3.2.jar | Bin 115498 -> 0 bytes
aggregator-cli/lib/java-support-8.0.0.jar | Bin 282724 -> 0 bytes
aggregator-cli/lib/jaxb-runtime-2.3.2.jar | Bin 1013367 -> 0 bytes
aggregator-cli/lib/jcommander-1.78.jar | Bin 83782 -> 0 bytes
aggregator-cli/lib/logback-classic-1.2.3.jar | Bin 290339 -> 0 bytes
aggregator-cli/lib/logback-core-1.2.3.jar | Bin 471901 -> 0 bytes
aggregator-cli/lib/slf4j-api-1.7.30.jar | Bin 41472 -> 0 bytes
aggregator-cli/lib/spring-aop-5.2.4.RELEASE.jar | Bin 372798 -> 0 bytes
aggregator-cli/lib/spring-beans-5.2.4.RELEASE.jar | Bin 685134 -> 0 bytes
.../lib/spring-context-5.2.4.RELEASE.jar | Bin 1222418 -> 0 bytes
aggregator-cli/lib/spring-core-5.2.4.RELEASE.jar | Bin 1442526 -> 0 bytes
.../lib/spring-expression-5.2.4.RELEASE.jar | Bin 282183 -> 0 bytes
aggregator-cli/lib/spring-extensions-6.0.0.jar | Bin 106290 -> 0 bytes
aggregator-cli/lib/spring-jcl-5.2.4.RELEASE.jar | Bin 23961 -> 0 bytes
aggregator-cli/lib/stax-ex-1.8.1.jar | Bin 38099 -> 0 bytes
aggregator-cli/lib/stax2-api-3.1.4.jar | Bin 161867 -> 0 bytes
aggregator-cli/lib/txw2-2.3.2.jar | Bin 72080 -> 0 bytes
aggregator-cli/lib/woodstox-core-5.0.3.jar | Bin 512742 -> 0 bytes
aggregator-cli/lib/xmlsec-2.1.4.jar | Bin 1129826 -> 0 bytes
.../cpappend.bat | 34 +-
.../doc/LICENSE.txt | 404 +++++++++---------
mda-distribution-0.10.0/doc/wiki/README.md | 31 ++
.../doc/wiki/aggregate-and-republish.xml | 441 ++++++++++++++++++++
.../doc/wiki/aggregate-and-sign.xml | 86 ++++
mda-distribution-0.10.0/doc/wiki/discofeed.xml | 68 +++
.../doc/wiki/filter-aggregate.xml | 151 +++++++
mda-distribution-0.10.0/doc/wiki/make-keys.sh | 16 +
.../doc/wiki/path/to/input/aggregate.xml | 458 +++++++++++++++++++++
.../doc/wiki/path/to/input/entities/entity1.xml | 134 ++++++
.../doc/wiki/path/to/input/entities/entity2.xml | 98 +++++
.../doc/wiki/path/to/input/entities/entity3.xml | 91 ++++
.../doc/wiki/path/to/input/entities/entity4.xml | 91 ++++
.../doc/wiki/path/to/input/entities/entity5.xml | 96 +++++
.../doc/wiki/path/to/input/inc-md-cert-mdq.pem | 28 ++
.../doc/wiki/path/to/input/pkcs11-softhsm.cfg | 3 +
.../doc/wiki/path/to/input/ukfederation-2014.pem | 23 ++
.../doc/wiki/path/to/output/.gitkeep | 0
.../path/to/schema/saml-schema-assertion-2.0.xsd | 283 +++++++++++++
.../path/to/schema/saml-schema-metadata-2.0.xsd | 337 +++++++++++++++
.../doc/wiki/path/to/schema/xenc-schema.xsd | 171 ++++++++
.../doc/wiki/path/to/schema/xml.xsd | 80 ++++
.../wiki/path/to/schema/xmldsig-core-schema.xsd | 308 ++++++++++++++
mda-distribution-0.10.0/doc/wiki/per-entity.xml | 87 ++++
.../doc/wiki/run-all-examples.sh | 21 +
mda-distribution-0.10.0/doc/wiki/setup-softhsm.sh | 22 +
.../doc/wiki/sign-using-token.xml | 68 +++
.../lib/bcpkix-jdk18on-1.77.jar | Bin 0 -> 1113643 bytes
.../lib/bcprov-jdk18on-1.77.jar | Bin 0 -> 8372360 bytes
.../lib/bcutil-jdk18on-1.77.jar | Bin 0 -> 681002 bytes
.../lib/checker-qual-3.41.0.jar | Bin 0 -> 228963 bytes
.../lib/commons-codec-1.16.1.jar | Bin 0 -> 365463 bytes
.../lib/cryptacular-1.2.6.jar | Bin 162471 -> 162670 bytes
.../lib/error_prone_annotations-2.23.0.jar | Bin 0 -> 16829 bytes
.../lib/failureaccess-1.0.2.jar | Bin 0 -> 4740 bytes
mda-distribution-0.10.0/lib/guava-33.0.0-jre.jar | Bin 0 -> 3047503 bytes
mda-distribution-0.10.0/lib/httpclient5-5.3.1.jar | Bin 0 -> 861741 bytes
.../lib/httpclient5-cache-5.3.1.jar | Bin 0 -> 245953 bytes
mda-distribution-0.10.0/lib/httpcore5-5.2.4.jar | Bin 0 -> 855013 bytes
mda-distribution-0.10.0/lib/httpcore5-h2-5.2.4.jar | Bin 0 -> 237145 bytes
.../lib/j2objc-annotations-2.8.jar | Bin 0 -> 9301 bytes
mda-distribution-0.10.0/lib/jakarta.json-2.0.1.jar | Bin 0 -> 143846 bytes
mda-distribution-0.10.0/lib/jcommander-1.81.jar | Bin 0 -> 85816 bytes
.../lib/jsr305-3.0.2.jar | Bin
...e-9999.0-empty-to-avoid-conflict-with-guava.jar | Bin
.../lib/logback-classic-1.5.3.jar | Bin 0 -> 291838 bytes
mda-distribution-0.10.0/lib/logback-core-1.5.3.jar | Bin 0 -> 605794 bytes
mda-distribution-0.10.0/lib/mda-cli-0.10.0.jar | Bin 0 -> 10137 bytes
.../lib/mda-framework-0.10.0.jar | Bin 0 -> 308167 bytes
.../lib/mda-keylists-rsa-0.10.0.jar | Bin 0 -> 6646091 bytes
.../lib/mda-keylists-rsa-legacy-0.10.0.jar | Bin 0 -> 6645718 bytes
.../lib/micrometer-commons-1.12.5.jar | Bin 0 -> 47355 bytes
.../lib/micrometer-observation-1.12.5.jar | Bin 0 -> 71758 bytes
.../lib/shib-networking-9.1.2.jar | Bin 0 -> 77741 bytes
.../lib/shib-networking-spring-9.1.2.jar | Bin 0 -> 46622 bytes
.../lib/shib-security-9.1.2.jar | Bin 0 -> 53915 bytes
.../lib/shib-security-spring-9.1.2.jar | Bin 0 -> 13246 bytes
mda-distribution-0.10.0/lib/shib-spring-9.1.2.jar | Bin 0 -> 102295 bytes
mda-distribution-0.10.0/lib/shib-support-9.1.2.jar | Bin 0 -> 198028 bytes
mda-distribution-0.10.0/lib/slf4j-api-2.0.12.jar | Bin 0 -> 68115 bytes
mda-distribution-0.10.0/lib/spring-aop-6.1.6.jar | Bin 0 -> 415958 bytes
mda-distribution-0.10.0/lib/spring-beans-6.1.6.jar | Bin 0 -> 858415 bytes
.../lib/spring-context-6.1.6.jar | Bin 0 -> 1304581 bytes
mda-distribution-0.10.0/lib/spring-core-6.1.6.jar | Bin 0 -> 1880852 bytes
.../lib/spring-expression-6.1.6.jar | Bin 0 -> 302983 bytes
mda-distribution-0.10.0/lib/spring-jcl-6.1.6.jar | Bin 0 -> 24539 bytes
mda-distribution-0.10.0/lib/spring-web-6.1.6.jar | Bin 0 -> 1891285 bytes
.../lib/spring-webmvc-6.1.6.jar | Bin 0 -> 1046858 bytes
mda-distribution-0.10.0/lib/xmlsec-3.0.3.jar | Bin 0 -> 1141178 bytes
.../mda.bat | 98 ++---
{aggregator-cli => mda-distribution-0.10.0}/mda.sh | 2 +-
refresh | 2 +-
107 files changed, 3462 insertions(+), 270 deletions(-)
diff --git a/aggregator-cli/lib/FastInfoset-1.2.16.jar b/aggregator-cli/lib/FastInfoset-1.2.16.jar
deleted file mode 100644
index 6e91f1c..0000000
Binary files a/aggregator-cli/lib/FastInfoset-1.2.16.jar and /dev/null differ
diff --git a/aggregator-cli/lib/aggregator-blacklists-0.10.0-SNAPSHOT.jar b/aggregator-cli/lib/aggregator-blacklists-0.10.0-SNAPSHOT.jar
deleted file mode 100644
index 54e6abf..0000000
Binary files a/aggregator-cli/lib/aggregator-blacklists-0.10.0-SNAPSHOT.jar and /dev/null differ
diff --git a/aggregator-cli/lib/aggregator-cli-0.10.0-SNAPSHOT.jar b/aggregator-cli/lib/aggregator-cli-0.10.0-SNAPSHOT.jar
deleted file mode 100644
index 1346ec6..0000000
Binary files a/aggregator-cli/lib/aggregator-cli-0.10.0-SNAPSHOT.jar and /dev/null differ
diff --git a/aggregator-cli/lib/aggregator-pipeline-0.10.0-SNAPSHOT.jar b/aggregator-cli/lib/aggregator-pipeline-0.10.0-SNAPSHOT.jar
deleted file mode 100644
index 799ef86..0000000
Binary files a/aggregator-cli/lib/aggregator-pipeline-0.10.0-SNAPSHOT.jar and /dev/null differ
diff --git a/aggregator-cli/lib/bcprov-jdk15on-1.64.jar b/aggregator-cli/lib/bcprov-jdk15on-1.64.jar
deleted file mode 100644
index 0cb3c8b..0000000
Binary files a/aggregator-cli/lib/bcprov-jdk15on-1.64.jar and /dev/null differ
diff --git a/aggregator-cli/lib/checker-qual-2.10.0.jar b/aggregator-cli/lib/checker-qual-2.10.0.jar
deleted file mode 100644
index 9ea731e..0000000
Binary files a/aggregator-cli/lib/checker-qual-2.10.0.jar and /dev/null differ
diff --git a/aggregator-cli/lib/commons-codec-1.14.jar b/aggregator-cli/lib/commons-codec-1.14.jar
deleted file mode 100644
index 49ffa9b..0000000
Binary files a/aggregator-cli/lib/commons-codec-1.14.jar and /dev/null differ
diff --git a/aggregator-cli/lib/error_prone_annotations-2.3.4.jar b/aggregator-cli/lib/error_prone_annotations-2.3.4.jar
deleted file mode 100644
index c9bea2a..0000000
Binary files a/aggregator-cli/lib/error_prone_annotations-2.3.4.jar and /dev/null differ
diff --git a/aggregator-cli/lib/failureaccess-1.0.1.jar b/aggregator-cli/lib/failureaccess-1.0.1.jar
deleted file mode 100644
index 9b56dc7..0000000
Binary files a/aggregator-cli/lib/failureaccess-1.0.1.jar and /dev/null differ
diff --git a/aggregator-cli/lib/guava-28.2-jre.jar b/aggregator-cli/lib/guava-28.2-jre.jar
deleted file mode 100644
index 822b37b..0000000
Binary files a/aggregator-cli/lib/guava-28.2-jre.jar and /dev/null differ
diff --git a/aggregator-cli/lib/httpclient-4.5.12.jar b/aggregator-cli/lib/httpclient-4.5.12.jar
deleted file mode 100644
index 300cdf0..0000000
Binary files a/aggregator-cli/lib/httpclient-4.5.12.jar and /dev/null differ
diff --git a/aggregator-cli/lib/httpclient-cache-4.5.12.jar b/aggregator-cli/lib/httpclient-cache-4.5.12.jar
deleted file mode 100644
index 3edc233..0000000
Binary files a/aggregator-cli/lib/httpclient-cache-4.5.12.jar and /dev/null differ
diff --git a/aggregator-cli/lib/httpcore-4.4.13.jar b/aggregator-cli/lib/httpcore-4.4.13.jar
deleted file mode 100644
index 163dc43..0000000
Binary files a/aggregator-cli/lib/httpcore-4.4.13.jar and /dev/null differ
diff --git a/aggregator-cli/lib/istack-commons-runtime-3.0.8.jar b/aggregator-cli/lib/istack-commons-runtime-3.0.8.jar
deleted file mode 100644
index 8f37e95..0000000
Binary files a/aggregator-cli/lib/istack-commons-runtime-3.0.8.jar and /dev/null differ
diff --git a/aggregator-cli/lib/j2objc-annotations-1.3.jar b/aggregator-cli/lib/j2objc-annotations-1.3.jar
deleted file mode 100644
index a429c72..0000000
Binary files a/aggregator-cli/lib/j2objc-annotations-1.3.jar and /dev/null differ
diff --git a/aggregator-cli/lib/jakarta.json-1.1.6.jar b/aggregator-cli/lib/jakarta.json-1.1.6.jar
deleted file mode 100644
index 1f33076..0000000
Binary files a/aggregator-cli/lib/jakarta.json-1.1.6.jar and /dev/null differ
diff --git a/aggregator-cli/lib/jakarta.xml.bind-api-2.3.2.jar b/aggregator-cli/lib/jakarta.xml.bind-api-2.3.2.jar
deleted file mode 100644
index b16236d..0000000
Binary files a/aggregator-cli/lib/jakarta.xml.bind-api-2.3.2.jar and /dev/null differ
diff --git a/aggregator-cli/lib/java-support-8.0.0.jar b/aggregator-cli/lib/java-support-8.0.0.jar
deleted file mode 100644
index 22a73eb..0000000
Binary files a/aggregator-cli/lib/java-support-8.0.0.jar and /dev/null differ
diff --git a/aggregator-cli/lib/jaxb-runtime-2.3.2.jar b/aggregator-cli/lib/jaxb-runtime-2.3.2.jar
deleted file mode 100644
index 62f8719..0000000
Binary files a/aggregator-cli/lib/jaxb-runtime-2.3.2.jar and /dev/null differ
diff --git a/aggregator-cli/lib/jcommander-1.78.jar b/aggregator-cli/lib/jcommander-1.78.jar
deleted file mode 100644
index 1d58673..0000000
Binary files a/aggregator-cli/lib/jcommander-1.78.jar and /dev/null differ
diff --git a/aggregator-cli/lib/logback-classic-1.2.3.jar b/aggregator-cli/lib/logback-classic-1.2.3.jar
deleted file mode 100644
index bed00c0..0000000
Binary files a/aggregator-cli/lib/logback-classic-1.2.3.jar and /dev/null differ
diff --git a/aggregator-cli/lib/logback-core-1.2.3.jar b/aggregator-cli/lib/logback-core-1.2.3.jar
deleted file mode 100644
index 487b395..0000000
Binary files a/aggregator-cli/lib/logback-core-1.2.3.jar and /dev/null differ
diff --git a/aggregator-cli/lib/slf4j-api-1.7.30.jar b/aggregator-cli/lib/slf4j-api-1.7.30.jar
deleted file mode 100644
index 29ac26f..0000000
Binary files a/aggregator-cli/lib/slf4j-api-1.7.30.jar and /dev/null differ
diff --git a/aggregator-cli/lib/spring-aop-5.2.4.RELEASE.jar b/aggregator-cli/lib/spring-aop-5.2.4.RELEASE.jar
deleted file mode 100644
index e52a5b9..0000000
Binary files a/aggregator-cli/lib/spring-aop-5.2.4.RELEASE.jar and /dev/null differ
diff --git a/aggregator-cli/lib/spring-beans-5.2.4.RELEASE.jar b/aggregator-cli/lib/spring-beans-5.2.4.RELEASE.jar
deleted file mode 100644
index 8e1eb3b..0000000
Binary files a/aggregator-cli/lib/spring-beans-5.2.4.RELEASE.jar and /dev/null differ
diff --git a/aggregator-cli/lib/spring-context-5.2.4.RELEASE.jar b/aggregator-cli/lib/spring-context-5.2.4.RELEASE.jar
deleted file mode 100644
index 4220c2c..0000000
Binary files a/aggregator-cli/lib/spring-context-5.2.4.RELEASE.jar and /dev/null differ
diff --git a/aggregator-cli/lib/spring-core-5.2.4.RELEASE.jar b/aggregator-cli/lib/spring-core-5.2.4.RELEASE.jar
deleted file mode 100644
index 1ccf944..0000000
Binary files a/aggregator-cli/lib/spring-core-5.2.4.RELEASE.jar and /dev/null differ
diff --git a/aggregator-cli/lib/spring-expression-5.2.4.RELEASE.jar b/aggregator-cli/lib/spring-expression-5.2.4.RELEASE.jar
deleted file mode 100644
index 8987d27..0000000
Binary files a/aggregator-cli/lib/spring-expression-5.2.4.RELEASE.jar and /dev/null differ
diff --git a/aggregator-cli/lib/spring-extensions-6.0.0.jar b/aggregator-cli/lib/spring-extensions-6.0.0.jar
deleted file mode 100644
index 638a7b3..0000000
Binary files a/aggregator-cli/lib/spring-extensions-6.0.0.jar and /dev/null differ
diff --git a/aggregator-cli/lib/spring-jcl-5.2.4.RELEASE.jar b/aggregator-cli/lib/spring-jcl-5.2.4.RELEASE.jar
deleted file mode 100644
index 4b9f365..0000000
Binary files a/aggregator-cli/lib/spring-jcl-5.2.4.RELEASE.jar and /dev/null differ
diff --git a/aggregator-cli/lib/stax-ex-1.8.1.jar b/aggregator-cli/lib/stax-ex-1.8.1.jar
deleted file mode 100644
index a200db5..0000000
Binary files a/aggregator-cli/lib/stax-ex-1.8.1.jar and /dev/null differ
diff --git a/aggregator-cli/lib/stax2-api-3.1.4.jar b/aggregator-cli/lib/stax2-api-3.1.4.jar
deleted file mode 100644
index dded036..0000000
Binary files a/aggregator-cli/lib/stax2-api-3.1.4.jar and /dev/null differ
diff --git a/aggregator-cli/lib/txw2-2.3.2.jar b/aggregator-cli/lib/txw2-2.3.2.jar
deleted file mode 100644
index 0d5ac01..0000000
Binary files a/aggregator-cli/lib/txw2-2.3.2.jar and /dev/null differ
diff --git a/aggregator-cli/lib/woodstox-core-5.0.3.jar b/aggregator-cli/lib/woodstox-core-5.0.3.jar
deleted file mode 100644
index 1c26864..0000000
Binary files a/aggregator-cli/lib/woodstox-core-5.0.3.jar and /dev/null differ
diff --git a/aggregator-cli/lib/xmlsec-2.1.4.jar b/aggregator-cli/lib/xmlsec-2.1.4.jar
deleted file mode 100644
index 3851395..0000000
Binary files a/aggregator-cli/lib/xmlsec-2.1.4.jar and /dev/null differ
diff --git a/aggregator-cli/cpappend.bat b/mda-distribution-0.10.0/cpappend.bat
old mode 100755
new mode 100644
similarity index 96%
rename from aggregator-cli/cpappend.bat
rename to mda-distribution-0.10.0/cpappend.bat
index bafe139..5e7ef33
--- a/aggregator-cli/cpappend.bat
+++ b/mda-distribution-0.10.0/cpappend.bat
@@ -1,17 +1,17 @@
-rem ---------------------------------------------------------------------------
-rem Append to CLASSPATH
-rem ---------------------------------------------------------------------------
-
-rem Process the first argument
-if ""%1"" == """" goto end
-set LOCALCLASSPATH=%LOCALCLASSPATH%;%1
-shift
-
-rem Process the remaining arguments
-:setArgs
-if ""%1"" == """" goto doneSetArgs
-set LOCALCLASSPATH=%LOCALCLASSPATH% %1
-shift
-goto setArgs
-:doneSetArgs
-:end
+rem ---------------------------------------------------------------------------
+rem Append to CLASSPATH
+rem ---------------------------------------------------------------------------
+
+rem Process the first argument
+if ""%1"" == """" goto end
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%1
+shift
+
+rem Process the remaining arguments
+:setArgs
+if ""%1"" == """" goto doneSetArgs
+set LOCALCLASSPATH=%LOCALCLASSPATH% %1
+shift
+goto setArgs
+:doneSetArgs
+:end
diff --git a/aggregator-cli/doc/LICENSE.txt b/mda-distribution-0.10.0/doc/LICENSE.txt
similarity index 98%
rename from aggregator-cli/doc/LICENSE.txt
rename to mda-distribution-0.10.0/doc/LICENSE.txt
index d645695..75b5248 100644
--- a/aggregator-cli/doc/LICENSE.txt
+++ b/mda-distribution-0.10.0/doc/LICENSE.txt
@@ -1,202 +1,202 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
diff --git a/mda-distribution-0.10.0/doc/wiki/README.md b/mda-distribution-0.10.0/doc/wiki/README.md
new file mode 100644
index 0000000..8e63045
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/README.md
@@ -0,0 +1,31 @@
+# Wiki Configuration Examples
+
+This directory contains copies of the [configuration examples][wiki:examples]
+provided on the wiki. The intention is to make it easier to keep them up to date
+with new releases by having test data available alongside them.
+
+[wiki:examples]: https://wiki.shibboleth.net/confluence/display/MA1/Configuration+Examples
+
+- [Aggregate and Sign](https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1501823071/Aggregate+and+Sign)
+
+ `.../mda.sh aggregate-and-sign.xml main`
+
+- [Filter Aggregate](https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1501823090/Filter+Aggregate)
+
+ `.../mda.sh filter-aggregate.xml main`
+
+- [Aggregate and Republish](https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1501823098/Aggregate+and+Republish)
+
+ `.../mda.sh aggregate-and-republish.xml main`
+
+- [Sign Using PKCS#11 Token](https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1502216280/Sign+using+PKCS%2311+token)
+
+ `.../mda.sh sign-using-token.xml main`
+
+- [Per-entity Output](https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1502216310/Per-entity+Output)
+
+ `.../mda.sh per-entity.xml main`
+
+- [Generate Discovery Feed](https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1552614062/Generate+Discovery+Feed):
+
+ `.../mda.sh discofeed.xml main`
diff --git a/mda-distribution-0.10.0/doc/wiki/aggregate-and-republish.xml b/mda-distribution-0.10.0/doc/wiki/aggregate-and-republish.xml
new file mode 100644
index 0000000..b6a4f61
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/aggregate-and-republish.xml
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Note we define a default initialization method at this level just so we don't have to define it
+ on almost every single bean.
+-->
+<beans default-init-method="initialize"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
+
+ <!-- Import the Standard bean definition resource. -->
+ <!-- See https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/3162439683/Standard+bean+definition+resource -->
+ <import resource="classpath:net/shibboleth/metadata/beans.xml"/>
+
+ <!-- This bean MUST be called "conversionService" to work properly. -->
+ <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
+ <property name="converters">
+ <set>
+ <bean parent="mda.StringToDurationConverter"/>
+ <bean parent="mda.StringToIPRangeConverter"/>
+ <bean parent="mda.BooleanToPredicateConverter"/>
+ <bean parent="mda.StringBooleanToPredicateConverter"/>
+ <bean parent="mda.StringToResourceConverter"/>
+ </set>
+ </property>
+ </bean>
+
+ <!-- Define files/URLs we'll use in this config -->
+
+ <!-- Schema files for the schemas we wish to validate against. -->
+ <bean id="xml-schemaFile" class="java.lang.String">
+ <constructor-arg value="path/to/schema/xml.xsd"/>
+ </bean>
+ <bean id="xml-dsig-core-schemaFile" class="java.lang.String">
+ <constructor-arg value="path/to/schema/xmldsig-core-schema.xsd"/>
+ </bean>
+ <bean id="xenc-schemaFile" class="java.lang.String">
+ <constructor-arg value="path/to/schema/xenc-schema.xsd"/>
+ </bean>
+ <bean id="saml-assertion-schemaFile" class="java.lang.String">
+ <constructor-arg value="path/to/schema/saml-schema-assertion-2.0.xsd"/>
+ </bean>
+ <bean id="saml-md-schemaFile" class="java.lang.String">
+ <constructor-arg value="path/to/schema/saml-schema-metadata-2.0.xsd"/>
+ </bean>
+
+ <bean id="incommonMdUrl" class="java.lang.String">
+ <constructor-arg value="https://mdq.incommon.org/entities"/>
+ </bean>
+ <bean id="incommonCertFile" class="java.io.File">
+ <constructor-arg value="path/to/input/inc-md-cert-mdq.pem"/>
+ </bean>
+ <bean id="ukMdUrl" class="java.lang.String">
+ <constructor-arg value="http://metadata.ukfederation.org.uk/ukfederation-metadata.xml"/>
+ </bean>
+ <bean id="ukCertFile" class="java.io.File">
+ <constructor-arg value="path/to/input/ukfederation-2014.pem"/>
+ </bean>
+ <bean id="localMetadataDirectory" class="java.io.File">
+ <constructor-arg value="path/to/input/entities"/>
+ </bean>
+ <bean id="signingKeyFile" class="java.io.File">
+ <constructor-arg value="path/to/secrets/private-key.pem"/>
+ </bean>
+ <bean id="allEntitiesOutputFile" class="java.io.File">
+ <constructor-arg value="path/to/output/all-metadata.xml"/>
+ </bean>
+ <bean id="idpEntitiesOutputFile" class="java.io.File">
+ <constructor-arg value="path/to/output/idp-metadata.xml"/>
+ </bean>
+ <bean id="spEntitiesOutputFile" class="java.io.File">
+ <constructor-arg value="path/to/output/sp-metadata.xml"/>
+ </bean>
+
+ <!-- Define some beans we'll use throughout this config -->
+
+ <bean id="parserPool" parent="mda.BasicParserPool"/>
+ <bean id="httpClientBuilder" parent="mda.HttpClientBuilder"
+ p:connectionDisregardTLSCertificate="true"/>
+ <bean id="httpClient" factory-bean="httpClientBuilder" factory-method="buildClient"/>
+ <bean id="domSerializer" parent="mda.DOMElementSerializer"/>
+ <util:list id="errorStatusClass">
+ <value>#{T(net.shibboleth.metadata.ErrorStatus)}</value>
+ </util:list>
+
+ <bean id="logItemErrors" parent="mda.StatusMetadataLoggingStage"
+ p:id="logItemErrors" p:selectionRequirements-ref="errorStatusClass"/>
+
+ <bean id="removeErrorItems" parent="mda.ItemMetadataFilterStage"
+ p:id="removeErrorItems" p:selectionRequirements-ref="errorStatusClass"/>
+
+ <!--
+ Define a composite stage that is going to be used to check validUntil, disassemble the
+ EntitiesDescriptor, and schema validate each EntityDescriptor.
+ -->
+ <bean id="terminateOnInvalidSignature" parent="mda.ItemMetadataTerminationStage"
+ p:id="terminateOnInvalidSignature" p:selectionRequirements-ref="errorStatusClass"/>
+
+ <bean id="validateValidUntil" parent="mda.ValidateValidUntilStage"
+ p:id="validateValidUntil"/>
+
+ <bean id="disassembleEntitiesDescriptor" parent="mda.EntitiesDescriptorDisassemblerStage"
+ p:id="disassembleEntitiesDescriptor"/>
+
+ <bean id="validateSchema" parent="mda.XMLSchemaValidationStage"
+ p:id="validateSchema">
+ <property name="schemaResources">
+ <util:list>
+ <!--
+ List schemas in order so that schemas used by others
+ appear before them in the list.
+ -->
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg ref="xml-schemaFile"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg ref="xml-dsig-core-schemaFile"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg ref="xenc-schemaFile"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg ref="saml-assertion-schemaFile"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg ref="saml-md-schemaFile"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ </util:list>
+ </property>
+ </bean>
+
+ <bean id="commonProcessing" parent="mda.CompositeStage"
+ p:id="commonProcessing">
+ <property name="stages">
+ <util:list>
+ <ref bean="logItemErrors"/>
+ <ref bean="terminateOnInvalidSignature"/>
+ <ref bean="validateValidUntil"/>
+ <ref bean="disassembleEntitiesDescriptor"/>
+ <ref bean="validateSchema"/>
+ <!--
+ Extract entityID attributes as ItemIDs so that we can
+ remove duplicates when we merge.
+ -->
+ <bean id="extractIDs"
+ p:id="extractIDs"
+ parent="mda.EntityDescriptorItemIdPopulationStage"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!-- Define the pipeline for reading in and performing initial processing on InCommon metadata -->
+
+ <bean id="readIncommonMetadta" parent="mda.DOMResourceSourceStage"
+ p:id="readIncommonMetadta" p:parserPool-ref="parserPool">
+ <property name="DOMResource">
+ <bean parent="mda.HTTPResource">
+ <constructor-arg ref="httpClient"/>
+ <constructor-arg ref="incommonMdUrl"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="validateIncommonSignature" parent="mda.XMLSignatureValidationStage"
+ p:id="validateIncommonSignature">
+ <property name="verificationCertificate">
+ <bean parent="mda.X509CertificateFactoryBean">
+ <property name="resource">
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg ref="incommonCertFile"/>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="incommonInput" parent="mda.SimplePipeline"
+ p:id="incommonInput">
+ <property name="stages">
+ <util:list>
+ <ref bean="readIncommonMetadta"/>
+ <ref bean="validateIncommonSignature"/>
+ <ref bean="commonProcessing"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!-- Define the pipeline for reading in and performing initial processing on UK metadata -->
+
+ <bean id="readUkMetadata" parent="mda.DOMResourceSourceStage"
+ p:id="readUkMetadata" p:parserPool-ref="parserPool">
+ <property name="DOMResource">
+ <bean parent="mda.HTTPResource">
+ <constructor-arg ref="httpClient"/>
+ <constructor-arg ref="ukMdUrl"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="validateUkSignature" parent="mda.XMLSignatureValidationStage"
+ p:id="validateUkSignature">
+ <property name="verificationCertificate">
+ <bean parent="mda.X509CertificateFactoryBean">
+ <property name="resource">
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg ref="ukCertFile"/>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="ukInput" parent="mda.SimplePipeline"
+ p:id="ukInput">
+ <property name="stages">
+ <util:list>
+ <ref bean="readUkMetadata"/>
+ <ref bean="validateUkSignature"/>
+ <ref bean="commonProcessing"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!-- Define the pipeline for reading in local metadata and performing initial processing on it-->
+
+ <bean id="readLocalMetadata" parent="mda.DOMFilesystemSourceStage"
+ p:id="readLocalMetadata" p:parserPool-ref="parserPool" p:source-ref="localMetadataDirectory"/>
+
+ <bean id="localInput" parent="mda.SimplePipeline"
+ p:id="localInput">
+ <property name="stages">
+ <util:list>
+ <ref bean="readLocalMetadata"/>
+ <ref bean="commonProcessing"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!--
+ Pipeline that will produce an EntitiesDescriptor containing all entities, add a valid until
+ restriction to it, sign it, and write it out to a file.
+ -->
+
+ <bean id="buildEntitiesDecriptor" parent="mda.EntitiesDescriptorAssemblerStage"
+ p:id="buildEntitiesDecriptor"/>
+
+ <bean id="addValidUntil" parent="mda.SetValidUntilStage"
+ p:id="addValidUntil" p:validityDuration="P28D"/>
+
+ <bean id="generateContentReferenceId" parent="mda.GenerateIdStage">
+ <property name="id" value="generateContentReferenceId"/>
+ </bean>
+
+ <bean id="signEntitiesDescriptor" parent="mda.XMLSignatureSigningStage"
+ p:id="signEntitiesDescriptor">
+ <property name="privateKey">
+ <bean parent="mda.PrivateKeyFactoryBean">
+ <property name="resource">
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg ref="signingKeyFile"/>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="serializeAll" parent="mda.SerializationStage"
+ p:id="serializeAll" p:outputFile-ref="allEntitiesOutputFile" p:serializer-ref="domSerializer"/>
+
+ <bean id="outputAll" parent="mda.SimplePipeline"
+ p:id="outputAll" >
+ <property name="stages">
+ <util:list>
+ <ref bean="buildEntitiesDecriptor"/>
+ <ref bean="addValidUntil"/>
+ <ref bean="generateContentReferenceId"/>
+ <ref bean="signEntitiesDescriptor"/>
+ <ref bean="serializeAll"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!--
+ Pipeline that will produce an EntitiesDescriptor containing IdP entities, add a valid until
+ restriction to it, sign it, and write it out to a file.
+ -->
+
+ <bean id="retainIdPs" parent="mda.EntityRoleFilterStage"
+ p:id="retainIdPs" p:keepingRoles="true">
+ <property name="designatedRoles">
+ <util:list>
+ <bean class="javax.xml.namespace.QName">
+ <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata"/>
+ <constructor-arg value="IDPSSODescriptor"/>
+ </bean>
+ <bean class="javax.xml.namespace.QName">
+ <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata"/>
+ <constructor-arg value="AttributeAuthorityDescriptor"/>
+ </bean>
+ </util:list>
+ </property>
+ </bean>
+
+ <bean id="serializeIdPs" parent="mda.SerializationStage"
+ p:id="serializeIdPs" p:outputFile-ref="idpEntitiesOutputFile" p:serializer-ref="domSerializer"/>
+
+ <bean id="outputIdPs" parent="mda.SimplePipeline"
+ p:id="outputIdPs">
+ <property name="stages">
+ <util:list>
+ <ref bean="retainIdPs"/>
+ <ref bean="buildEntitiesDecriptor"/>
+ <ref bean="addValidUntil"/>
+ <ref bean="generateContentReferenceId"/>
+ <ref bean="signEntitiesDescriptor"/>
+ <ref bean="serializeIdPs"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!--
+ Pipeline that will produce an EntitiesDescriptor containing SP entities, add a valid until
+ restriction to it, sign it, and write it out to a file.
+ -->
+ <bean id="retainSPs" parent="mda.EntityRoleFilterStage"
+ p:id="retainSPs" p:keepingRoles="true">
+ <property name="designatedRoles">
+ <util:list>
+ <bean class="javax.xml.namespace.QName">
+ <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata"/>
+ <constructor-arg value="SPSSODescriptor"/>
+ </bean>
+ </util:list>
+ </property>
+ </bean>
+
+ <bean id="serializeSPs" parent="mda.SerializationStage"
+ p:id="serializeSPs" p:outputFile-ref="spEntitiesOutputFile" p:serializer-ref="domSerializer"/>
+
+ <bean id="outputSPs" parent="mda.SimplePipeline"
+ p:id="outputSPs">
+ <property name="stages">
+ <util:list>
+ <ref bean="retainSPs"/>
+ <ref bean="buildEntitiesDecriptor"/>
+ <ref bean="addValidUntil"/>
+ <ref bean="generateContentReferenceId"/>
+ <ref bean="signEntitiesDescriptor"/>
+ <ref bean="serializeSPs"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!--
+ Merge the entities collected from each input source using a merge
+ strategy which removes duplicates.
+ -->
+ <bean id="mergeInputs" parent="mda.PipelineMergeStage"
+ p:id="mergeInputs">
+ <property name="collectionMergeStrategy">
+ <bean parent="mda.DeduplicatingItemIdMergeStrategy"/>
+ </property>
+ <property name="mergedPipelines">
+ <util:list>
+ <!--
+ The order of pipelines in this list determines precedence
+ for the DeduplicatingItemIdMergeStrategy; sources earlier
+ in the list take precedence. Duplicate entities from later
+ sources are discarded.
+ -->
+ <ref bean="localInput"/>
+ <ref bean="ukInput"/>
+ <ref bean="incommonInput"/>
+ </util:list>
+ </property>
+ </bean>
+
+ <!--
+ A predicate for matching everything.
+ -->
+ <bean id="matchEverything" class="com.google.common.base.Predicates" factory-method="alwaysTrue"/>
+
+ <bean id="generateOutputs" parent="mda.PipelineDemultiplexerStage"
+ p:id="generateOutputs" p:waitingForPipelines="true">
+ <property name="pipelinesAndStrategies">
+ <util:list>
+ <bean parent="mda.PipelineAndStrategy">
+ <constructor-arg ref="outputAll"/>
+ <constructor-arg ref="matchEverything"/>
+ </bean>
+ <bean parent="mda.PipelineAndStrategy">
+ <constructor-arg ref="outputIdPs"/>
+ <constructor-arg ref="matchEverything"/>
+ </bean>
+ <bean parent="mda.PipelineAndStrategy">
+ <constructor-arg ref="outputSPs"/>
+ <constructor-arg ref="matchEverything"/>
+ </bean>
+ </util:list>
+ </property>
+ </bean>
+
+ <!--
+ Main pipeline that merges all our sources together, logs and removes any items with errors,
+ then outputs three files: one containing everything, one containing only IdPs, and one
+ containing only SPs. Each file has a validUntil restriction placed on it and is signed.
+ -->
+ <bean id="main" parent="mda.SimplePipeline"
+ p:id="main">
+ <property name="stages">
+ <util:list>
+ <ref bean="mergeInputs"/>
+ <ref bean="logItemErrors"/>
+ <ref bean="removeErrorItems"/>
+ <ref bean="generateOutputs"/>
+ </util:list>
+ </property>
+ </bean>
+
+</beans>
diff --git a/mda-distribution-0.10.0/doc/wiki/aggregate-and-sign.xml b/mda-distribution-0.10.0/doc/wiki/aggregate-and-sign.xml
new file mode 100644
index 0000000..feabcd8
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/aggregate-and-sign.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans default-init-method="initialize"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+
+ <!-- Import the Standard bean definition resource. -->
+ <!-- See https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/3162439683/Standard+bean+definition+resource -->
+ <import resource="classpath:net/shibboleth/metadata/beans.xml"/>
+
+ <!-- First, we define the stages for our pipeline. -->
+
+ <!-- Import each XML document in the given directory as a separate item for processing. -->
+ <bean id="source" parent="mda.DOMFilesystemSourceStage">
+ <property name="id" value="source"/>
+ <property name="parserPool">
+ <bean parent="mda.BasicParserPool"/>
+ </property>
+ <property name="source">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/input/entities"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="removeInvalidContactPerson" parent="mda.ContactPersonFilterStage">
+ <property name="id" value="removeInvalidContactPerson"/>
+ <property name="keepingTypes" value="false"/>
+ </bean>
+
+ <bean id="removeOrganization" parent="mda.RemoveOrganizationStage">
+ <property name="id" value="removeOrganization"/>
+ </bean>
+
+ <bean id="createEntitiesDescriptor" parent="mda.EntitiesDescriptorAssemblerStage">
+ <property name="id" value="createEntitiesDescriptor"/>
+ </bean>
+
+ <bean id="generateContentReferenceId" parent="mda.GenerateIdStage">
+ <property name="id" value="generateContentReferenceId" />
+ </bean>
+
+ <bean id="signMetadata" parent="mda.XMLSignatureSigningStage">
+ <property name="id" value="signMetadata"/>
+ <property name="privateKey">
+ <bean parent="mda.PrivateKeyFactoryBean">
+ <property name="resource">
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/secrets/private-key.pem"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="serialize" parent="mda.SerializationStage">
+ <property name="id" value="serializeIdPs"/>
+ <property name="outputFile">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/output/aggregate-signed.xml"/>
+ </bean>
+ </property>
+ <property name="serializer">
+ <bean id="domSerializer" parent="mda.DOMElementSerializer" />
+ </property>
+ </bean>
+
+ <!-- Next we define a pipeline with all the stages in it -->
+ <bean id="main" parent="mda.SimplePipeline">
+ <property name="id" value="main"/>
+ <property name="stages">
+ <list>
+ <ref bean="source"/>
+ <ref bean="removeInvalidContactPerson"/>
+ <ref bean="removeOrganization"/>
+ <ref bean="createEntitiesDescriptor"/>
+ <ref bean="generateContentReferenceId"/>
+ <ref bean="signMetadata"/>
+ <ref bean="serialize"/>
+ </list>
+ </property>
+ </bean>
+</beans>
diff --git a/mda-distribution-0.10.0/doc/wiki/discofeed.xml b/mda-distribution-0.10.0/doc/wiki/discofeed.xml
new file mode 100644
index 0000000..a64c86d
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/discofeed.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ default-lazy-init="true"
+ xmlns:c="http://www.springframework.org/schema/c"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+
+ <!-- Import the Standard bean definition resource. -->
+ <!-- See https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/3162439683/Standard+bean+definition+resource -->
+ <import resource="classpath:net/shibboleth/metadata/beans.xml"/>
+
+ <!-- Default Shibboleth component bean id property from Spring bean id -->
+ <bean parent="mda.IdentifiableBeanPostProcessor" lazy-init="false"/>
+
+ <bean id="main" parent="mda.SimplePipeline">
+ <property name="stages">
+ <list>
+
+ <!-- Acquire the metadata aggregate. -->
+ <bean id="source" parent="mda.DOMFilesystemSourceStage">
+ <property name="parserPool">
+ <bean parent="mda.BasicParserPool"/>
+ </property>
+ <property name="source">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/input/aggregate.xml"/>
+ </bean>
+ </property>
+ </bean>
+
+ <!-- Disassemble into individual entities. -->
+ <bean id="disassemble" parent="mda.EntitiesDescriptorDisassemblerStage"/>
+
+ <!-- Manipulate the entities being processed: for example, remove some. -->
+ <bean id="removeEntities" parent="mda.EntityFilterStage">
+ <property name="designatedEntities">
+ <list>
+ <value>https://idp.shibboleth.net/idp/shibboleth</value>
+ <value>https://example.com/idp</value>
+ </list>
+ </property>
+ </bean>
+
+ <!-- Serialise as a discovery feed into an output file. -->
+ <bean id="serialize" parent="mda.SerializationStage">
+ <property name="serializer">
+ <bean id="discogen" parent="mda.DiscoFeedCollectionSerializer"
+ p:prettyPrinting="true"
+ p:includingLegacyDisplayNames="true"/>
+ </property>
+ <property name="outputFile">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/output/discofeed.json"/>
+ </bean>
+ </property>
+ </bean>
+
+ </list>
+ </property>
+ </bean>
+
+</beans>
diff --git a/mda-distribution-0.10.0/doc/wiki/filter-aggregate.xml b/mda-distribution-0.10.0/doc/wiki/filter-aggregate.xml
new file mode 100644
index 0000000..24b9b62
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/filter-aggregate.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans default-init-method="initialize"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+
+ <bean id="httpClientBuilder" parent="mda.HttpClientBuilder"/>
+ <bean id="httpClient" factory-bean="httpClientBuilder" factory-method="buildClient"/>
+
+ <!-- Import the Standard bean definition resource. -->
+ <!-- See https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/3162439683/Standard+bean+definition+resource -->
+ <import resource="classpath:net/shibboleth/metadata/beans.xml"/>
+
+ <!-- First, we define the stages for our pipeline -->
+
+ <bean id="source" parent="mda.DOMResourceSourceStage">
+ <property name="id" value="source"/>
+ <property name="parserPool">
+ <bean parent="mda.BasicParserPool"/>
+ </property>
+ <property name="DOMResource">
+ <bean parent="mda.HTTPResource">
+ <constructor-arg ref="httpClient"/>
+ <constructor-arg
+ value="http://metadata.ukfederation.org.uk/ukfederation-metadata.xml"/>
+ </bean>
+ </property>
+ </bean>
+
+ <!--
+ Validate the signature on an aggregate. If the signature is not
+ present or cannot be validated, this will add an Error status to
+ the item. This will not by itself result in processing being
+ terminated.
+ -->
+ <bean id="validateSignature" parent="mda.XMLSignatureValidationStage">
+ <property name="id" value="validateSignature"/>
+ <property name="verificationCertificate">
+ <bean parent="mda.X509CertificateFactoryBean">
+ <property name="resource">
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/input/ukfederation-2014.pem"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <!--
+ errorAnnouncer
+
+ A pipeline stage that logs any errors present,
+ but takes no action on them.
+ -->
+ <bean id="errorAnnouncer" parent="mda.StatusMetadataLoggingStage">
+ <property name="id" value="errorAnnouncer"/>
+ <property name="selectionRequirements">
+ <list>
+ <value>#{T(net.shibboleth.metadata.ErrorStatus)}</value>
+ </list>
+ </property>
+ </bean>
+
+ <!--
+ errorTerminator
+
+ This pipeline stage causes CLI termination if any item is marked with an error status.
+ -->
+ <bean id="errorTerminator" parent="mda.ItemMetadataTerminationStage">
+ <property name="id" value="errorTerminator"/>
+ <property name="selectionRequirements">
+ <list>
+ <value>#{T(net.shibboleth.metadata.ErrorStatus)}</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean id="removeEntities" parent="mda.EntityFilterStage">
+ <property name="id" value="removeEntities"/>
+ <property name="designatedEntities">
+ <list>
+ <value>https://idp.example.com/idp/shibboleth</value>
+ <value>https://issues.example.com/shibboleth</value>
+ <value>https://wiki.example.com/shibboleth</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean id="removeRoles" parent="mda.EntityRoleFilterStage">
+ <property name="id" value="removeRoles"/>
+ <property name="keepingRoles" value="true"/>
+ <property name="designatedRoles">
+ <list>
+ <bean class="javax.xml.namespace.QName">
+ <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata"/>
+ <constructor-arg value="IDPSSODescriptor"/>
+ </bean>
+ <bean class="javax.xml.namespace.QName">
+ <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata"/>
+ <constructor-arg value="AttributeAuthorityDescriptor"/>
+ </bean>
+ <bean class="javax.xml.namespace.QName">
+ <constructor-arg value="urn:oasis:names:tc:SAML:2.0:metadata"/>
+ <constructor-arg value="SPSSODescriptor"/>
+ </bean>
+ </list>
+ </property>
+ </bean>
+
+ <bean id="removeInvalidContactPerson" parent="mda.ContactPersonFilterStage">
+ <property name="id" value="removeInvalidContactPerson"/>
+ <property name="keepingTypes" value="false"/>
+ </bean>
+
+ <bean id="removeOrganization" parent="mda.RemoveOrganizationStage">
+ <property name="id" value="removeOrganization"/>
+ </bean>
+
+ <bean id="serialize" parent="mda.SerializationStage">
+ <property name="id" value="serializeIdPs"/>
+ <property name="outputFile">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/output/output.xml"/>
+ </bean>
+ </property>
+ <property name="serializer">
+ <bean id="domSerializer" parent="mda.DOMElementSerializer"/>
+ </property>
+ </bean>
+
+ <!-- Next we define a pipeline with all the stages in it -->
+ <bean id="main" parent="mda.SimplePipeline">
+ <property name="id" value="main"/>
+ <property name="stages">
+ <list>
+ <ref bean="source"/>
+ <ref bean="validateSignature"/>
+ <ref bean="errorAnnouncer"/>
+ <ref bean="errorTerminator"/>
+ <ref bean="removeEntities"/>
+ <ref bean="removeRoles"/>
+ <ref bean="removeInvalidContactPerson"/>
+ <ref bean="removeOrganization"/>
+ <ref bean="serialize"/>
+ </list>
+ </property>
+ </bean>
+</beans>
diff --git a/mda-distribution-0.10.0/doc/wiki/make-keys.sh b/mda-distribution-0.10.0/doc/wiki/make-keys.sh
new file mode 100644
index 0000000..1728f91
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/make-keys.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/sh
+
+KEYFILE=path/to/secrets/private-key.pem
+CERTFILE=path/to/secrets/self-signed.pem
+P12FILE=path/to/secrets/self-signed.p12
+
+# Generate an RSA private key
+openssl genrsa >$KEYFILE
+chmod 600 $KEYFILE
+
+# Generate a self-signed certificate based on that key
+openssl req -key $KEYFILE -new -x509 -days 365 -out $CERTFILE \
+ -subj "/CN=test-self-signed"
+
+# Create PKCS12 keystore from private key and public certificate.
+openssl pkcs12 -export -name key10 -passout pass:password -in $CERTFILE -inkey $KEYFILE -out $P12FILE
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/aggregate.xml b/mda-distribution-0.10.0/doc/wiki/path/to/input/aggregate.xml
new file mode 100644
index 0000000..bdccc75
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/aggregate.xml
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<EntitiesDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 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:mdattr="urn:oasis:names:tc:SAML:metadata:attribute" xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi" xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui" xmlns:remd="http://refeds.org/metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:asse [...]
+
+<EntityDescriptor ID="uk000006" entityID="https://idp2.iay.org.uk/idp/shibboleth">
+ <!--
+ This is an "Ian A. Young" IdP for Ian A. Young.
+ -->
+ <Extensions>
+ <ukfedlabel:UKFederationMember/>
+ <shibmd:Scope regexp="false">iay.org.uk</shibmd:Scope>
+
+
+ <mdrpi:RegistrationInfo registrationAuthority="http://ukfederation.org.uk" registrationInstant="2007-03-30T16:36:00Z">
+ <mdrpi:RegistrationPolicy xml:lang="en">http://ukfederation.org.uk/doc/mdrps-20130902</mdrpi:RegistrationPolicy>
+ </mdrpi:RegistrationInfo>
+ <mdattr:EntityAttributes>
+ <saml:Attribute Name="http://macedir.org/entity-category-support" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
+ </saml:Attribute>
+ </mdattr:EntityAttributes>
+ </Extensions>
+ <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Ian A. Young</mdui:DisplayName>
+ <mdui:Description xml:lang="en">This is the identity provider for the iay.org.uk domain.</mdui:Description>
+ <mdui:Logo height="80" width="80">https://idp2.iay.org.uk/images/heads_80x80.jpg</mdui:Logo>
+ <mdui:Logo height="43" width="100">https://idp2.iay.org.uk/images/heads_100x43.jpg</mdui:Logo>
+ <mdui:Logo height="104" width="240">https://idp2.iay.org.uk/images/heads_240x104.jpg</mdui:Logo>
+ </mdui:UIInfo>
+ <mdui:DiscoHints>
+ <mdui:IPHint>217.155.173.104/29</mdui:IPHint>
+ <mdui:DomainHint>iay.org.uk</mdui:DomainHint>
+ <mdui:GeolocationHint>geo:55.9328,-3.17905</mdui:GeolocationHint>
+ </mdui:DiscoHints>
+ <shibmd:Scope regexp="false">iay.org.uk</shibmd:Scope>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML1/SOAP/ArtifactResolution" index="1"/>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="2"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://idp2.iay.org.uk/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp2.iay.org.uk/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://idp2.iay.org.uk/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp2.iay.org.uk/idp/profile/SAML2/Redirect/SSO"/>
+ </IDPSSODescriptor>
+ <AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <shibmd:Scope regexp="false">iay.org.uk</shibmd:Scope>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ </AttributeAuthorityDescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">Ian A. Young</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ian A. Young</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://iay.org.uk/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="support">
+ <GivenName>Ian</GivenName>
+ <SurName>Young</SurName>
+ <EmailAddress>mailto:ukfed+fc2ee77e at iay.org.uk</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="technical">
+ <GivenName>Ian</GivenName>
+ <SurName>Young</SurName>
+ <EmailAddress>mailto:ukfed+fc2ee77e at iay.org.uk</EmailAddress>
+ </ContactPerson>
+
+</EntityDescriptor>
+
+<EntityDescriptor ID="uk001480" entityID="https://idp.shibboleth.net/idp/shibboleth">
+ <!--
+ This is a shibboleth.net Shibboleth IdP for Jisc Services Limited.
+ -->
+ <Extensions>
+ <shibmd:Scope regexp="false">shibboleth.net</shibmd:Scope>
+ <ukfedlabel:UKFederationMember/>
+
+
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384"/>
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" 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 Services 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>
+
+<EntityDescriptor entityID="https://issues.shibboleth.net/shibboleth">
+ <Extensions>
+ <mdrpi:RegistrationInfo registrationAuthority="https://incommon.org"/>
+
+ </Extensions>
+ <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <idpdisc:DiscoveryResponse Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/Login" index="1"/>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Shibboleth.net Issue Tracking</mdui:DisplayName>
+ <mdui:Description xml:lang="en">The issue (improvements, bugs, tasks) tracking system used by the Shibboleth project. Unauthenticated users may view submitted issues. Authenticated users may submit new issues and comment on existing ones.</mdui:Description>
+ <mdui:PrivacyStatementURL xml:lang="en">https://wiki.shibboleth.net/confluence/display/DEV/Infrastructure+Information</mdui:PrivacyStatementURL>
+ <mdui:Logo height="82" width="64" xml:lang="en">https://shibboleth.net/images/gryphon_64x82.png</mdui:Logo>
+ </mdui:UIInfo>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+MIIDRjCCAi6gAwIBAgIJAPjZ6g1hwfvPMA0GCSqGSIb3DQEBBQUAMFExEzARBgoJ
+kiaJk/IsZAEZFgNuZXQxGjAYBgoJkiaJk/IsZAEZFgpzaGliYm9sZXRoMR4wHAYD
+VQQDExVpc3N1ZXMuc2hpYmJvbGV0aC5uZXQwHhcNMTMxMTI1MTQ1ODA4WhcNMzcw
+MzA0MTQ1ODA4WjBRMRMwEQYKCZImiZPyLGQBGRYDbmV0MRowGAYKCZImiZPyLGQB
+GRYKc2hpYmJvbGV0aDEeMBwGA1UEAxMVaXNzdWVzLnNoaWJib2xldGgubmV0MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtb4jIloWGvHJsSeq0PMjkWDA
++hseZ6/6/cEJKPk245f6hktC2k3z0AqJL8Kw9OudOjDx2op2jKm45TuIA46ti6VP
+f4stLIi7mO1B4A6jTWThCwU0DjMCwBXLhANdBQloyUYJU/usN8RBXlPnWZAV1dVb
+ygb7GUorkMON+wnFd7nhBePmQdJfbsqvKN8MykWfQ56chS+0lCYhyT7qql2bskJ4
+y621WSo47php2NyyU1KNcaFBLoao+UTH7KZ9qHOWJyGJGuWKwgZmCiVd0LQhWywP
+3M/JxZvpTr2Bs/J5d8BzZGSFUaHrVcPzIX+5c3sdK4d1wXUur1XE++bh9F9TjwID
+AQABoyEwHzAdBgNVHQ4EFgQUHtV8GWr64AIUV634b9YBlMEpHOwwDQYJKoZIhvcN
+AQEFBQADggEBAI0BSqXoyw5bUVQJKNCnxB3hUwHIOXeoS77jqgv2lesyTqz5U4NV
+v4Cdz7icwYzt+c6ZSZqem4pqmi3/6COZnf/+l29J/XwWkva32P6tfoO4af3qywF+
+TvuZiRMXdt1KE7GTlYOSxOsnxaRmXVc6MWfxPT6oTOt5z15aTdfEzK+wVfeUkIf1
+1soEmMHgjDaa/HQdGgXGq/fStDc0Mcm2W7y50+aNwqIMNiQQiwQYSUgpBatSfKy1
+umh6DHEyznDZAAHBtatzvQu1YAJHUg6AeimuhminaM5tyBCW6Y6YMywFYSP+VqPU
+PxCBrPWcCAwOw80Ey/FLVlAdW1FuwUmMejA=
+</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML/Artifact" index="1"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML/POST" index="2"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/Artifact" index="3"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/POST" index="4"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/POST-SimpleSign" index="5"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/ECP" index="6"/>
+ <AttributeConsumingService index="1">
+ <ServiceName xml:lang="en">Shibboleth.net Issue Tracking</ServiceName>
+ <ServiceDescription xml:lang="en">The issue (improvements, bugs, tasks) tracking system used by the Shibboleth project. Unauthenticated users may view submitted issues. Authenticated users may submit new issues and comment on existing ones.</ServiceDescription>
+ <RequestedAttribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonPrincipalName" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonTargetedID" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ </AttributeConsumingService>
+ </SPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">The Ohio State University</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ohio State University</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://www.osu.edu/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="support">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="technical">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="administrative">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="other" remd:contactType="http://refeds.org/metadata/contactType/security">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+</EntityDescriptor>
+
+<EntityDescriptor entityID="https://wiki.shibboleth.net/shibboleth">
+ <Extensions>
+ <mdrpi:RegistrationInfo registrationAuthority="https://incommon.org"/>
+
+ </Extensions>
+ <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <idpdisc:DiscoveryResponse Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/Login" index="1"/>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Shibboleth.net Wiki</mdui:DisplayName>
+ <mdui:Description xml:lang="en">The wiki hosting the documentation for Shibboleth. Unauthenticated user may view the existing documentation. Authenticated users may create new documentation pages and edit existing ones.</mdui:Description>
+ <mdui:PrivacyStatementURL xml:lang="en">https://wiki.shibboleth.net/confluence/display/DEV/Infrastructure+Information</mdui:PrivacyStatementURL>
+ <mdui:Logo height="82" width="64" xml:lang="en">https://shibboleth.net/images/gryphon_64x82.png</mdui:Logo>
+ </mdui:UIInfo>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+MIIDQjCCAiqgAwIBAgIJAMI1r/DZzTEJMA0GCSqGSIb3DQEBBQUAME8xEzARBgoJ
+kiaJk/IsZAEZFgNuZXQxGjAYBgoJkiaJk/IsZAEZFgpzaGliYm9sZXRoMRwwGgYD
+VQQDExN3aWtpLnNoaWJib2xldGgubmV0MB4XDTEzMTEyNTE0NTcyOFoXDTM3MDMw
+NDE0NTcyOFowTzETMBEGCgmSJomT8ixkARkWA25ldDEaMBgGCgmSJomT8ixkARkW
+CnNoaWJib2xldGgxHDAaBgNVBAMTE3dpa2kuc2hpYmJvbGV0aC5uZXQwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1viMiWhYa8cmxJ6rQ8yORYMD6Gx5n
+r/r9wQko+Tbjl/qGS0LaTfPQCokvwrD06506MPHainaMqbjlO4gDjq2LpU9/iy0s
+iLuY7UHgDqNNZOELBTQOMwLAFcuEA10FCWjJRglT+6w3xEFeU+dZkBXV1VvKBvsZ
+SiuQw437CcV3ueEF4+ZB0l9uyq8o3wzKRZ9DnpyFL7SUJiHJPuqqXZuyQnjLrbVZ
+KjjumGnY3LJTUo1xoUEuhqj5RMfspn2oc5YnIYka5YrCBmYKJV3QtCFbLA/cz8nF
+m+lOvYGz8nl3wHNkZIVRoetVw/Mhf7lzex0rh3XBdS6vVcT75uH0X1OPAgMBAAGj
+ITAfMB0GA1UdDgQWBBQe1XwZavrgAhRXrfhv1gGUwSkc7DANBgkqhkiG9w0BAQUF
+AAOCAQEADCGhWJ+oZ8ltcjJ7D66rMg1HOZT6GFCVeZ7MfhY/KFrvsnITNbTA+SgZ
+tCJt/BLlZXxpzmix19bD9bNwqEMo7WSqBy77X7SS97ZXti6y6vwAz8h78vzQopOd
+rnn8XXyWxtrtRRCK4RMpZGrVm3sfBPW68j9hiPHZqewE4nLavjCki/I9rCMe5dJE
+3+ZRf4Ip/9hYqM+a5Chcvbo2zJEOtw+EUQqNTZ51j33H/2qF9UoSpt74UFh+Jd5y
+L2GoFSt/gCld78j/7cU3ObGQEme+hVVZ8/uGa/cCYvFt75vNBdnlj4icZ6fgFe9R
+9h5hlBTGD3PULSFmCdkgxtwIyd855Q==
+</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML/Artifact" index="1"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML/POST" index="2"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/Artifact" index="3"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/ECP" index="4"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/POST" index="5"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/POST-SimpleSign" index="6"/>
+ <AttributeConsumingService index="1">
+ <ServiceName xml:lang="en">Shibboleth.net Wiki</ServiceName>
+ <ServiceDescription xml:lang="en">The wiki hosting the documentation for Shibboleth. Unauthenticated user may view the existing documentation. Authenticated users may create new documentation pages and edit existing ones.</ServiceDescription>
+ <RequestedAttribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonPrincipalName" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonTargetedID" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ </AttributeConsumingService>
+ </SPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">The Ohio State University</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ohio State University</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://www.osu.edu/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="technical">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="support">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="administrative">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="other" remd:contactType="http://refeds.org/metadata/contactType/security">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+</EntityDescriptor>
+
+<EntityDescriptor entityID="urn:mace:incommon:osu.edu">
+ <Extensions>
+ <mdrpi:RegistrationInfo registrationAuthority="https://incommon.org"/>
+ <mdattr:EntityAttributes>
+ <saml:Attribute Name="http://macedir.org/entity-category-support" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute Name="urn:oasis:names:tc:SAML:attribute:assurance-certification" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>https://refeds.org/sirtfi</saml:AttributeValue>
+ </saml:Attribute>
+
+ </mdattr:EntityAttributes>
+ </Extensions>
+ <IDPSSODescriptor errorURL="https://webauth.service.ohio-state.edu/support.html" protocolSupportEnumeration="urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <shibmd:Scope regexp="false">osu.edu</shibmd:Scope>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Ohio State University</mdui:DisplayName>
+ <mdui:InformationURL xml:lang="en">https://webauth.service.ohio-state.edu/info.html</mdui:InformationURL>
+ <mdui:PrivacyStatementURL xml:lang="en">https://it.osu.edu/sites/default/files/files-1477502394/disclosurepolicy.pdf</mdui:PrivacyStatementURL>
+ <mdui:Logo height="83" width="83" xml:lang="en">https://webauth.service.ohio-state.edu/images/osu_mdui.png</mdui:Logo>
+ </mdui:UIInfo>
+ </Extensions>
+ <KeyDescriptor use="signing">
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+MIIEUDCCArigAwIBAgIJAOTP/syONHwnMA0GCSqGSIb3DQEBCwUAMCkxJzAlBgNV
+BAMMHndlYmF1dGguc2VydmljZS5vaGlvLXN0YXRlLmVkdTAeFw0xOTAyMjIxOTE3
+MjJaFw00NjA3MTAxOTE3MjJaMCkxJzAlBgNVBAMMHndlYmF1dGguc2VydmljZS5v
+aGlvLXN0YXRlLmVkdTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAJle
+1C2GVPJkD+fXHBxGMZSLVFsEClJNFbI2Rp5feo8QNvV5CYIMU+bNqovkMZhONAbz
+3v63v/HNNr3tFk6ZBWk7fQ+VZE7NyHGrpKn1XiWbFMBokEsMXah3tDHq5clxCWHi
+dg8J9knnLt71h2j7SvSowxF8TwEmIGQmymNs1TeW2kVxKZWChk+UzRk3VNMPxoUz
+lEdAiqBSl/J3E+W1lCzYxs/r9cTTeQwAJkwg/gjewCTcNlXGtt9ykf4Csja2NFtO
+hh7bys3VzAI0nsHFTxQq3rxbbmeCmLdLGvu83h2iI0JrT6HYmo0ksXVqTXIOPS+D
+ZJmCYLL4PKJQb6fAcQhE4NgZMEEJdtToe8mt34/UPGutRz0ja/fgV6ec3AJq9wQF
+jQ20iPpDh/aVuLpSQYmEhuMQOXvBI8ILv/wKSPQ2A63FSr4adoNFlBCsOFoTW9uu
+y7Kxc8Qo+ZzEF39WWBnc3UcBSxk9Z9zsCFCAbfBt+SVrbNUA4L4lU/8x9DpRpwID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUML3nKeprDqx0PFVahBwqvu2s5y4w
+HwYDVR0jBBgwFoAUML3nKeprDqx0PFVahBwqvu2s5y4wDQYJKoZIhvcNAQELBQAD
+ggGBADSfQwfmSPjrXGdWsCqngcEmN1ksnSCcNm8qdp+YO0luZO0MiJsM0cIvka1e
+/9MeP7VMbeBTOpSlr1RzN6h0bFWo9vwLbIuYsLc63Vt4B1R7DzUMQwWc7LekfV/A
+8IIdendOvCLpxvrm3dj32VgA5jNlJ+M7fDzFh5vHouLEAD45F/qn50N1XyZYX86C
+zLpL7rCfmnMGrzAYBUgj9d6CU8xkf0XoiCsyMsuku0ZNFEzUCKZKHvle9HCYmwA1
+/FtgnWK+vhjsnEH4dApxP2D4YbP3mGSCpkOKBuNFbJd8sjhIpGCTCwxp8jNl61xE
+S6PJeJfcTU8ztIsGhug80jySah6mEmIyQ47YbG25Lt5AuTAZDTPf84QpD6qdMCvJ
+KjK/sp1LPbN0WZBdzQup9e8WhdMt2sN6UsxM7+WNlJLZ+Fn3xFHkiWvgXp53jiT2
+KITPlARNryCA9e7et3E05ZxtCocCh+y7eEGV7/+g4CjhqniVsshTcVzrKicYN6oC
+O8tLIQ==
+</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://webauth.service.ohio-state.edu/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/Redirect/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/SOAP/ECP"/>
+ </IDPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">The Ohio State University</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ohio State University</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://www.osu.edu/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="support">
+ <GivenName>IT Service Desk</GivenName>
+ <EmailAddress>mailto:8help at osu.edu</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="technical">
+ <GivenName>Authentication Support</GivenName>
+ <EmailAddress>mailto:webauth-admin at lists.service.ohio-state.edu</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="administrative">
+ <GivenName>Authentication Support</GivenName>
+ <EmailAddress>mailto:webauth-admin at lists.service.ohio-state.edu</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="other" remd:contactType="http://refeds.org/metadata/contactType/security">
+ <GivenName>Security Response Team</GivenName>
+ <EmailAddress>mailto:security at osu.edu</EmailAddress>
+ </ContactPerson>
+</EntityDescriptor>
+
+</EntitiesDescriptor>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity1.xml b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity1.xml
new file mode 100644
index 0000000..52d13ed
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity1.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<EntityDescriptor
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 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:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:ukfedlabel="http://ukfederation.org.uk/2006/11/label"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ ID="entity1" entityID="https://idp2.iay.org.uk/idp/shibboleth">
+ <!--
+ This is an "Ian A. Young" IdP for Ian A. Young.
+ -->
+ <Extensions>
+ <ukfedlabel:UKFederationMember/>
+ <shibmd:Scope regexp="false">iay.org.uk</shibmd:Scope>
+
+
+ <mdrpi:RegistrationInfo registrationAuthority="http://ukfederation.org.uk" registrationInstant="2007-03-30T16:36:00Z">
+ <mdrpi:RegistrationPolicy xml:lang="en">http://ukfederation.org.uk/doc/mdrps-20130902</mdrpi:RegistrationPolicy>
+ </mdrpi:RegistrationInfo>
+ <mdattr:EntityAttributes>
+ <saml:Attribute Name="http://macedir.org/entity-category-support" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
+ </saml:Attribute>
+ </mdattr:EntityAttributes>
+ </Extensions>
+ <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Ian A. Young</mdui:DisplayName>
+ <mdui:Description xml:lang="en">This is the identity provider for the iay.org.uk domain.</mdui:Description>
+ <mdui:Logo height="80" width="80">https://idp2.iay.org.uk/images/heads_80x80.jpg</mdui:Logo>
+ <mdui:Logo height="43" width="100">https://idp2.iay.org.uk/images/heads_100x43.jpg</mdui:Logo>
+ <mdui:Logo height="104" width="240">https://idp2.iay.org.uk/images/heads_240x104.jpg</mdui:Logo>
+ </mdui:UIInfo>
+ <mdui:DiscoHints>
+ <mdui:IPHint>217.155.173.104/29</mdui:IPHint>
+ <mdui:DomainHint>iay.org.uk</mdui:DomainHint>
+ <mdui:GeolocationHint>geo:55.9328,-3.17905</mdui:GeolocationHint>
+ </mdui:DiscoHints>
+ <shibmd:Scope regexp="false">iay.org.uk</shibmd:Scope>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML1/SOAP/ArtifactResolution" index="1"/>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="2"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://idp2.iay.org.uk/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp2.iay.org.uk/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://idp2.iay.org.uk/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp2.iay.org.uk/idp/profile/SAML2/Redirect/SSO"/>
+ </IDPSSODescriptor>
+ <AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <shibmd:Scope regexp="false">iay.org.uk</shibmd:Scope>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp2.iay.org.uk:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ </AttributeAuthorityDescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">Ian A. Young</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ian A. Young</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://iay.org.uk/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="support">
+ <GivenName>Ian</GivenName>
+ <SurName>Young</SurName>
+ <EmailAddress>mailto:ukfed+fc2ee77e at iay.org.uk</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="technical">
+ <GivenName>Ian</GivenName>
+ <SurName>Young</SurName>
+ <EmailAddress>mailto:ukfed+fc2ee77e at iay.org.uk</EmailAddress>
+ </ContactPerson>
+
+</EntityDescriptor>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity2.xml b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity2.xml
new file mode 100644
index 0000000..1a8db81
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity2.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<EntityDescriptor
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 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:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:ukfedlabel="http://ukfederation.org.uk/2006/11/label"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ ID="entity2" entityID="https://idp.shibboleth.net/idp/shibboleth">
+ <!--
+ This is a shibboleth.net Shibboleth IdP for Jisc Services Limited.
+ -->
+ <Extensions>
+ <shibmd:Scope regexp="false">shibboleth.net</shibmd:Scope>
+ <ukfedlabel:UKFederationMember/>
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384"/>
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+ <DigestMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
+ <SigningMethod xmlns="urn:oasis:names:tc:SAML:metadata:algsupport" 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 Services 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/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity3.xml b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity3.xml
new file mode 100644
index 0000000..32b9e5e
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity3.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<EntityDescriptor
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 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:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:ukfedlabel="http://ukfederation.org.uk/2006/11/label"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ ID="entity3" entityID="https://issues.shibboleth.net/shibboleth">
+ <Extensions>
+ <mdrpi:RegistrationInfo registrationAuthority="https://incommon.org"/>
+
+ </Extensions>
+ <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <idpdisc:DiscoveryResponse Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/Login" index="1"/>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Shibboleth.net Issue Tracking</mdui:DisplayName>
+ <mdui:Description xml:lang="en">The issue (improvements, bugs, tasks) tracking system used by the Shibboleth project. Unauthenticated users may view submitted issues. Authenticated users may submit new issues and comment on existing ones.</mdui:Description>
+ <mdui:PrivacyStatementURL xml:lang="en">https://wiki.shibboleth.net/confluence/display/DEV/Infrastructure+Information</mdui:PrivacyStatementURL>
+ <mdui:Logo height="82" width="64" xml:lang="en">https://shibboleth.net/images/gryphon_64x82.png</mdui:Logo>
+ </mdui:UIInfo>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDRjCCAi6gAwIBAgIJAPjZ6g1hwfvPMA0GCSqGSIb3DQEBBQUAMFExEzARBgoJ
+ kiaJk/IsZAEZFgNuZXQxGjAYBgoJkiaJk/IsZAEZFgpzaGliYm9sZXRoMR4wHAYD
+ VQQDExVpc3N1ZXMuc2hpYmJvbGV0aC5uZXQwHhcNMTMxMTI1MTQ1ODA4WhcNMzcw
+ MzA0MTQ1ODA4WjBRMRMwEQYKCZImiZPyLGQBGRYDbmV0MRowGAYKCZImiZPyLGQB
+ GRYKc2hpYmJvbGV0aDEeMBwGA1UEAxMVaXNzdWVzLnNoaWJib2xldGgubmV0MIIB
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtb4jIloWGvHJsSeq0PMjkWDA
+ +hseZ6/6/cEJKPk245f6hktC2k3z0AqJL8Kw9OudOjDx2op2jKm45TuIA46ti6VP
+ f4stLIi7mO1B4A6jTWThCwU0DjMCwBXLhANdBQloyUYJU/usN8RBXlPnWZAV1dVb
+ ygb7GUorkMON+wnFd7nhBePmQdJfbsqvKN8MykWfQ56chS+0lCYhyT7qql2bskJ4
+ y621WSo47php2NyyU1KNcaFBLoao+UTH7KZ9qHOWJyGJGuWKwgZmCiVd0LQhWywP
+ 3M/JxZvpTr2Bs/J5d8BzZGSFUaHrVcPzIX+5c3sdK4d1wXUur1XE++bh9F9TjwID
+ AQABoyEwHzAdBgNVHQ4EFgQUHtV8GWr64AIUV634b9YBlMEpHOwwDQYJKoZIhvcN
+ AQEFBQADggEBAI0BSqXoyw5bUVQJKNCnxB3hUwHIOXeoS77jqgv2lesyTqz5U4NV
+ v4Cdz7icwYzt+c6ZSZqem4pqmi3/6COZnf/+l29J/XwWkva32P6tfoO4af3qywF+
+ TvuZiRMXdt1KE7GTlYOSxOsnxaRmXVc6MWfxPT6oTOt5z15aTdfEzK+wVfeUkIf1
+ 1soEmMHgjDaa/HQdGgXGq/fStDc0Mcm2W7y50+aNwqIMNiQQiwQYSUgpBatSfKy1
+ umh6DHEyznDZAAHBtatzvQu1YAJHUg6AeimuhminaM5tyBCW6Y6YMywFYSP+VqPU
+ PxCBrPWcCAwOw80Ey/FLVlAdW1FuwUmMejA=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML/Artifact" index="1"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML/POST" index="2"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/Artifact" index="3"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/POST" index="4"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/POST-SimpleSign" index="5"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://issues.shibboleth.net/jira/Shibboleth.sso/SAML2/ECP" index="6"/>
+ <AttributeConsumingService index="1">
+ <ServiceName xml:lang="en">Shibboleth.net Issue Tracking</ServiceName>
+ <ServiceDescription xml:lang="en">The issue (improvements, bugs, tasks) tracking system used by the Shibboleth project. Unauthenticated users may view submitted issues. Authenticated users may submit new issues and comment on existing ones.</ServiceDescription>
+ <RequestedAttribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonPrincipalName" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonTargetedID" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ </AttributeConsumingService>
+ </SPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">The Ohio State University</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ohio State University</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://www.osu.edu/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="support">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="technical">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="administrative">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="other" remd:contactType="http://refeds.org/metadata/contactType/security">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ </EntityDescriptor>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity4.xml b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity4.xml
new file mode 100644
index 0000000..c11b1f0
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity4.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<EntityDescriptor
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 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:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:ukfedlabel="http://ukfederation.org.uk/2006/11/label"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ ID="entity4" entityID="https://wiki.shibboleth.net/shibboleth">
+ <Extensions>
+ <mdrpi:RegistrationInfo registrationAuthority="https://incommon.org"/>
+
+ </Extensions>
+ <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <idpdisc:DiscoveryResponse Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/Login" index="1"/>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Shibboleth.net Wiki</mdui:DisplayName>
+ <mdui:Description xml:lang="en">The wiki hosting the documentation for Shibboleth. Unauthenticated user may view the existing documentation. Authenticated users may create new documentation pages and edit existing ones.</mdui:Description>
+ <mdui:PrivacyStatementURL xml:lang="en">https://wiki.shibboleth.net/confluence/display/DEV/Infrastructure+Information</mdui:PrivacyStatementURL>
+ <mdui:Logo height="82" width="64" xml:lang="en">https://shibboleth.net/images/gryphon_64x82.png</mdui:Logo>
+ </mdui:UIInfo>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDQjCCAiqgAwIBAgIJAMI1r/DZzTEJMA0GCSqGSIb3DQEBBQUAME8xEzARBgoJ
+ kiaJk/IsZAEZFgNuZXQxGjAYBgoJkiaJk/IsZAEZFgpzaGliYm9sZXRoMRwwGgYD
+ VQQDExN3aWtpLnNoaWJib2xldGgubmV0MB4XDTEzMTEyNTE0NTcyOFoXDTM3MDMw
+ NDE0NTcyOFowTzETMBEGCgmSJomT8ixkARkWA25ldDEaMBgGCgmSJomT8ixkARkW
+ CnNoaWJib2xldGgxHDAaBgNVBAMTE3dpa2kuc2hpYmJvbGV0aC5uZXQwggEiMA0G
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1viMiWhYa8cmxJ6rQ8yORYMD6Gx5n
+ r/r9wQko+Tbjl/qGS0LaTfPQCokvwrD06506MPHainaMqbjlO4gDjq2LpU9/iy0s
+ iLuY7UHgDqNNZOELBTQOMwLAFcuEA10FCWjJRglT+6w3xEFeU+dZkBXV1VvKBvsZ
+ SiuQw437CcV3ueEF4+ZB0l9uyq8o3wzKRZ9DnpyFL7SUJiHJPuqqXZuyQnjLrbVZ
+ KjjumGnY3LJTUo1xoUEuhqj5RMfspn2oc5YnIYka5YrCBmYKJV3QtCFbLA/cz8nF
+ m+lOvYGz8nl3wHNkZIVRoetVw/Mhf7lzex0rh3XBdS6vVcT75uH0X1OPAgMBAAGj
+ ITAfMB0GA1UdDgQWBBQe1XwZavrgAhRXrfhv1gGUwSkc7DANBgkqhkiG9w0BAQUF
+ AAOCAQEADCGhWJ+oZ8ltcjJ7D66rMg1HOZT6GFCVeZ7MfhY/KFrvsnITNbTA+SgZ
+ tCJt/BLlZXxpzmix19bD9bNwqEMo7WSqBy77X7SS97ZXti6y6vwAz8h78vzQopOd
+ rnn8XXyWxtrtRRCK4RMpZGrVm3sfBPW68j9hiPHZqewE4nLavjCki/I9rCMe5dJE
+ 3+ZRf4Ip/9hYqM+a5Chcvbo2zJEOtw+EUQqNTZ51j33H/2qF9UoSpt74UFh+Jd5y
+ L2GoFSt/gCld78j/7cU3ObGQEme+hVVZ8/uGa/cCYvFt75vNBdnlj4icZ6fgFe9R
+ 9h5hlBTGD3PULSFmCdkgxtwIyd855Q==
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML/Artifact" index="1"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML/POST" index="2"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/Artifact" index="3"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/ECP" index="4"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/POST" index="5"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://wiki.shibboleth.net/confluence/Shibboleth.sso/SAML2/POST-SimpleSign" index="6"/>
+ <AttributeConsumingService index="1">
+ <ServiceName xml:lang="en">Shibboleth.net Wiki</ServiceName>
+ <ServiceDescription xml:lang="en">The wiki hosting the documentation for Shibboleth. Unauthenticated user may view the existing documentation. Authenticated users may create new documentation pages and edit existing ones.</ServiceDescription>
+ <RequestedAttribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonPrincipalName" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="eduPersonTargetedID" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ <RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>
+ </AttributeConsumingService>
+ </SPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">The Ohio State University</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ohio State University</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://www.osu.edu/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="technical">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="support">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="administrative">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="other" remd:contactType="http://refeds.org/metadata/contactType/security">
+ <GivenName>Shibboleth Contact</GivenName>
+ <EmailAddress>mailto:contact at shibboleth.net</EmailAddress>
+ </ContactPerson>
+ </EntityDescriptor>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity5.xml b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity5.xml
new file mode 100644
index 0000000..3a40b1e
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/entities/entity5.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<EntityDescriptor
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 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:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:ukfedlabel="http://ukfederation.org.uk/2006/11/label"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ ID="entity5" entityID="urn:mace:incommon:osu.edu">
+ <Extensions>
+ <mdrpi:RegistrationInfo registrationAuthority="https://incommon.org"/>
+ <mdattr:EntityAttributes>
+ <saml:Attribute Name="http://macedir.org/entity-category-support" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute Name="urn:oasis:names:tc:SAML:attribute:assurance-certification" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>https://refeds.org/sirtfi</saml:AttributeValue>
+ </saml:Attribute>
+
+ </mdattr:EntityAttributes>
+ </Extensions>
+ <IDPSSODescriptor errorURL="https://webauth.service.ohio-state.edu/support.html" protocolSupportEnumeration="urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <shibmd:Scope regexp="false">osu.edu</shibmd:Scope>
+ <mdui:UIInfo>
+ <mdui:DisplayName xml:lang="en">Ohio State University</mdui:DisplayName>
+ <mdui:InformationURL xml:lang="en">https://webauth.service.ohio-state.edu/info.html</mdui:InformationURL>
+ <mdui:PrivacyStatementURL xml:lang="en">https://it.osu.edu/sites/default/files/files-1477502394/disclosurepolicy.pdf</mdui:PrivacyStatementURL>
+ <mdui:Logo height="83" width="83" xml:lang="en">https://webauth.service.ohio-state.edu/images/osu_mdui.png</mdui:Logo>
+ </mdui:UIInfo>
+ </Extensions>
+ <KeyDescriptor use="signing">
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+MIIEUDCCArigAwIBAgIJAOTP/syONHwnMA0GCSqGSIb3DQEBCwUAMCkxJzAlBgNV
+BAMMHndlYmF1dGguc2VydmljZS5vaGlvLXN0YXRlLmVkdTAeFw0xOTAyMjIxOTE3
+MjJaFw00NjA3MTAxOTE3MjJaMCkxJzAlBgNVBAMMHndlYmF1dGguc2VydmljZS5v
+aGlvLXN0YXRlLmVkdTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAJle
+1C2GVPJkD+fXHBxGMZSLVFsEClJNFbI2Rp5feo8QNvV5CYIMU+bNqovkMZhONAbz
+3v63v/HNNr3tFk6ZBWk7fQ+VZE7NyHGrpKn1XiWbFMBokEsMXah3tDHq5clxCWHi
+dg8J9knnLt71h2j7SvSowxF8TwEmIGQmymNs1TeW2kVxKZWChk+UzRk3VNMPxoUz
+lEdAiqBSl/J3E+W1lCzYxs/r9cTTeQwAJkwg/gjewCTcNlXGtt9ykf4Csja2NFtO
+hh7bys3VzAI0nsHFTxQq3rxbbmeCmLdLGvu83h2iI0JrT6HYmo0ksXVqTXIOPS+D
+ZJmCYLL4PKJQb6fAcQhE4NgZMEEJdtToe8mt34/UPGutRz0ja/fgV6ec3AJq9wQF
+jQ20iPpDh/aVuLpSQYmEhuMQOXvBI8ILv/wKSPQ2A63FSr4adoNFlBCsOFoTW9uu
+y7Kxc8Qo+ZzEF39WWBnc3UcBSxk9Z9zsCFCAbfBt+SVrbNUA4L4lU/8x9DpRpwID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUML3nKeprDqx0PFVahBwqvu2s5y4w
+HwYDVR0jBBgwFoAUML3nKeprDqx0PFVahBwqvu2s5y4wDQYJKoZIhvcNAQELBQAD
+ggGBADSfQwfmSPjrXGdWsCqngcEmN1ksnSCcNm8qdp+YO0luZO0MiJsM0cIvka1e
+/9MeP7VMbeBTOpSlr1RzN6h0bFWo9vwLbIuYsLc63Vt4B1R7DzUMQwWc7LekfV/A
+8IIdendOvCLpxvrm3dj32VgA5jNlJ+M7fDzFh5vHouLEAD45F/qn50N1XyZYX86C
+zLpL7rCfmnMGrzAYBUgj9d6CU8xkf0XoiCsyMsuku0ZNFEzUCKZKHvle9HCYmwA1
+/FtgnWK+vhjsnEH4dApxP2D4YbP3mGSCpkOKBuNFbJd8sjhIpGCTCwxp8jNl61xE
+S6PJeJfcTU8ztIsGhug80jySah6mEmIyQ47YbG25Lt5AuTAZDTPf84QpD6qdMCvJ
+KjK/sp1LPbN0WZBdzQup9e8WhdMt2sN6UsxM7+WNlJLZ+Fn3xFHkiWvgXp53jiT2
+KITPlARNryCA9e7et3E05ZxtCocCh+y7eEGV7/+g4CjhqniVsshTcVzrKicYN6oC
+O8tLIQ==
+</ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://webauth.service.ohio-state.edu/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/Redirect/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://webauth.service.ohio-state.edu/idp/profile/SAML2/SOAP/ECP"/>
+ </IDPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">The Ohio State University</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">Ohio State University</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://www.osu.edu/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="support">
+ <GivenName>IT Service Desk</GivenName>
+ <EmailAddress>mailto:8help at osu.edu</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="technical">
+ <GivenName>Authentication Support</GivenName>
+ <EmailAddress>mailto:webauth-admin at lists.service.ohio-state.edu</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="administrative">
+ <GivenName>Authentication Support</GivenName>
+ <EmailAddress>mailto:webauth-admin at lists.service.ohio-state.edu</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="other" remd:contactType="http://refeds.org/metadata/contactType/security">
+ <GivenName>Security Response Team</GivenName>
+ <EmailAddress>mailto:security at osu.edu</EmailAddress>
+ </ContactPerson>
+</EntityDescriptor>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/inc-md-cert-mdq.pem b/mda-distribution-0.10.0/doc/wiki/path/to/input/inc-md-cert-mdq.pem
new file mode 100644
index 0000000..de0db58
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/inc-md-cert-mdq.pem
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE-----
+MIIEvjCCAyagAwIBAgIJANpi9/mkU/zoMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIDAJNSTESMBAGA1UEBwwJQW5uIEFyYm9yMRYwFAYDVQQK
+DA1JbnRlcm5ldDIuZWR1MREwDwYDVQQLDAhJbkNvbW1vbjEZMBcGA1UEAwwQbWRx
+LmluY29tbW9uLm9yZzAeFw0xODExMTMxNDI5NDNaFw0zODExMTAxNDI5NDNaMHQx
+CzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNSTESMBAGA1UEBwwJQW5uIEFyYm9yMRYw
+FAYDVQQKDA1JbnRlcm5ldDIuZWR1MREwDwYDVQQLDAhJbkNvbW1vbjEZMBcGA1UE
+AwwQbWRxLmluY29tbW9uLm9yZzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC
+ggGBAJ0+fUTzYVSP6ZOutOEhNdp3WPCPOYqnB4sQFz7IeGbFL1o0lZjx5Izm4Yho
+4wNDd0h486iSkHxNf5dDhCqgz7ZRSmbusOl98SYn70PrUQj/Nzs3w47dPg9Tpb/x
+y44PvNLS/rE56hPgCz/fbHoTTiJt5eosysa1ZebQ3LEyW3jGm+LGtLbdIfkynKVQ
+vpp1FVeCamzdeB3ZRICAvqTYQKE1JQDGlWrEsSW0VVEGNjfbzMzr/g4l8JRdMabQ
+Jig8tj3UIXnu7A2CKSMJSy3WZ3HX+85oHEbL+EV4PtpQz765c69tUIdNTJax9jQ2
+1c3wL0K27HE8jSRlrXImD50R3dXQBKH+iiynBWxRPdyMBa1YfK+zZEWPbLHshSTc
+9hkylQv3awmPR/+Plz5AtTpe5yss/Ifyp01wz1jt42R+6jDE+WbUjp5XDBCAjGEE
+0FPaYtxjZLkmNl367bdTN12OIn/ixPNH+Z/S/4skdBB9Gc4lb2fEBywJQY0OYNOd
+WOxmPwIDAQABo1MwUTAdBgNVHQ4EFgQUMHZuwMaYSJM5mlu3Wc4Ts5xq4/swHwYD
+VR0jBBgwFoAUMHZuwMaYSJM5mlu3Wc4Ts5xq4/swDwYDVR0TAQH/BAUwAwEB/zAN
+BgkqhkiG9w0BAQsFAAOCAYEAMr4wfLrSoPTzfpXtvL+2vrKBJNnRfuJpOYTbPKUc
+DOP2QfzRlczi7suYJvd5rLiRonq8rjyPUyM8gvTfbTps+JhJ6S9mS6dTBxOV1qPZ
+3Ab+XKmq8LUtguGRabKgJgmJH0+inR/wVoal7EVHcWXfij9AT8DZOXW88shc6grh
+jUaFZBu/2+q8c8ee0e4ip8B+CVEnCwDKI0d+nTcSmPvAE34CNa33F+QGpXawv5yv
+VvIpSaLAeFQhc/jKcnNHfy+Zi7JmSnKZiMvQCbWANQmDjHg7pGmBW9nyQcm6P2/B
+0AVcEj1YTpAR8Mbh1pUdIhoB+chaNnFEIZsXeRsdbbAFpxodInlJ7WekfuvSQ6sU
+EXpoyBGOeuuTmR1va8k3QeL8Wc4yNu/g5LwjmtvPrh2jBF8xujc4J6VzP8K2BjA4
+xk4LnXgjHOT93dBAJhVYJkykDHwyvHUvsBHoP6lfjrt5P8zunK2mdP/AZKik+Rdt
+1GGlErV2AyWShTOaDLW6NxdP
+-----END CERTIFICATE-----
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/pkcs11-softhsm.cfg b/mda-distribution-0.10.0/doc/wiki/path/to/input/pkcs11-softhsm.cfg
new file mode 100644
index 0000000..ab87bb7
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/pkcs11-softhsm.cfg
@@ -0,0 +1,3 @@
+# PKCS#11 provider configuration for softhsm running under Amazon Linux
+name = softhsm
+library = /usr/lib64/pkcs11/libsofthsm2.so
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/input/ukfederation-2014.pem b/mda-distribution-0.10.0/doc/wiki/path/to/input/ukfederation-2014.pem
new file mode 100644
index 0000000..f75ac42
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/input/ukfederation-2014.pem
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIIDxzCCAq+gAwIBAgIJAOwuoY8tsvYGMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNV
+BAYTAkdCMUMwQQYDVQQKDDpVSyBBY2Nlc3MgTWFuYWdlbWVudCBGZWRlcmF0aW9u
+IGZvciBFZHVjYXRpb24gYW5kIFJlc2VhcmNoMSYwJAYDVQQDDB1VSyBGZWRlcmF0
+aW9uIE1ldGFkYXRhIFNpZ25lcjAeFw0xNDA4MjYxMjIwMjhaFw0zNzEyMzExMjIw
+MjhaMHoxCzAJBgNVBAYTAkdCMUMwQQYDVQQKDDpVSyBBY2Nlc3MgTWFuYWdlbWVu
+dCBGZWRlcmF0aW9uIGZvciBFZHVjYXRpb24gYW5kIFJlc2VhcmNoMSYwJAYDVQQD
+DB1VSyBGZWRlcmF0aW9uIE1ldGFkYXRhIFNpZ25lcjCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAOqtfMvCmBuQudC4/jZFPYkHDNHFyp1FA3KJihIUXppF
+vrecrO2wG5CpyqB1mZ+MlKf4jKcTMGBIXC2klD+FyrEdJMBhO6vRmJnNphg3uNZM
+ks0NqIaZmtgc7e8435nMhqLHV95UK2oCLcT4gZrTaXa2vt9kukTOijB0KqDIfEG5
+369EHXPItApAEeMlHebbWndl5n2I16nya/LeaoiU9qJ6sVz4xd1UtUesewrmYVKg
+PA2JYEpovmnr13sTnGssai5Db/FkrE2NJ4Q4drbPYcwincUo/UXzrtuPclr+l3JE
+gjtvDzPrBxxvK0S/gARrbKz5tk4LDLkYsj4PKlwVS+UCAwEAAaNQME4wHQYDVR0O
+BBYEFE9HhBuMxrzBYOj1Kj/3gtzAgtUEMB8GA1UdIwQYMBaAFE9HhBuMxrzBYOj1
+Kj/3gtzAgtUEMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBALJkjT3K
+QL3w3xNfVe27nEOY44K2AZiu4IhqmRSslcyMnhnxrovEhLL3ieKFXQ+QFIkzVdR5
+BcO3NrSIz5V6b+mHtr5IjqLFHzOzzjw/3i8LddGOsApJiav+JrU1CGJXCU4cwYDN
+hAyfuAlrrEEL2lWMU1L1ZTzHsG1yWTfukfuvTftY5BwZ/dgANgIWwLDhvL6CAQZ3
+g5XteFPyChU0Z7b3XAHdVNHDa2VzWSsSUDtSQZ9DyTuqSjZH1q2/qtdMcrbJpdMB
+cndOf1pZRLzb6a+akIYi//1qO48HpB4wouH9gS3ZER+rNBhVWu301UYxoVI7o8mG
+Yq7dENJce7lO9yE=
+-----END CERTIFICATE-----
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/output/.gitkeep b/mda-distribution-0.10.0/doc/wiki/path/to/output/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/schema/saml-schema-assertion-2.0.xsd b/mda-distribution-0.10.0/doc/wiki/path/to/schema/saml-schema-assertion-2.0.xsd
new file mode 100644
index 0000000..759baf8
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/schema/saml-schema-assertion-2.0.xsd
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<schema
+ targetNamespace="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+ blockDefault="substitution"
+ version="2.0">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="xmldsig-core-schema.xsd"/>
+ <import namespace="http://www.w3.org/2001/04/xmlenc#"
+ schemaLocation="xenc-schema.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: saml-schema-assertion-2.0
+ Location: http://docs.oasis-open.org/security/saml/v2.0/
+ Revision history:
+ V1.0 (November, 2002):
+ Initial Standard Schema.
+ V1.1 (September, 2003):
+ Updates within the same V1.0 namespace.
+ V2.0 (March, 2005):
+ New assertion schema for SAML V2.0 namespace.
+ </documentation>
+ </annotation>
+ <attributeGroup name="IDNameQualifiers">
+ <attribute name="NameQualifier" type="string" use="optional"/>
+ <attribute name="SPNameQualifier" type="string" use="optional"/>
+ </attributeGroup>
+ <element name="BaseID" type="saml:BaseIDAbstractType"/>
+ <complexType name="BaseIDAbstractType" abstract="true">
+ <attributeGroup ref="saml:IDNameQualifiers"/>
+ </complexType>
+ <element name="NameID" type="saml:NameIDType"/>
+ <complexType name="NameIDType">
+ <simpleContent>
+ <extension base="string">
+ <attributeGroup ref="saml:IDNameQualifiers"/>
+ <attribute name="Format" type="anyURI" use="optional"/>
+ <attribute name="SPProvidedID" type="string" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="EncryptedElementType">
+ <sequence>
+ <element ref="xenc:EncryptedData"/>
+ <element ref="xenc:EncryptedKey" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="EncryptedID" type="saml:EncryptedElementType"/>
+ <element name="Issuer" type="saml:NameIDType"/>
+ <element name="AssertionIDRef" type="NCName"/>
+ <element name="AssertionURIRef" type="anyURI"/>
+ <element name="Assertion" type="saml:AssertionType"/>
+ <complexType name="AssertionType">
+ <sequence>
+ <element ref="saml:Issuer"/>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="saml:Subject" minOccurs="0"/>
+ <element ref="saml:Conditions" minOccurs="0"/>
+ <element ref="saml:Advice" minOccurs="0"/>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:Statement"/>
+ <element ref="saml:AuthnStatement"/>
+ <element ref="saml:AuthzDecisionStatement"/>
+ <element ref="saml:AttributeStatement"/>
+ </choice>
+ </sequence>
+ <attribute name="Version" type="string" use="required"/>
+ <attribute name="ID" type="ID" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="Subject" type="saml:SubjectType"/>
+ <complexType name="SubjectType">
+ <choice>
+ <sequence>
+ <choice>
+ <element ref="saml:BaseID"/>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ <element ref="saml:SubjectConfirmation" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <element ref="saml:SubjectConfirmation" maxOccurs="unbounded"/>
+ </choice>
+ </complexType>
+ <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
+ <complexType name="SubjectConfirmationType">
+ <sequence>
+ <choice minOccurs="0">
+ <element ref="saml:BaseID"/>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
+ </sequence>
+ <attribute name="Method" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SubjectConfirmationData" type="saml:SubjectConfirmationDataType"/>
+ <complexType name="SubjectConfirmationDataType" mixed="true">
+ <complexContent>
+ <restriction base="anyType">
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="NotBefore" type="dateTime" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ <attribute name="Recipient" type="anyURI" use="optional"/>
+ <attribute name="InResponseTo" type="NCName" use="optional"/>
+ <attribute name="Address" type="string" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <complexType name="KeyInfoConfirmationDataType" mixed="false">
+ <complexContent>
+ <restriction base="saml:SubjectConfirmationDataType">
+ <sequence>
+ <element ref="ds:KeyInfo" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <element name="Conditions" type="saml:ConditionsType"/>
+ <complexType name="ConditionsType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:Condition"/>
+ <element ref="saml:AudienceRestriction"/>
+ <element ref="saml:OneTimeUse"/>
+ <element ref="saml:ProxyRestriction"/>
+ </choice>
+ <attribute name="NotBefore" type="dateTime" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ </complexType>
+ <element name="Condition" type="saml:ConditionAbstractType"/>
+ <complexType name="ConditionAbstractType" abstract="true"/>
+ <element name="AudienceRestriction" type="saml:AudienceRestrictionType"/>
+ <complexType name="AudienceRestrictionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType">
+ <sequence>
+ <element ref="saml:Audience" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Audience" type="anyURI"/>
+ <element name="OneTimeUse" type="saml:OneTimeUseType" />
+ <complexType name="OneTimeUseType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType"/>
+ </complexContent>
+ </complexType>
+ <element name="ProxyRestriction" type="saml:ProxyRestrictionType"/>
+ <complexType name="ProxyRestrictionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType">
+ <sequence>
+ <element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Count" type="nonNegativeInteger" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Advice" type="saml:AdviceType"/>
+ <complexType name="AdviceType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AssertionIDRef"/>
+ <element ref="saml:AssertionURIRef"/>
+ <element ref="saml:Assertion"/>
+ <element ref="saml:EncryptedAssertion"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="EncryptedAssertion" type="saml:EncryptedElementType"/>
+ <element name="Statement" type="saml:StatementAbstractType"/>
+ <complexType name="StatementAbstractType" abstract="true"/>
+ <element name="AuthnStatement" type="saml:AuthnStatementType"/>
+ <complexType name="AuthnStatementType">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <sequence>
+ <element ref="saml:SubjectLocality" minOccurs="0"/>
+ <element ref="saml:AuthnContext"/>
+ </sequence>
+ <attribute name="AuthnInstant" type="dateTime" use="required"/>
+ <attribute name="SessionIndex" type="string" use="optional"/>
+ <attribute name="SessionNotOnOrAfter" type="dateTime" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
+ <complexType name="SubjectLocalityType">
+ <attribute name="Address" type="string" use="optional"/>
+ <attribute name="DNSName" type="string" use="optional"/>
+ </complexType>
+ <element name="AuthnContext" type="saml:AuthnContextType"/>
+ <complexType name="AuthnContextType">
+ <sequence>
+ <choice>
+ <sequence>
+ <element ref="saml:AuthnContextClassRef"/>
+ <choice minOccurs="0">
+ <element ref="saml:AuthnContextDecl"/>
+ <element ref="saml:AuthnContextDeclRef"/>
+ </choice>
+ </sequence>
+ <choice>
+ <element ref="saml:AuthnContextDecl"/>
+ <element ref="saml:AuthnContextDeclRef"/>
+ </choice>
+ </choice>
+ <element ref="saml:AuthenticatingAuthority" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="AuthnContextClassRef" type="anyURI"/>
+ <element name="AuthnContextDeclRef" type="anyURI"/>
+ <element name="AuthnContextDecl" type="anyType"/>
+ <element name="AuthenticatingAuthority" type="anyURI"/>
+ <element name="AuthzDecisionStatement" type="saml:AuthzDecisionStatementType"/>
+ <complexType name="AuthzDecisionStatementType">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ <attribute name="Decision" type="saml:DecisionType" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <simpleType name="DecisionType">
+ <restriction base="string">
+ <enumeration value="Permit"/>
+ <enumeration value="Deny"/>
+ <enumeration value="Indeterminate"/>
+ </restriction>
+ </simpleType>
+ <element name="Action" type="saml:ActionType"/>
+ <complexType name="ActionType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="Namespace" type="anyURI" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="Evidence" type="saml:EvidenceType"/>
+ <complexType name="EvidenceType">
+ <choice maxOccurs="unbounded">
+ <element ref="saml:AssertionIDRef"/>
+ <element ref="saml:AssertionURIRef"/>
+ <element ref="saml:Assertion"/>
+ <element ref="saml:EncryptedAssertion"/>
+ </choice>
+ </complexType>
+ <element name="AttributeStatement" type="saml:AttributeStatementType"/>
+ <complexType name="AttributeStatementType">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <choice maxOccurs="unbounded">
+ <element ref="saml:Attribute"/>
+ <element ref="saml:EncryptedAttribute"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Attribute" type="saml:AttributeType"/>
+ <complexType name="AttributeType">
+ <sequence>
+ <element ref="saml:AttributeValue" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Name" type="string" use="required"/>
+ <attribute name="NameFormat" type="anyURI" use="optional"/>
+ <attribute name="FriendlyName" type="string" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="AttributeValue" type="anyType" nillable="true"/>
+ <element name="EncryptedAttribute" type="saml:EncryptedElementType"/>
+</schema>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/schema/saml-schema-metadata-2.0.xsd b/mda-distribution-0.10.0/doc/wiki/path/to/schema/saml-schema-metadata-2.0.xsd
new file mode 100644
index 0000000..378dbd1
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/schema/saml-schema-metadata-2.0.xsd
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema
+ targetNamespace="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+ blockDefault="substitution"
+ version="2.0">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="xmldsig-core-schema.xsd"/>
+ <import namespace="http://www.w3.org/2001/04/xmlenc#"
+ schemaLocation="xenc-schema.xsd"/>
+ <import namespace="urn:oasis:names:tc:SAML:2.0:assertion"
+ schemaLocation="saml-schema-assertion-2.0.xsd"/>
+ <import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="xml.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: saml-schema-metadata-2.0
+ Location: http://docs.oasis-open.org/security/saml/v2.0/
+ Revision history:
+ V2.0 (March, 2005):
+ Schema for SAML metadata, first published in SAML 2.0.
+ </documentation>
+ </annotation>
+
+ <simpleType name="entityIDType">
+ <restriction base="anyURI">
+ <maxLength value="1024"/>
+ </restriction>
+ </simpleType>
+ <complexType name="localizedNameType">
+ <simpleContent>
+ <extension base="string">
+ <attribute ref="xml:lang" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="localizedURIType">
+ <simpleContent>
+ <extension base="anyURI">
+ <attribute ref="xml:lang" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <element name="Extensions" type="md:ExtensionsType"/>
+ <complexType final="#all" name="ExtensionsType">
+ <sequence>
+ <any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="EndpointType">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Binding" type="anyURI" use="required"/>
+ <attribute name="Location" type="anyURI" use="required"/>
+ <attribute name="ResponseLocation" type="anyURI" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <complexType name="IndexedEndpointType">
+ <complexContent>
+ <extension base="md:EndpointType">
+ <attribute name="index" type="unsignedShort" use="required"/>
+ <attribute name="isDefault" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="EntitiesDescriptor" type="md:EntitiesDescriptorType"/>
+ <complexType name="EntitiesDescriptorType">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <element ref="md:EntityDescriptor"/>
+ <element ref="md:EntitiesDescriptor"/>
+ </choice>
+ </sequence>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="ID" type="ID" use="optional"/>
+ <attribute name="Name" type="string" use="optional"/>
+ </complexType>
+
+ <element name="EntityDescriptor" type="md:EntityDescriptorType"/>
+ <complexType name="EntityDescriptorType">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <choice>
+ <choice maxOccurs="unbounded">
+ <element ref="md:RoleDescriptor"/>
+ <element ref="md:IDPSSODescriptor"/>
+ <element ref="md:SPSSODescriptor"/>
+ <element ref="md:AuthnAuthorityDescriptor"/>
+ <element ref="md:AttributeAuthorityDescriptor"/>
+ <element ref="md:PDPDescriptor"/>
+ </choice>
+ <element ref="md:AffiliationDescriptor"/>
+ </choice>
+ <element ref="md:Organization" minOccurs="0"/>
+ <element ref="md:ContactPerson" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AdditionalMetadataLocation" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="entityID" type="md:entityIDType" use="required"/>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="ID" type="ID" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <element name="Organization" type="md:OrganizationType"/>
+ <complexType name="OrganizationType">
+ <sequence>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:OrganizationName" maxOccurs="unbounded"/>
+ <element ref="md:OrganizationDisplayName" maxOccurs="unbounded"/>
+ <element ref="md:OrganizationURL" maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="OrganizationName" type="md:localizedNameType"/>
+ <element name="OrganizationDisplayName" type="md:localizedNameType"/>
+ <element name="OrganizationURL" type="md:localizedURIType"/>
+ <element name="ContactPerson" type="md:ContactType"/>
+ <complexType name="ContactType">
+ <sequence>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:Company" minOccurs="0"/>
+ <element ref="md:GivenName" minOccurs="0"/>
+ <element ref="md:SurName" minOccurs="0"/>
+ <element ref="md:EmailAddress" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:TelephoneNumber" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="contactType" type="md:ContactTypeType" use="required"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="Company" type="string"/>
+ <element name="GivenName" type="string"/>
+ <element name="SurName" type="string"/>
+ <element name="EmailAddress" type="anyURI"/>
+ <element name="TelephoneNumber" type="string"/>
+ <simpleType name="ContactTypeType">
+ <restriction base="string">
+ <enumeration value="technical"/>
+ <enumeration value="support"/>
+ <enumeration value="administrative"/>
+ <enumeration value="billing"/>
+ <enumeration value="other"/>
+ </restriction>
+ </simpleType>
+
+ <element name="AdditionalMetadataLocation" type="md:AdditionalMetadataLocationType"/>
+ <complexType name="AdditionalMetadataLocationType">
+ <simpleContent>
+ <extension base="anyURI">
+ <attribute name="namespace" type="anyURI" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <element name="RoleDescriptor" type="md:RoleDescriptorType"/>
+ <complexType name="RoleDescriptorType" abstract="true">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:KeyDescriptor" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:Organization" minOccurs="0"/>
+ <element ref="md:ContactPerson" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="ID" type="ID" use="optional"/>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="protocolSupportEnumeration" type="md:anyURIListType" use="required"/>
+ <attribute name="errorURL" type="anyURI" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <simpleType name="anyURIListType">
+ <list itemType="anyURI"/>
+ </simpleType>
+
+ <element name="KeyDescriptor" type="md:KeyDescriptorType"/>
+ <complexType name="KeyDescriptorType">
+ <sequence>
+ <element ref="ds:KeyInfo"/>
+ <element ref="md:EncryptionMethod" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="use" type="md:KeyTypes" use="optional"/>
+ </complexType>
+ <simpleType name="KeyTypes">
+ <restriction base="string">
+ <enumeration value="encryption"/>
+ <enumeration value="signing"/>
+ </restriction>
+ </simpleType>
+ <element name="EncryptionMethod" type="xenc:EncryptionMethodType"/>
+
+ <complexType name="SSODescriptorType" abstract="true">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:ArtifactResolutionService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:SingleLogoutService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:ManageNameIDService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ArtifactResolutionService" type="md:IndexedEndpointType"/>
+ <element name="SingleLogoutService" type="md:EndpointType"/>
+ <element name="ManageNameIDService" type="md:EndpointType"/>
+ <element name="NameIDFormat" type="anyURI"/>
+
+ <element name="IDPSSODescriptor" type="md:IDPSSODescriptorType"/>
+ <complexType name="IDPSSODescriptorType">
+ <complexContent>
+ <extension base="md:SSODescriptorType">
+ <sequence>
+ <element ref="md:SingleSignOnService" maxOccurs="unbounded"/>
+ <element ref="md:NameIDMappingService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AttributeProfile" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="saml:Attribute" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="WantAuthnRequestsSigned" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SingleSignOnService" type="md:EndpointType"/>
+ <element name="NameIDMappingService" type="md:EndpointType"/>
+ <element name="AssertionIDRequestService" type="md:EndpointType"/>
+ <element name="AttributeProfile" type="anyURI"/>
+
+ <element name="SPSSODescriptor" type="md:SPSSODescriptorType"/>
+ <complexType name="SPSSODescriptorType">
+ <complexContent>
+ <extension base="md:SSODescriptorType">
+ <sequence>
+ <element ref="md:AssertionConsumerService" maxOccurs="unbounded"/>
+ <element ref="md:AttributeConsumingService" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="AuthnRequestsSigned" type="boolean" use="optional"/>
+ <attribute name="WantAssertionsSigned" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AssertionConsumerService" type="md:IndexedEndpointType"/>
+ <element name="AttributeConsumingService" type="md:AttributeConsumingServiceType"/>
+ <complexType name="AttributeConsumingServiceType">
+ <sequence>
+ <element ref="md:ServiceName" maxOccurs="unbounded"/>
+ <element ref="md:ServiceDescription" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:RequestedAttribute" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="index" type="unsignedShort" use="required"/>
+ <attribute name="isDefault" type="boolean" use="optional"/>
+ </complexType>
+ <element name="ServiceName" type="md:localizedNameType"/>
+ <element name="ServiceDescription" type="md:localizedNameType"/>
+ <element name="RequestedAttribute" type="md:RequestedAttributeType"/>
+ <complexType name="RequestedAttributeType">
+ <complexContent>
+ <extension base="saml:AttributeType">
+ <attribute name="isRequired" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="AuthnAuthorityDescriptor" type="md:AuthnAuthorityDescriptorType"/>
+ <complexType name="AuthnAuthorityDescriptorType">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:AuthnQueryService" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthnQueryService" type="md:EndpointType"/>
+
+ <element name="PDPDescriptor" type="md:PDPDescriptorType"/>
+ <complexType name="PDPDescriptorType">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:AuthzService" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthzService" type="md:EndpointType"/>
+
+ <element name="AttributeAuthorityDescriptor" type="md:AttributeAuthorityDescriptorType"/>
+ <complexType name="AttributeAuthorityDescriptorType">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:AttributeService" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AttributeProfile" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="saml:Attribute" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeService" type="md:EndpointType"/>
+
+ <element name="AffiliationDescriptor" type="md:AffiliationDescriptorType"/>
+ <complexType name="AffiliationDescriptorType">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:AffiliateMember" maxOccurs="unbounded"/>
+ <element ref="md:KeyDescriptor" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="affiliationOwnerID" type="md:entityIDType" use="required"/>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="ID" type="ID" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="AffiliateMember" type="md:entityIDType"/>
+</schema>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/schema/xenc-schema.xsd b/mda-distribution-0.10.0/doc/wiki/path/to/schema/xenc-schema.xsd
new file mode 100644
index 0000000..65f75ee
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/schema/xenc-schema.xsd
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+#
+# Copyright ©[2011] World Wide Web Consortium
+# (Massachusetts Institute of Technology,
+# European Research Consortium for Informatics and Mathematics,
+# Keio University). All Rights Reserved.
+# This work is distributed under the W3C® Software License [1] in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.
+# [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+#
+-->
+
+<schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
+ xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
+ xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
+ targetNamespace='http://www.w3.org/2001/04/xmlenc#'
+ elementFormDefault='qualified'>
+
+ <import namespace='http://www.w3.org/2000/09/xmldsig#' schemaLocation='xmldsig-core-schema.xsd'/>
+
+ <complexType name='EncryptedType' abstract='true'>
+ <sequence>
+ <element name='EncryptionMethod' type='xenc:EncryptionMethodType'
+ minOccurs='0'/>
+ <element ref='ds:KeyInfo' minOccurs='0'/>
+ <element ref='xenc:CipherData'/>
+ <element ref='xenc:EncryptionProperties' minOccurs='0'/>
+ </sequence>
+ <attribute name='Id' type='ID' use='optional'/>
+ <attribute name='Type' type='anyURI' use='optional'/>
+ <attribute name='MimeType' type='string' use='optional'/>
+ <attribute name='Encoding' type='anyURI' use='optional'/>
+ </complexType>
+
+ <complexType name='EncryptionMethodType' mixed='true'>
+ <sequence>
+ <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
+ <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
+ <!-- note that optional xenc11:MGF element may be used here for
+ RSA-OAEP, when appropriate -->
+ <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+ </sequence>
+ <attribute name='Algorithm' type='anyURI' use='required'/>
+ </complexType>
+
+ <simpleType name='KeySizeType'>
+ <restriction base="integer"/>
+ </simpleType>
+
+ <element name='CipherData' type='xenc:CipherDataType'/>
+ <complexType name='CipherDataType'>
+ <choice>
+ <element name='CipherValue' type='base64Binary'/>
+ <element ref='xenc:CipherReference'/>
+ </choice>
+ </complexType>
+
+ <element name='CipherReference' type='xenc:CipherReferenceType'/>
+ <complexType name='CipherReferenceType'>
+ <choice>
+ <element name='Transforms' type='xenc:TransformsType' minOccurs='0'/>
+ </choice>
+ <attribute name='URI' type='anyURI' use='required'/>
+ </complexType>
+
+ <complexType name='TransformsType'>
+ <sequence>
+ <element ref='ds:Transform' maxOccurs='unbounded'/>
+ </sequence>
+ </complexType>
+
+
+ <element name='EncryptedData' type='xenc:EncryptedDataType'/>
+ <complexType name='EncryptedDataType'>
+ <complexContent>
+ <extension base='xenc:EncryptedType'>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <!-- Children of ds:KeyInfo -->
+
+ <element name='EncryptedKey' type='xenc:EncryptedKeyType'/>
+ <complexType name='EncryptedKeyType'>
+ <complexContent>
+ <extension base='xenc:EncryptedType'>
+ <sequence>
+ <element ref='xenc:ReferenceList' minOccurs='0'/>
+ <element name='CarriedKeyName' type='string' minOccurs='0'/>
+ </sequence>
+ <attribute name='Recipient' type='string'
+ use='optional'/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="AgreementMethod" type="xenc:AgreementMethodType"/>
+ <complexType name="AgreementMethodType" mixed="true">
+ <sequence>
+ <element name="KA-Nonce" minOccurs="0" type="base64Binary"/>
+ <!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
+ <element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+ <!-- End Children of ds:KeyInfo -->
+
+ <element name='ReferenceList'>
+ <complexType>
+ <choice minOccurs='1' maxOccurs='unbounded'>
+ <element name='DataReference' type='xenc:ReferenceType'/>
+ <element name='KeyReference' type='xenc:ReferenceType'/>
+ </choice>
+ </complexType>
+ </element>
+
+ <complexType name='ReferenceType'>
+ <sequence>
+ <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+ </sequence>
+ <attribute name='URI' type='anyURI' use='required'/>
+ </complexType>
+
+
+ <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/>
+ <complexType name='EncryptionPropertiesType'>
+ <sequence>
+ <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/>
+ </sequence>
+ <attribute name='Id' type='ID' use='optional'/>
+ </complexType>
+
+ <element name='EncryptionProperty' type='xenc:EncryptionPropertyType'/>
+ <complexType name='EncryptionPropertyType' mixed='true'>
+ <choice maxOccurs='unbounded'>
+ <any namespace='##other' processContents='lax'/>
+ </choice>
+ <attribute name='Target' type='anyURI' use='optional'/>
+ <attribute name='Id' type='ID' use='optional'/>
+ <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
+ </complexType>
+
+ <!-- Children of ds:KeyValue -->
+
+ <element name="DHKeyValue" type="xenc:DHKeyValueType"/>
+ <complexType name="DHKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ <element name="Generator" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="Public" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="seed" type="ds:CryptoBinary"/>
+ <element name="pgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+
+ <!-- End Children of ds:KeyValue -->
+
+</schema>
+
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/schema/xml.xsd b/mda-distribution-0.10.0/doc/wiki/path/to/schema/xml.xsd
new file mode 100644
index 0000000..a6e9a7d
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/schema/xml.xsd
@@ -0,0 +1,80 @@
+<?xml version='1.0'?>
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">
+
+ <xs:annotation>
+ <xs:documentation>
+ See http://www.w3.org/XML/1998/namespace.html and
+ http://www.w3.org/TR/REC-xml for information about this namespace.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>This schema defines attributes and an attribute group
+ suitable for use by
+ schemas wishing to allow xml:base, xml:lang or xml:space attributes
+ on elements they define.
+
+ To enable this, such a schema must import this schema
+ for the XML namespace, e.g. as follows:
+ <schema . . .>
+ . . .
+ <import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
+
+ Subsequently, qualified reference to any of the attributes
+ or the group defined below will have the desired effect, e.g.
+
+ <type . . .>
+ . . .
+ <attributeGroup ref="xml:specialAttrs"/>
+
+ will define a type which will schema-validate an instance
+ element with any of those attributes</xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>In keeping with the XML Schema WG's standard versioning
+ policy, this schema document will persist at
+ http://www.w3.org/2001/03/xml.xsd.
+ At the date of issue it can also be found at
+ http://www.w3.org/2001/xml.xsd.
+ The schema document at that URI may however change in the future,
+ in order to remain compatible with the latest version of XML Schema
+ itself. In other words, if the XML Schema namespace changes, the version
+ of this document at
+ http://www.w3.org/2001/xml.xsd will change
+ accordingly; the version at
+ http://www.w3.org/2001/03/xml.xsd will not change.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="lang" type="xs:language">
+ <xs:annotation>
+ <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
+ codes as the enumerated possible values . . .</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attribute name="space" default="preserve">
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="preserve"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="base" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
+ information about this attribute.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+ <xs:attribute ref="xml:base"/>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attribute ref="xml:space"/>
+ </xs:attributeGroup>
+
+</xs:schema>
diff --git a/mda-distribution-0.10.0/doc/wiki/path/to/schema/xmldsig-core-schema.xsd b/mda-distribution-0.10.0/doc/wiki/path/to/schema/xmldsig-core-schema.xsd
new file mode 100644
index 0000000..8a8e232
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/path/to/schema/xmldsig-core-schema.xsd
@@ -0,0 +1,308 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.1 $ on $Date: 2005/03/16 17:40:08 $ by $Author: iay $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ targetNamespace="http://www.w3.org/2000/09/xmldsig#"
+ version="0.1" elementFormDefault="qualified">
+
+<!-- Basic Types Defined for Signatures -->
+
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+
+<!-- Start Signature -->
+
+<element name="Signature" type="ds:SignatureType"/>
+<complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="base64Binary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+<!-- Start SignedInfo -->
+
+<element name="SignedInfo" type="ds:SignedInfoType"/>
+<complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+<!-- Start Reference -->
+
+<element name="Reference" type="ds:ReferenceType"/>
+<complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+</complexType>
+
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ <element name="XPath" type="string"/>
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+
+<!-- End Reference -->
+
+<element name="DigestMethod" type="ds:DigestMethodType"/>
+<complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+</complexType>
+
+<element name="DigestValue" type="ds:DigestValueType"/>
+<simpleType name="DigestValueType">
+ <restriction base="base64Binary"/>
+</simpleType>
+
+<!-- End SignedInfo -->
+
+<!-- Start KeyInfo -->
+
+<element name="KeyInfo" type="ds:KeyInfoType"/>
+<complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any processContents="lax" namespace="##other"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+
+<!-- Start X509Data -->
+
+<element name="X509Data" type="ds:X509DataType"/>
+<complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="base64Binary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="base64Binary"/>
+ <element name="X509CRL" type="base64Binary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+</complexType>
+
+<complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+</complexType>
+
+<!-- End X509Data -->
+
+<!-- Begin PGPData -->
+
+<element name="PGPData" type="ds:PGPDataType"/>
+<complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="base64Binary"/>
+ <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="base64Binary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+</complexType>
+
+<!-- End PGPData -->
+
+<!-- Begin SPKIData -->
+
+<element name="SPKIData" type="ds:SPKIDataType"/>
+<complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="base64Binary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+</complexType>
+
+<!-- End SPKIData -->
+
+<!-- End KeyInfo -->
+
+<!-- Start Object (Manifest, SignatureProperty) -->
+
+<element name="Object" type="ds:ObjectType"/>
+<complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+</complexType>
+
+<element name="Manifest" type="ds:ManifestType"/>
+<complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+<complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+
+<!-- End Object (Manifest, SignatureProperty) -->
+
+<!-- Start Algorithm Parameters -->
+
+<simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+</simpleType>
+
+<!-- Start KeyValue Element-types -->
+
+<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+<complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+</complexType>
+
+<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+<complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+</complexType>
+
+<!-- End KeyValue Element-types -->
+
+<!-- End Signature -->
+
+</schema>
diff --git a/mda-distribution-0.10.0/doc/wiki/per-entity.xml b/mda-distribution-0.10.0/doc/wiki/per-entity.xml
new file mode 100644
index 0000000..614a137
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/per-entity.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans default-init-method="initialize"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+
+ <!-- Import the Standard bean definition resource. -->
+ <!-- See https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/3162439683/Standard+bean+definition+resource -->
+ <import resource="classpath:net/shibboleth/metadata/beans.xml"/>
+
+ <!-- First, we define the stages for our pipeline -->
+ <bean id="source" parent="mda.DOMFilesystemSourceStage">
+ <property name="id" value="source"/>
+ <property name="parserPool">
+ <bean parent="mda.BasicParserPool"/>
+ </property>
+ <property name="source">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/input/aggregate.xml"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="disassembleEntitiesDescriptor" parent="mda.EntitiesDescriptorDisassemblerStage">
+ <property name="id" value="disassembleEntitiesDescriptor"/>
+ </bean>
+
+ <bean id="populateItemIds" parent="mda.EntityDescriptorItemIdPopulationStage">
+ <property name="id" value="populateItemIds"/>
+ </bean>
+
+ <bean id="generateContentReferenceId" parent="mda.GenerateIdStage">
+ <property name="id" value="generateContentReferenceId" />
+ </bean>
+
+ <bean id="signMetadata" parent="mda.XMLSignatureSigningStage">
+ <property name="id" value="signMetadata"/>
+ <property name="privateKey">
+ <bean parent="mda.PrivateKeyFactoryBean">
+ <property name="resource">
+ <bean class="org.springframework.core.io.FileSystemResource">
+ <constructor-arg>
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/secrets/private-key.pem"/>
+ </bean>
+ </constructor-arg>
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="serialize" parent="mda.MultiOutputSerializationStage">
+ <property name="id" value="serializeIdPs"/>
+ <property name="serializer">
+ <bean id="domSerializer" parent="mda.DOMElementSerializer"/>
+ </property>
+ <property name="outputStrategy">
+ <bean parent="mda.FilesInDirectoryMultiOutputStrategy">
+ <property name="nameSuffix" value=".xml"/>
+ <property name="namePrefix" value="_"/>
+ <property name="directory">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/output"/>
+ </bean>
+ </property>
+ <property name="nameTransformer">
+ <bean parent="mda.SHA1StringTransformer"/>
+ </property>
+ </bean>
+ </property>
+ </bean>
+
+ <!-- Next we define a pipeline with all the stages in it -->
+ <bean id="main" parent="mda.SimplePipeline">
+ <property name="id" value="main"/>
+ <property name="stages">
+ <list>
+ <ref bean="source"/>
+ <ref bean="disassembleEntitiesDescriptor"/>
+ <ref bean="populateItemIds"/>
+ <ref bean="generateContentReferenceId"/>
+ <ref bean="signMetadata"/>
+ <ref bean="serialize"/>
+ </list>
+ </property>
+ </bean>
+</beans>
diff --git a/mda-distribution-0.10.0/doc/wiki/run-all-examples.sh b/mda-distribution-0.10.0/doc/wiki/run-all-examples.sh
new file mode 100644
index 0000000..401a69d
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/run-all-examples.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/sh
+
+set -e
+
+./make-keys.sh
+
+rm -rf softhsm/*
+source ./setup-softhsm.sh
+
+echo Aggregate and Sign...
+mda.sh aggregate-and-sign.xml main
+echo Filter Aggregate...
+mda.sh filter-aggregate.xml main
+echo Aggregate and Republish...
+mda.sh aggregate-and-republish.xml main
+echo Sign Using Token...
+mda.sh sign-using-token.xml main
+echo Per-entity metadata...
+mda.sh per-entity.xml main
+echo Discovery feed...
+mda.sh discofeed.xml main
diff --git a/mda-distribution-0.10.0/doc/wiki/setup-softhsm.sh b/mda-distribution-0.10.0/doc/wiki/setup-softhsm.sh
new file mode 100644
index 0000000..7363ae5
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/setup-softhsm.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/sh
+
+# Clear any previous softhsm setup
+rm -rf softhsm
+mkdir -p softhsm/tokens
+
+# Create configuration file
+export SOFTHSM2_CONF=$PWD/softhsm/softhsm2.conf
+echo "directories.tokendir = $PWD/softhsm/tokens" >$SOFTHSM2_CONF
+
+# Initialise the token
+softhsm2-util --init-token --slot 0 --label "test" \
+ --so-pin 1234 \
+ --pin 12341234
+
+# Load the credential
+keytool -importkeystore --addprovider SunPKCS11 -providerarg path/to/input/pkcs11-softhsm.cfg \
+ -srcstoretype pkcs12 -srckeystore path/to/secrets/self-signed.p12 -srcstorepass password \
+ -deststoretype PKCS11 -destkeystore NONE -deststorepass 12341234
+
+keytool -list --addprovider SunPKCS11 -providerarg path/to/input/pkcs11-softhsm.cfg \
+ -storetype PKCS11 -keystore NONE -storepass 12341234
diff --git a/mda-distribution-0.10.0/doc/wiki/sign-using-token.xml b/mda-distribution-0.10.0/doc/wiki/sign-using-token.xml
new file mode 100644
index 0000000..50577d7
--- /dev/null
+++ b/mda-distribution-0.10.0/doc/wiki/sign-using-token.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans default-init-method="initialize"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+
+ <!-- Import the Standard bean definition resource. -->
+ <!-- See https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/3162439683/Standard+bean+definition+resource -->
+ <import resource="classpath:net/shibboleth/metadata/beans.xml"/>
+
+ <!-- First, we define the stages for our pipeline -->
+ <bean id="source" parent="mda.DOMFilesystemSourceStage">
+ <property name="id" value="source"/>
+ <property name="parserPool">
+ <bean parent="mda.BasicParserPool"/>
+ </property>
+ <property name="source">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/input/aggregate.xml"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="generateContentReferenceId" parent="mda.GenerateIdStage">
+ <property name="id" value="generateContentReferenceId" />
+ </bean>
+
+ <bean id="signMetadata" parent="mda.XMLSignatureSigningStage">
+ <property name="id" value="signMetadata"/>
+ <property name="certificates">
+ <bean parent="mda.X509CertificateFactoryBean">
+ <property name="resource" value="file:path/to/secrets/self-signed.pem"/>
+ </bean>
+ </property>
+ <property name="privateKey">
+ <bean parent="mda.PKCS11PrivateKeyFactoryBean">
+ <property name="pkcs11Config" value="path/to/input/pkcs11-softhsm.cfg"/>
+ <property name="keyPassword" value="12341234"/>
+ <property name="keyAlias" value="key10"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="serialize" parent="mda.SerializationStage">
+ <property name="id" value="serializeIdPs"/>
+ <property name="outputFile">
+ <bean class="java.io.File">
+ <constructor-arg value="path/to/output/signed-with-token.xml"/>
+ </bean>
+ </property>
+ <property name="serializer">
+ <bean id="domSerializer" parent="mda.DOMElementSerializer"/>
+ </property>
+ </bean>
+
+ <!-- Next we define a pipeline with all the stages in it -->
+ <bean id="main" parent="mda.SimplePipeline">
+ <property name="id" value="main"/>
+ <property name="stages">
+ <list>
+ <ref bean="source"/>
+ <ref bean="generateContentReferenceId" />
+ <ref bean="signMetadata"/>
+ <ref bean="serialize" />
+ </list>
+ </property>
+ </bean>
+
+</beans>
diff --git a/mda-distribution-0.10.0/lib/bcpkix-jdk18on-1.77.jar b/mda-distribution-0.10.0/lib/bcpkix-jdk18on-1.77.jar
new file mode 100644
index 0000000..e8b6021
Binary files /dev/null and b/mda-distribution-0.10.0/lib/bcpkix-jdk18on-1.77.jar differ
diff --git a/mda-distribution-0.10.0/lib/bcprov-jdk18on-1.77.jar b/mda-distribution-0.10.0/lib/bcprov-jdk18on-1.77.jar
new file mode 100644
index 0000000..651d2fb
Binary files /dev/null and b/mda-distribution-0.10.0/lib/bcprov-jdk18on-1.77.jar differ
diff --git a/mda-distribution-0.10.0/lib/bcutil-jdk18on-1.77.jar b/mda-distribution-0.10.0/lib/bcutil-jdk18on-1.77.jar
new file mode 100644
index 0000000..4c154e2
Binary files /dev/null and b/mda-distribution-0.10.0/lib/bcutil-jdk18on-1.77.jar differ
diff --git a/mda-distribution-0.10.0/lib/checker-qual-3.41.0.jar b/mda-distribution-0.10.0/lib/checker-qual-3.41.0.jar
new file mode 100644
index 0000000..17a85a1
Binary files /dev/null and b/mda-distribution-0.10.0/lib/checker-qual-3.41.0.jar differ
diff --git a/mda-distribution-0.10.0/lib/commons-codec-1.16.1.jar b/mda-distribution-0.10.0/lib/commons-codec-1.16.1.jar
new file mode 100644
index 0000000..f896649
Binary files /dev/null and b/mda-distribution-0.10.0/lib/commons-codec-1.16.1.jar differ
diff --git a/aggregator-cli/lib/cryptacular-1.2.4.jar b/mda-distribution-0.10.0/lib/cryptacular-1.2.6.jar
similarity index 79%
rename from aggregator-cli/lib/cryptacular-1.2.4.jar
rename to mda-distribution-0.10.0/lib/cryptacular-1.2.6.jar
index 0621416..2a30d70 100644
Binary files a/aggregator-cli/lib/cryptacular-1.2.4.jar and b/mda-distribution-0.10.0/lib/cryptacular-1.2.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/error_prone_annotations-2.23.0.jar b/mda-distribution-0.10.0/lib/error_prone_annotations-2.23.0.jar
new file mode 100644
index 0000000..c0f20d8
Binary files /dev/null and b/mda-distribution-0.10.0/lib/error_prone_annotations-2.23.0.jar differ
diff --git a/mda-distribution-0.10.0/lib/failureaccess-1.0.2.jar b/mda-distribution-0.10.0/lib/failureaccess-1.0.2.jar
new file mode 100644
index 0000000..d73ab80
Binary files /dev/null and b/mda-distribution-0.10.0/lib/failureaccess-1.0.2.jar differ
diff --git a/mda-distribution-0.10.0/lib/guava-33.0.0-jre.jar b/mda-distribution-0.10.0/lib/guava-33.0.0-jre.jar
new file mode 100644
index 0000000..e42ef63
Binary files /dev/null and b/mda-distribution-0.10.0/lib/guava-33.0.0-jre.jar differ
diff --git a/mda-distribution-0.10.0/lib/httpclient5-5.3.1.jar b/mda-distribution-0.10.0/lib/httpclient5-5.3.1.jar
new file mode 100644
index 0000000..1cf795c
Binary files /dev/null and b/mda-distribution-0.10.0/lib/httpclient5-5.3.1.jar differ
diff --git a/mda-distribution-0.10.0/lib/httpclient5-cache-5.3.1.jar b/mda-distribution-0.10.0/lib/httpclient5-cache-5.3.1.jar
new file mode 100644
index 0000000..5df6589
Binary files /dev/null and b/mda-distribution-0.10.0/lib/httpclient5-cache-5.3.1.jar differ
diff --git a/mda-distribution-0.10.0/lib/httpcore5-5.2.4.jar b/mda-distribution-0.10.0/lib/httpcore5-5.2.4.jar
new file mode 100644
index 0000000..da9c6e5
Binary files /dev/null and b/mda-distribution-0.10.0/lib/httpcore5-5.2.4.jar differ
diff --git a/mda-distribution-0.10.0/lib/httpcore5-h2-5.2.4.jar b/mda-distribution-0.10.0/lib/httpcore5-h2-5.2.4.jar
new file mode 100644
index 0000000..5b598dd
Binary files /dev/null and b/mda-distribution-0.10.0/lib/httpcore5-h2-5.2.4.jar differ
diff --git a/mda-distribution-0.10.0/lib/j2objc-annotations-2.8.jar b/mda-distribution-0.10.0/lib/j2objc-annotations-2.8.jar
new file mode 100644
index 0000000..3595c4f
Binary files /dev/null and b/mda-distribution-0.10.0/lib/j2objc-annotations-2.8.jar differ
diff --git a/mda-distribution-0.10.0/lib/jakarta.json-2.0.1.jar b/mda-distribution-0.10.0/lib/jakarta.json-2.0.1.jar
new file mode 100644
index 0000000..e6d094a
Binary files /dev/null and b/mda-distribution-0.10.0/lib/jakarta.json-2.0.1.jar differ
diff --git a/mda-distribution-0.10.0/lib/jcommander-1.81.jar b/mda-distribution-0.10.0/lib/jcommander-1.81.jar
new file mode 100644
index 0000000..699c543
Binary files /dev/null and b/mda-distribution-0.10.0/lib/jcommander-1.81.jar differ
diff --git a/aggregator-cli/lib/jsr305-3.0.2.jar b/mda-distribution-0.10.0/lib/jsr305-3.0.2.jar
similarity index 100%
rename from aggregator-cli/lib/jsr305-3.0.2.jar
rename to mda-distribution-0.10.0/lib/jsr305-3.0.2.jar
diff --git a/aggregator-cli/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar b/mda-distribution-0.10.0/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
similarity index 100%
rename from aggregator-cli/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
rename to mda-distribution-0.10.0/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
diff --git a/mda-distribution-0.10.0/lib/logback-classic-1.5.3.jar b/mda-distribution-0.10.0/lib/logback-classic-1.5.3.jar
new file mode 100644
index 0000000..9bfbe41
Binary files /dev/null and b/mda-distribution-0.10.0/lib/logback-classic-1.5.3.jar differ
diff --git a/mda-distribution-0.10.0/lib/logback-core-1.5.3.jar b/mda-distribution-0.10.0/lib/logback-core-1.5.3.jar
new file mode 100644
index 0000000..3c82e61
Binary files /dev/null and b/mda-distribution-0.10.0/lib/logback-core-1.5.3.jar differ
diff --git a/mda-distribution-0.10.0/lib/mda-cli-0.10.0.jar b/mda-distribution-0.10.0/lib/mda-cli-0.10.0.jar
new file mode 100644
index 0000000..f5bb18d
Binary files /dev/null and b/mda-distribution-0.10.0/lib/mda-cli-0.10.0.jar differ
diff --git a/mda-distribution-0.10.0/lib/mda-framework-0.10.0.jar b/mda-distribution-0.10.0/lib/mda-framework-0.10.0.jar
new file mode 100644
index 0000000..a7d3848
Binary files /dev/null and b/mda-distribution-0.10.0/lib/mda-framework-0.10.0.jar differ
diff --git a/mda-distribution-0.10.0/lib/mda-keylists-rsa-0.10.0.jar b/mda-distribution-0.10.0/lib/mda-keylists-rsa-0.10.0.jar
new file mode 100644
index 0000000..a3df006
Binary files /dev/null and b/mda-distribution-0.10.0/lib/mda-keylists-rsa-0.10.0.jar differ
diff --git a/mda-distribution-0.10.0/lib/mda-keylists-rsa-legacy-0.10.0.jar b/mda-distribution-0.10.0/lib/mda-keylists-rsa-legacy-0.10.0.jar
new file mode 100644
index 0000000..1b6fe85
Binary files /dev/null and b/mda-distribution-0.10.0/lib/mda-keylists-rsa-legacy-0.10.0.jar differ
diff --git a/mda-distribution-0.10.0/lib/micrometer-commons-1.12.5.jar b/mda-distribution-0.10.0/lib/micrometer-commons-1.12.5.jar
new file mode 100644
index 0000000..27a96a9
Binary files /dev/null and b/mda-distribution-0.10.0/lib/micrometer-commons-1.12.5.jar differ
diff --git a/mda-distribution-0.10.0/lib/micrometer-observation-1.12.5.jar b/mda-distribution-0.10.0/lib/micrometer-observation-1.12.5.jar
new file mode 100644
index 0000000..c6deecb
Binary files /dev/null and b/mda-distribution-0.10.0/lib/micrometer-observation-1.12.5.jar differ
diff --git a/mda-distribution-0.10.0/lib/shib-networking-9.1.2.jar b/mda-distribution-0.10.0/lib/shib-networking-9.1.2.jar
new file mode 100644
index 0000000..e48ea98
Binary files /dev/null and b/mda-distribution-0.10.0/lib/shib-networking-9.1.2.jar differ
diff --git a/mda-distribution-0.10.0/lib/shib-networking-spring-9.1.2.jar b/mda-distribution-0.10.0/lib/shib-networking-spring-9.1.2.jar
new file mode 100644
index 0000000..588d8ab
Binary files /dev/null and b/mda-distribution-0.10.0/lib/shib-networking-spring-9.1.2.jar differ
diff --git a/mda-distribution-0.10.0/lib/shib-security-9.1.2.jar b/mda-distribution-0.10.0/lib/shib-security-9.1.2.jar
new file mode 100644
index 0000000..1a07e28
Binary files /dev/null and b/mda-distribution-0.10.0/lib/shib-security-9.1.2.jar differ
diff --git a/mda-distribution-0.10.0/lib/shib-security-spring-9.1.2.jar b/mda-distribution-0.10.0/lib/shib-security-spring-9.1.2.jar
new file mode 100644
index 0000000..b8bd72b
Binary files /dev/null and b/mda-distribution-0.10.0/lib/shib-security-spring-9.1.2.jar differ
diff --git a/mda-distribution-0.10.0/lib/shib-spring-9.1.2.jar b/mda-distribution-0.10.0/lib/shib-spring-9.1.2.jar
new file mode 100644
index 0000000..45efad9
Binary files /dev/null and b/mda-distribution-0.10.0/lib/shib-spring-9.1.2.jar differ
diff --git a/mda-distribution-0.10.0/lib/shib-support-9.1.2.jar b/mda-distribution-0.10.0/lib/shib-support-9.1.2.jar
new file mode 100644
index 0000000..3063efc
Binary files /dev/null and b/mda-distribution-0.10.0/lib/shib-support-9.1.2.jar differ
diff --git a/mda-distribution-0.10.0/lib/slf4j-api-2.0.12.jar b/mda-distribution-0.10.0/lib/slf4j-api-2.0.12.jar
new file mode 100644
index 0000000..bfa1de3
Binary files /dev/null and b/mda-distribution-0.10.0/lib/slf4j-api-2.0.12.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-aop-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-aop-6.1.6.jar
new file mode 100644
index 0000000..2cbe890
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-aop-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-beans-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-beans-6.1.6.jar
new file mode 100644
index 0000000..bcfa3c6
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-beans-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-context-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-context-6.1.6.jar
new file mode 100644
index 0000000..750b3a6
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-context-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-core-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-core-6.1.6.jar
new file mode 100644
index 0000000..c6b7025
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-core-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-expression-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-expression-6.1.6.jar
new file mode 100644
index 0000000..a649814
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-expression-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-jcl-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-jcl-6.1.6.jar
new file mode 100644
index 0000000..14c446a
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-jcl-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-web-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-web-6.1.6.jar
new file mode 100644
index 0000000..67f06e0
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-web-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/spring-webmvc-6.1.6.jar b/mda-distribution-0.10.0/lib/spring-webmvc-6.1.6.jar
new file mode 100644
index 0000000..b55874a
Binary files /dev/null and b/mda-distribution-0.10.0/lib/spring-webmvc-6.1.6.jar differ
diff --git a/mda-distribution-0.10.0/lib/xmlsec-3.0.3.jar b/mda-distribution-0.10.0/lib/xmlsec-3.0.3.jar
new file mode 100644
index 0000000..8ffd06e
Binary files /dev/null and b/mda-distribution-0.10.0/lib/xmlsec-3.0.3.jar differ
diff --git a/aggregator-cli/mda.bat b/mda-distribution-0.10.0/mda.bat
old mode 100755
new mode 100644
similarity index 91%
rename from aggregator-cli/mda.bat
rename to mda-distribution-0.10.0/mda.bat
index 4a45a12..8dcfdab
--- a/aggregator-cli/mda.bat
+++ b/mda-distribution-0.10.0/mda.bat
@@ -1,49 +1,49 @@
- at echo off
-setlocal
-
-REM We need a JVM
-if not defined JAVA_HOME (
- echo Error: JAVA_HOME is not defined.
- exit /b
-)
-
-if not defined JAVACMD (
- set JAVACMD="%JAVA_HOME%\bin\java.exe"
-)
-
-if not exist %JAVACMD% (
- echo Error: JAVA_HOME is not defined correctly.
- echo Cannot execute %JAVACMD%
- exit /b
-)
-
-if defined CLASSPATH (
- set LOCALCLASSPATH=%CLASSPATH%
-)
-
-if not defined MDA_HOME (
- echo Error: MDA_HOME is not defined.
- exit /b
-)
-
-if not exist "%MDA_HOME%" (
- echo Error: MDA_HOME is not defined correctly.
- exit /b
-)
-
-REM add in the dependency .jar files
-for %%i in ("%MDA_HOME%\lib\*.jar") do (
- call "%MDA_HOME%\cpappend.bat" %%i
-)
-
-if exist %JAVA_HOME%\lib\tools.jar (
- set LOCALCLASSPATH=%LOCALCLASSPATH%;%JAVA_HOME%\lib\tools.jar
-)
-
-if exist %JAVA_HOME%\lib\classes.zip (
- set LOCALCLASSPATH=%LOCALCLASSPATH%;%JAVA_HOME%\lib\classes.zip
-)
-
-REM Go to it !
-
-%JAVACMD% -classpath "%LOCALCLASSPATH%" %JVMOPTS% net.shibboleth.metadata.cli.SimpleCommandLine %*
\ No newline at end of file
+ at echo off
+setlocal
+
+REM We need a JVM
+if not defined JAVA_HOME (
+ echo Error: JAVA_HOME is not defined.
+ exit /b
+)
+
+if not defined JAVACMD (
+ set JAVACMD="%JAVA_HOME%\bin\java.exe"
+)
+
+if not exist %JAVACMD% (
+ echo Error: JAVA_HOME is not defined correctly.
+ echo Cannot execute %JAVACMD%
+ exit /b
+)
+
+if defined CLASSPATH (
+ set LOCALCLASSPATH=%CLASSPATH%
+)
+
+if not defined MDA_HOME (
+ echo Error: MDA_HOME is not defined.
+ exit /b
+)
+
+if not exist "%MDA_HOME%" (
+ echo Error: MDA_HOME is not defined correctly.
+ exit /b
+)
+
+REM add in the dependency .jar files
+for %%i in ("%MDA_HOME%\lib\*.jar") do (
+ call "%MDA_HOME%\cpappend.bat" %%i
+)
+
+if exist %JAVA_HOME%\lib\tools.jar (
+ set LOCALCLASSPATH=%LOCALCLASSPATH%;%JAVA_HOME%\lib\tools.jar
+)
+
+if exist %JAVA_HOME%\lib\classes.zip (
+ set LOCALCLASSPATH=%LOCALCLASSPATH%;%JAVA_HOME%\lib\classes.zip
+)
+
+REM Go to it !
+
+%JAVACMD% -classpath "%LOCALCLASSPATH%" %JVMOPTS% net.shibboleth.metadata.cli.SimpleCommandLine %*
diff --git a/aggregator-cli/mda.sh b/mda-distribution-0.10.0/mda.sh
similarity index 96%
rename from aggregator-cli/mda.sh
rename to mda-distribution-0.10.0/mda.sh
index 3313ad9..bd8abdc 100755
--- a/aggregator-cli/mda.sh
+++ b/mda-distribution-0.10.0/mda.sh
@@ -41,4 +41,4 @@ do
fi
done
-"$JAVACMD" '-classpath' "$LOCALCLASSPATH" $JVMOPTS 'net.shibboleth.metadata.cli.SimpleCommandLine' "$@"
\ No newline at end of file
+"$JAVACMD" '-classpath' "$LOCALCLASSPATH" $JVMOPTS 'net.shibboleth.metadata.cli.SimpleCommandLine' "$@"
diff --git a/refresh b/refresh
index fe58378..d8ae1c6 100755
--- a/refresh
+++ b/refresh
@@ -27,7 +27,7 @@ fi
#
# Find the CLI.
#
-readonly MDA_CMD=$LOCATION/aggregator-cli/mda.sh
+readonly MDA_CMD=$LOCATION/mda-distribution-0.10.0/mda.sh
#
# Locate the output file for the flow.
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list