From 391361a8dc64b2fde0a2fb16e5b891fb4263f7ad Mon Sep 17 00:00:00 2001 From: rjung Date: Mon, 9 Jul 2007 08:44:50 +0000 Subject: [PATCH] BZ 39813: Correct handling of new line characters in JMX attributes. Patch provided by R Bramley. Ported from tc5.5.x r415029. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@554562 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/manager/JMXProxyServlet.java | 8 +++++--- java/org/apache/catalina/users/mbeans-descriptors.xml | 4 ---- webapps/docs/changelog.xml | 6 +++++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/java/org/apache/catalina/manager/JMXProxyServlet.java b/java/org/apache/catalina/manager/JMXProxyServlet.java index 27e2b345e..bfa91757a 100644 --- a/java/org/apache/catalina/manager/JMXProxyServlet.java +++ b/java/org/apache/catalina/manager/JMXProxyServlet.java @@ -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)); diff --git a/java/org/apache/catalina/users/mbeans-descriptors.xml b/java/org/apache/catalina/users/mbeans-descriptors.xml index 47b478cbb..f906b42c0 100644 --- a/java/org/apache/catalina/users/mbeans-descriptors.xml +++ b/java/org/apache/catalina/users/mbeans-descriptors.xml @@ -136,10 +136,6 @@ group="UserDatabase" type="org.apache.catalina.users.MemoryUserDatabase"> - - - 42459: Tomcat Web Application Manager table error (rjung) + 39813: Correct handling of new line characters in JMX + attributes. Patch provided by R Bramley. Ported from tc5.5.x r415029. (markt,rjung) + + + 42459: Fix Tomcat Web Application Manager table error. (rjung) Fix XSS security vulnerabilities (CVE-2007-2449) in the examples. -- 2.11.0