Setup: Ensure compatibility with clustered MySQL.
Merge pull request #138 from University-of-Auckland/aaf-develop

API: cosmetic fix for timestamp comment
Merge branch 'develop' of github.com:ausaccessfed/federationregistry into develop
App: Upgrade to Grails 2.2.3.

Closes #139.
App: Upgrade to Grails 2.2.4.

After numerous problems with Grails 2.2.3 his update jumps us forward
again to 2.2.4.

All tests and application executions now pass.
Merge pull request #139 from ausaccessfed/feature/#139-Grails-2.2.3

Upgrade to Grails 2.2.3
Metadata: Ensure SP DS endpoints only rendered if 1+ functioning.

Previously when an SP disabled all DS endpoints (but did not delete)
we'd be left with the following:

    <Extensions/>

Which is invalid against schema checks.

This change ensures at least one discovery service endpoint is
functioning before adding this element to the builder.

Correctly functining discovery service endpoints result it

    <Extensions>
      <dsr:DiscoveryResponse xmlns:dsr="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="https://test.example.com/Shibboleth.sso/DS" index="1" isDefault="true" />
    </Extensions>
Base: Ensure that AttributeAuthority requires 1 AttributeService.

Relating to issue #128 an AttributeAuthority could previously get
away with having no or no functioning AttributeService endpoints.

This resulted in invalid XML validation as follows:

    INFO  XmlSecTool - Reading XML document from file 'registry-tamaki-metadata-no-aa-endpoint.xml'
    INFO  XmlSecTool - XML document parsed and is well-formed.
    ERROR XmlSecTool - Invalid XML schema files, unable to validate XML
    org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'NameIDFormat'. One of '{"urn:oasis:names:tc:SAML:2.0:metadata":ContactPerson, "urn:oasis:names:tc:SAML:2.0:metadata":AttributeService}' is expected.
Metadata: Correct and extend classes with AA changes.

An AttributeAuthorityDescriptor is now correctly invalid if it is
missing at least 1 functioning AttributeService.

This commit corrects and extends test cases to properly check for
this change in Base.

References #128.
Base: Improve handling of invalid CN.

Improves the case where a users IdP is providing invalid data
by allowing the Subject record to be created but highlight in its
output that something is incorrect.

References #120.
Base: Correctly encode names for contacts when displaying.

References #119.
App: Have initial bootstrap use the full console screen.

Removes the need for embeded iFrame.
App: Remove now unused views and controller.
Merge pull request #120 from ausaccessfed/bugfix/#120-invalid-cn-existing-account-breaks

Invalid CN triggers auth failure
Base: Ensure correct escaping.

Corrects issue noted with email not being escaped in review.

In addition uses fieldValue everywhere instead of a mixture.
Merge pull request #129 from ausaccessfed/feature/#129-invalid-metadata-when-all-discovery-invalid

FR generated invalid metadata if all SP DiscoveryService endpoints are marked as inactive
Merge pull request #119 from ausaccessfed/bugfix/#119-contact-encoding-invalid

IdP contact name field shows escaped HTML
Metadata: Use mailto on email addresses in metadata to conform to RFC.
Merge pull request #128 from ausaccessfed/bugfix/#128-invalid-metadata-no-attribute-query-endpoint

FR generates invalid metadata with no AttributeQuery endpoint
Merge pull request #117 from ausaccessfed/bugfix/#117-initial-bootstrap-URL

Bootstrap process needs to be updated due to X-Frame security features