[java-identity-provider] branch main updated: IDP-2399 - CAS view adjustments

Scott Cantor cantor.2 at osu.edu
Tue Aug 19 15:58:32 UTC 2025


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=627df546bfc6904bd856edc52fdb0463e8fe1a52

The following commit(s) were added to refs/heads/main by this push:
     new 627df546b IDP-2399 - CAS view adjustments
627df546b is described below

commit 627df546bfc6904bd856edc52fdb0463e8fe1a52
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Aug 19 09:57:09 2025 -0400

    IDP-2399 - CAS view adjustments
---
 .../main/resources/net/shibboleth/idp/flows/cas/cas-abstract-flow.xml | 2 ++
 .../src/main/resources/net/shibboleth/idp/flows/cas/login-flow.xml    | 1 +
 .../src/main/resources/net/shibboleth/idp/views/cas/postBack.vm       | 4 ++--
 .../src/main/resources/net/shibboleth/idp/views/cas/proxyFailure.vm   | 4 ++--
 .../main/resources/net/shibboleth/idp/views/cas/validateFailure.vm    | 4 ++--
 idp-conf-impl/src/test/resources/metadata/example-metadata.xml        | 2 +-
 6 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/cas-abstract-flow.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/cas-abstract-flow.xml
index ec0abfc9e..034f9046b 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/cas-abstract-flow.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/cas-abstract-flow.xml
@@ -46,6 +46,8 @@
     <!-- View end state that produces a CAS protocol error message sent to requesting service/relying party -->
     <end-state id="ProtocolErrorView" view="cas/#{flowScope.casProtocolErrorView}">
         <on-entry>
+            <evaluate expression="T(com.google.common.xml.XmlEscapers).xmlAttributeEscaper()" result="requestScope.xmlattr" />
+            <evaluate expression="T(com.google.common.xml.XmlEscapers).xmlContentEscaper()" result="requestScope.xmltext" />
             <evaluate expression="PopulateProtocolError" />
             <evaluate expression="PopulateAuditContext" />
             <evaluate expression="WriteAuditLog" />
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/login-flow.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/login-flow.xml
index acf4b4d16..da9aa1aba 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/login-flow.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/cas/login-flow.xml
@@ -146,6 +146,7 @@
         <on-entry>
             <evaluate expression="PopulateAuditContext" />
             <evaluate expression="WriteAuditLog" />
+            <set name="requestScope.encoder" value="T(net.shibboleth.shared.codec.HTMLEncoder)" />
             <set name="requestScope.service" value="flowScope.serviceTicketResponse.service" />
             <set name="requestScope.ticketParamName" value="flowScope.serviceTicketResponse.ticketParameterName" />
             <set name="requestScope.ticket" value="flowScope.serviceTicketResponse.ticket" />
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/postBack.vm b/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/postBack.vm
index 0f6cc4797..50fa815aa 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/postBack.vm
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/postBack.vm
@@ -31,9 +31,9 @@
             </p>
         </noscript>
 
-        <form action="$service" method="post">
+        <form action="$encoder.encodeForHTMLAttribute($service)" method="post">
             <div>
-                <input type="hidden" name="$ticketParamName" value="$ticket"/>
+                <input type="hidden" name="$ticketParamName" value="$encoder.encodeForHTMLAttribute($ticket)"/>
             </div>
             <noscript>
                 <div>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/proxyFailure.vm b/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/proxyFailure.vm
index b9d191170..1893ed785 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/proxyFailure.vm
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/proxyFailure.vm
@@ -1,5 +1,5 @@
 #include("cas/header.vm")
-  <cas:proxyFailure code="$proxyTicketResponse.errorCode">
-    $proxyTicketResponse.errorDetail
+  <cas:proxyFailure code="$xmlattr.escape($proxyTicketResponse.errorCode)">
+    $xmltext.escape($proxyTicketResponse.errorDetail)
   </cas:proxyFailure>
 #include("cas/footer.vm")
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/validateFailure.vm b/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/validateFailure.vm
index 3cd98876b..9c8bc821f 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/validateFailure.vm
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/views/cas/validateFailure.vm
@@ -1,5 +1,5 @@
 #include("cas/header.vm")
-  <cas:authenticationFailure code="$ticketValidationResponse.errorCode">
-    $ticketValidationResponse.errorDetail
+  <cas:authenticationFailure code="$xmlattr.escape($ticketValidationResponse.errorCode)">
+    $xmltext.escape($ticketValidationResponse.errorDetail)
   </cas:authenticationFailure>
 #include("cas/footer.vm")
diff --git a/idp-conf-impl/src/test/resources/metadata/example-metadata.xml b/idp-conf-impl/src/test/resources/metadata/example-metadata.xml
index 15493817e..e15e0c71b 100644
--- a/idp-conf-impl/src/test/resources/metadata/example-metadata.xml
+++ b/idp-conf-impl/src/test/resources/metadata/example-metadata.xml
@@ -124,7 +124,7 @@ h+XNZ5oAql/cjrwDWw==
         <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://localhost/sp/SAML1/Artifact/ACS" index="11"/>
         <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://localhost:8443/sp/SAML1/Artifact/ACS" index="12"/>
         
-        <AssertionConsumerService Binding="https://www.apereo.org/cas/protocol/login" Location="https://localhost:8443/sp" index="13"/>
+        <AssertionConsumerService Binding="https://www.apereo.org/cas/protocol/login" Location="https://localhost/sp" index="13"/>
             
         <AttributeConsumingService isDefault="true" index="1">
         

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list