amyroh 02/05/16 13:18:49 Modified: catalina/src/share/org/apache/catalina/mbeans StandardServerMBean.java Log: Add xml encoding of special characters '>', '<', ''', '"', '&' when writing out to server.xml. xml parser exception was thrown when a user enters these chracters and save in admin tool before. Revision Changes Path 1.22 +34 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java Index: StandardServerMBean.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- StandardServerMBean.java 3 May 2002 23:19:37 -0000 1.21 +++ StandardServerMBean.java 16 May 2002 20:18:49 -0000 1.22 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v 1.21 2002/05/03 23:19:37 craigmcc Exp $ - * $Revision: 1.21 $ - * $Date: 2002/05/03 23:19:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v 1.22 2002/05/16 20:18:49 amyroh Exp $ + * $Revision: 1.22 $ + * $Date: 2002/05/16 20:18:49 $ * * ==================================================================== * @@ -123,7 +123,7 @@ * <code>org.apache.catalina.core.StandardServer</code> component.</p> * * @author Amy Roh - * @version $Revision: 1.21 $ $Date: 2002/05/03 23:19:37 $ + * @version $Revision: 1.22 $ $Date: 2002/05/16 20:18:49 $ */ public class StandardServerMBean extends BaseModelMBean { @@ -333,6 +333,34 @@ // -------------------------------------------------------- Private Methods + /** Given a string, this method replaces all occurrences of + * '<', '>', '&', and '"'. + */ + + private String convertStr(String input) { + + StringBuffer filtered = new StringBuffer(input.length()); + char c; + for(int i=0; i<input.length(); i++) { + c = input.charAt(i); + if (c == '<') { + filtered.append("<"); + } else if (c == '>') { + filtered.append(">"); + } else if (c == '\'') { + filtered.append("'"); + } else if (c == '"') { + filtered.append("""); + } else if (c == '&') { + filtered.append("&"); + } else { + filtered.append(c); + } + } + return(filtered.toString()); + } + + /** * Is this an instance of the default <code>Loader</code> configuration, * with all-default properties? @@ -509,7 +537,8 @@ writer.print(' '); writer.print(descriptors[i].getName()); writer.print("=\""); - writer.print((String) value); + String strValue = convertStr((String) value); + writer.print(strValue); writer.print("\""); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>