<xsl:param name="idp"/>
+ <!--Force UTF-8 encoding for the output.-->
+ <xsl:output omit-xml-declaration="no" method="xml" encoding="UTF-8"/>
+
<xsl:variable name="spaces" select="string(' ')"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
- <!--Force UTF-8 encoding for the output.-->
- <xsl:output omit-xml-declaration="no" method="xml" encoding="UTF-8"/>
-
<xsl:template match="oldconf:SPConfig">
<xsl:text> </xsl:text>
<SPConfig logger="{@logger}" clockSkew="{@clockSkew}">
<xsl:text> </xsl:text>
<xsl:apply-templates select="oldconf:Global/oldconf:UnixListener"/>
<xsl:apply-templates select="oldconf:Global/oldconf:TCPListener"/>
- <xsl:text> </xsl:text>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<xsl:comment>
<xsl:text> This set of components stores sessions and other persistent data in daemon memory. </xsl:text>
</xsl:comment>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<StorageService type="Memory" id="mem" cleanupInterval="900"/>
<xsl:text> </xsl:text>
<SessionCache type="StorageService" StorageService="mem" cacheTimeout="{oldconf:Global/oldconf:MemorySessionCache/@cacheTimeout}" inprocTimeout="900" cleanupInterval="900"/>
<ReplayCache StorageService="mem"/>
<xsl:text> </xsl:text>
<ArtifactMap artifactTTL="180"/>
- <xsl:text> </xsl:text>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<xsl:comment>
<xsl:text> This set of components stores sessions and other persistent data in an ODBC database. </xsl:text>
</xsl:comment>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<xsl:comment>
<xsl:text>
<StorageService type="ODBC" id="db" cleanupInterval="900">
<ArtifactMap StorageService="db" artifactTTL="180"/>
</xsl:text>
</xsl:comment>
- <xsl:text> </xsl:text>
<xsl:apply-templates select="oldconf:Local/oldconf:RequestMapProvider"/>
- <xsl:text> </xsl:text>
<xsl:apply-templates select="oldconf:Applications"/>
<xsl:text> </xsl:text>
<!-- Turn <Global> into <OutOfProcess> with the ODBC extension commented out. -->
<xsl:template match="oldconf:Global">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<OutOfProcess logger="{@logger}">
<xsl:text> </xsl:text>
<xsl:comment>
<!-- Turn <Local> into <InProcess> with the <ISAPI> element up a level. -->
<xsl:template match="oldconf:Local">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<InProcess logger="{@logger}">
<xsl:if test="@unsetHeaderValue">
<xsl:attribute name="unsetHeaderValue"><xsl:value-of select="@unsetHeaderValue"/></xsl:attribute>
</xsl:if>
- <xsl:text> </xsl:text>
<xsl:apply-templates select="oldconf:Implementation/oldconf:ISAPI"/>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
</InProcess>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="oldconf:ISAPI">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<ISAPI>
<xsl:apply-templates select="@*"/>
<xsl:for-each select="oldconf:Site">
</xsl:for-each>
<xsl:text> </xsl:text>
</ISAPI>
- <xsl:text> </xsl:text>
</xsl:template>
<!-- Pull in listeners up to the top level. -->
<xsl:template match="oldconf:UnixListener">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<UnixListener address="shibd.sock"/>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="oldconf:TCPListener">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<TCPListener address="{@address}" port="{@port}" acl="{@acl}"/>
<xsl:text> </xsl:text>
</xsl:template>
<!-- Transplant old RequestMap into the new namespace, but just copy all the settings. -->
<xsl:template match="oldconf:RequestMapProvider">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<RequestMapper type="Native">
<xsl:text> </xsl:text>
<xsl:apply-templates select="./*">
</xsl:template>
<xsl:template match="oldconf:Applications">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<ApplicationDefaults id="{@id}" policyId="default" entityID="{@providerId}" homeURL="{@homeURL}" REMOTE_USER="eppn persistent-id targeted-id" signing="false" encryption="false">
<xsl:attribute name="timeout"><xsl:value-of select="../oldconf:Global/oldconf:MemorySessionCache/@AATimeout"/></xsl:attribute>
<xsl:attribute name="connectTimeout"><xsl:value-of select="../oldconf:Global/oldconf:MemorySessionCache/@AAConnectTimeout"/></xsl:attribute>
<xsl:if test="oldconf:CredentialUse/@signedAssertions">
<xsl:attribute name="requireSignedAssertions"><xsl:value-of select="oldconf:CredentialUse/@signedAssertions"/></xsl:attribute>
</xsl:if>
- <xsl:text> </xsl:text>
- <xsl:apply-templates select="oldconf:Sessions"/>
<xsl:text> </xsl:text>
+ <xsl:apply-templates select="oldconf:Sessions"/>
<xsl:apply-templates select="oldconf:Errors"/>
- <xsl:text> </xsl:text>
<xsl:apply-templates select="oldconf:CredentialUse"/>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<MetadataProvider type="Chaining">
<xsl:for-each select="oldconf:MetadataProvider|oldconf:FederationProvider">
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="oldconf:Sessions">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<Sessions exportLocation="http://localhost/{@handlerURL}/GetAssertion">
<xsl:apply-templates select="@*"/>
<xsl:text> </xsl:text>
</xsl:text>
</xsl:comment>
<xsl:for-each select="oldconf:SessionInitiator">
- <xsl:text> </xsl:text>
<xsl:apply-templates select="."/>
</xsl:for-each>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<xsl:comment>
<xsl:text>
md:AssertionConsumerService locations handle specific SSO protocol bindings,
</xsl:template>
<xsl:template match="oldconf:SessionInitiator">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<SessionInitiator type="Chaining" Location="{@Location}" acsByIndex="false" relayState="cookie">
<xsl:if test="@id">
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
<SessionInitiator type="SAML2" defaultACSIndex="1" ECP="true" template="bindingTemplate.html"/>
<xsl:text> </xsl:text>
<SessionInitiator type="Shib1" defaultACSIndex="4"/>
- <xsl:text> </xsl:text>
<xsl:if test="@wayfURL">
<xsl:if test="@wayfBinding='urn:mace:shibboleth:1.0:profiles:AuthnRequest'">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<SessionInitiator type="WAYF" URL="{@wayfURL}"/>
- <xsl:text> </xsl:text>
</xsl:if>
</xsl:if>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
</SessionInitiator>
- <xsl:text> </xsl:text>
</xsl:template>
<!-- Map <Errors> element across, adding logout templates. -->
<xsl:template match="oldconf:Errors">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<Errors>
<xsl:apply-templates select="@*"/>
<xsl:attribute name="localLogout">localLogout.html</xsl:attribute>
<xsl:template match="oldconf:CredentialUse">
<xsl:for-each select="oldconf:RelyingParty">
<xsl:if test="@TLS">
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
<RelyingParty Name="{@Name}" keyName="{@TLS}"/>
- <xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:template>
<xsl:template match="cred:FileResolver">
<xsl:param name="indent"/>
- <xsl:value-of select="substring($spaces,0,$indent)"/>
+ <xsl:value-of select="substring($spaces,0,$indent+1)"/>
<CredentialResolver type="File" key="{cred:Key/cred:Path/text()}" certificate="{cred:Certificate/cred:Path/text()}" keyName="{@Id}"/>
<xsl:text> </xsl:text>
</xsl:template>
<!-- Generic rule to pass through all element node content while converting the namespace. -->
<xsl:template match="oldconf:RequestMap|oldconf:Host|oldconf:HostRegex|oldconf:Path|oldconf:PathRegex|oldconf:htaccess|oldconf:AccessControl|oldconf:AND|oldconf:OR|oldconf:NOT">
<xsl:param name="indent"/>
- <xsl:value-of select="substring($spaces,0,$indent)"/>
+ <xsl:value-of select="substring($spaces,0,$indent+1)"/>
<xsl:element name="{name()}">
<xsl:apply-templates select="@*"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="./*">
<xsl:with-param name="indent" select="$indent + 4"/>
</xsl:apply-templates>
- <xsl:value-of select="substring($spaces,0,$indent)"/>
+ <xsl:value-of select="substring($spaces,0,$indent+1)"/>
</xsl:element>
<xsl:text> </xsl:text>
</xsl:template>
<!-- Generic rule to pass through all attributes plus text content while converting the namespace. -->
<xsl:template match="oldconf:Rule">
<xsl:param name="indent"/>
- <xsl:value-of select="substring($spaces,0,$indent)"/>
+ <xsl:value-of select="substring($spaces,0,$indent+1)"/>
<xsl:element name="{name()}">
<xsl:apply-templates select="@*"/>
<xsl:value-of select="text()"/>