[java-centralized-discovery COMMIT] in /branches/REL_1/src/main: java/edu/internet2/middleware/shibboleth/wayf/Discov...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Mar 7 10:43:41 GMT 2012
Author: rdw
Date: Wed Mar 7 10:43:40 2012
New Revision: 2204
URL: http://svn.shibboleth.net/view/java-centralized-discovery?rev=2204&view=rev
Log:
Case SDSJ-103. Properly escape javascript strings (code derived from SP
Modified:
branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/wayf/DiscoveryServiceHandler.java
branches/REL_1/src/main/webapp/wayf.jsp
Modified: branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/wayf/DiscoveryServiceHandler.java
URL: http://svn.shibboleth.net/view/java-centralized-discovery/branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/wayf/DiscoveryServiceHandler.java?rev=2204&r1=2203&r2=2204&view=diff
==============================================================================
--- branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/wayf/DiscoveryServiceHandler.java (original)
+++ branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/wayf/DiscoveryServiceHandler.java Wed Mar 7 10:43:40 2012
@@ -840,12 +840,12 @@
if (null == returnUrl || 0 == returnUrl.length()) {
throw new WayfException("Could not find return parameter");
- }
+ }/*
try {
returnUrl = URLDecoder.decode(returnUrl, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new WayfException("Did not understand parameter ", e);
- }
+ }*/
String redirect;
if (site != null) {
StringBuffer buffer = new StringBuffer(returnUrl);
Modified: branches/REL_1/src/main/webapp/wayf.jsp
URL: http://svn.shibboleth.net/view/java-centralized-discovery/branches/REL_1/src/main/webapp/wayf.jsp?rev=2204&r1=2203&r2=2204&view=diff
==============================================================================
--- branches/REL_1/src/main/webapp/wayf.jsp (original)
+++ branches/REL_1/src/main/webapp/wayf.jsp Wed Mar 7 10:43:40 2012
@@ -8,8 +8,56 @@
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
+<%! StringBuilder jsSafe(String input) {
+ StringBuilder out = new StringBuilder();
+ int index;
+ char ch;
+ for (index = 0; index < input.length(); index++) {
+ ch = input.charAt(index);
+ switch(ch) {
+ case '"' :
+ case '\\' :
+ out.append('\\').append(ch);
+ break;
+
+ case '\n':
+ case '\r':
+ break;
+
+ case '\t' :
+ out.append("\\t");
+ break;
+
+ case '\f' :
+ out.append("\\f");
+ break;
+
+ case '\b' :
+ out.append("\\b");
+ break;
+
+ default :
+ out.append(ch);
+ break;
+ }
+ }
+ return out;
+}
+
+String getJsForEntity(IdPSite site)
+{
+ StringBuilder out = new StringBuilder(9+site.getDisplayName().length()+site.getName().length());
+ out.append("[\"");
+ out.append(jsSafe(site.getDisplayName())).append("\",\"");
+ out.append(jsSafe(site.getName())).append("\"],");
+ return out.toString();
+
+}
+%>
+
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
+
<logic:present name="showComments" scope="Request">
@@ -632,10 +680,7 @@
var theElements = [
- <logic:iterate id="site" name="sites">
- ["<%= ((edu.internet2.middleware.shibboleth.wayf.IdPSite)site).getDisplayName().replace("\n","").toString() %>",
- "<jsp:getProperty name="site" property="name" />"],
- </logic:iterate>
+ <logic:iterate id="site" name="sites"><%=getJsForEntity((edu.internet2.middleware.shibboleth.wayf.IdPSite)site)%></logic:iterate>
];
-->
More information about the commits
mailing list