BZ 39813: Correct handling of new line characters in JMX attributes.
authorrjung <rjung@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 9 Jul 2007 08:45:22 +0000 (08:45 +0000)
committerrjung <rjung@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 9 Jul 2007 08:45:22 +0000 (08:45 +0000)
Patch provided by R Bramley. Ported from tc5.5.x r415029.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@554563 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/manager/JMXProxyServlet.java
webapps/docs/changelog.xml

index 27e2b34..bfa9175 100644 (file)
@@ -79,7 +79,6 @@ public class JMXProxyServlet extends HttpServlet  {
         response.setContentType("text/plain");
 
         PrintWriter writer = response.getWriter();
-        String qryString= request.getQueryString();
 
         if( mBeanServer==null ) {
             writer.println("Error - No mbean server");
@@ -113,7 +112,8 @@ public class JMXProxyServlet extends HttpServlet  {
         try {
             ObjectName oname = new ObjectName(onameStr);
             Object value = mBeanServer.getAttribute(oname, att);
-            writer.println("OK - Attribute get '" + onameStr + "' - " + att + "= " + value.toString() );
+            writer.println("OK - Attribute get '" + onameStr + "' - " + att
+                    + "= " + escape(value.toString()));
         } catch (Exception ex) {
             writer.println("Error - " + ex.toString());
         }
@@ -203,7 +203,7 @@ public class JMXProxyServlet extends HttpServlet  {
         int prev=0;
         StringBuffer sb=new StringBuffer();
         while( idx >= 0 ) {
-            appendHead(sb, value, prev, idx-1);
+            appendHead(sb, value, prev, idx);
 
             sb.append( "\\n\n ");
             prev=idx+1;
@@ -216,6 +216,8 @@ public class JMXProxyServlet extends HttpServlet  {
     }
 
     private void appendHead( StringBuffer sb, String value, int start, int end) {
+        if (end < 1) return;
+
         int pos=start;
         while( end-pos > 78 ) {
             sb.append( value.substring(pos, pos+78));
index c450011..9e9cac9 100644 (file)
   <subsection name="Webapps">
     <changelog>
       <fix>
-         <bug>42459</bug>: Tomcat Web Application Manager table error (rjung)
+        <bug>39813</bug>: Correct handling of new line characters in JMX
+        attributes. Patch provided by R Bramley. Ported from tc5.5.x r415029. (markt,rjung)
+      </fix>
+      <fix>
+         <bug>42459</bug>: Fix Tomcat Web Application Manager table error. (rjung)
       </fix>
     </changelog>
   </subsection>