Author: markt
Date: Mon Feb 28 18:15:48 2011
New Revision: 1075458

URL: http://svn.apache.org/viewvc?rev=1075458&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=28852
Add URL encoding where missing to parameters in URLs presented by Ant tasks to 
the Manager application.
Based on a patch by Stephane Bailliez.

Modified:
    tomcat/trunk/java/org/apache/catalina/ant/JMXGetTask.java
    tomcat/trunk/java/org/apache/catalina/ant/JMXQueryTask.java
    tomcat/trunk/java/org/apache/catalina/ant/JMXSetTask.java
    tomcat/trunk/java/org/apache/catalina/ant/ResourcesTask.java
    tomcat/trunk/java/org/apache/catalina/ant/UndeployTask.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/ant/JMXGetTask.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/JMXGetTask.java?rev=1075458&r1=1075457&r2=1075458&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ant/JMXGetTask.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ant/JMXGetTask.java Mon Feb 28 
18:15:48 2011
@@ -19,6 +19,9 @@
 package org.apache.catalina.ant;
 
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
 import org.apache.tools.ant.BuildException;
 
 
@@ -90,8 +93,13 @@ public class JMXGetTask extends Abstract
                 ("Must specify 'bean' and 'attribute' attributes");
         }
         log("Getting attribute " + attribute +
-                " in bean " + bean ); 
-        execute("/jmxproxy/?get=" + bean 
-                + "&att=" + attribute );
+                " in bean " + bean );
+        try {
+            execute("/jmxproxy/?get=" + URLEncoder.encode(bean, getCharset()) 
+                    + "&att=" + URLEncoder.encode(attribute, getCharset()));
+        } catch (UnsupportedEncodingException e) {
+            throw new BuildException
+                ("Invalid 'charset' attribute: " + getCharset());
+        }
     }
 }

Modified: tomcat/trunk/java/org/apache/catalina/ant/JMXQueryTask.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/JMXQueryTask.java?rev=1075458&r1=1075457&r2=1075458&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ant/JMXQueryTask.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ant/JMXQueryTask.java Mon Feb 28 
18:15:48 2011
@@ -19,6 +19,9 @@
 package org.apache.catalina.ant;
 
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
 import org.apache.tools.ant.BuildException;
 
 
@@ -73,7 +76,17 @@ public class JMXQueryTask extends Abstra
     @Override
     public void execute() throws BuildException {
         super.execute();
-        String queryString = (query == null) ? "":("?qry="+query);
+        String queryString;
+        if (query == null) {
+            queryString = "";
+        } else {
+            try {
+                queryString = "?qry=" + URLEncoder.encode(query, getCharset());
+            } catch (UnsupportedEncodingException e) {
+                throw new BuildException
+                    ("Invalid 'charset' attribute: " + getCharset());
+            }
+        }
         log("Query string is " + queryString); 
         execute ("/jmxproxy/" + queryString);
     }

Modified: tomcat/trunk/java/org/apache/catalina/ant/JMXSetTask.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/JMXSetTask.java?rev=1075458&r1=1075457&r2=1075458&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ant/JMXSetTask.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ant/JMXSetTask.java Mon Feb 28 
18:15:48 2011
@@ -19,6 +19,9 @@
 package org.apache.catalina.ant;
 
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
 import org.apache.tools.ant.BuildException;
 
 
@@ -113,8 +116,13 @@ public class JMXSetTask extends Abstract
         log("Setting attribute " + attribute +
                             " in bean " + bean +
                             " to " + value); 
-        execute("/jmxproxy/?set=" + bean 
-                + "&att=" + attribute 
-                + "&val=" + value);
+        try {
+            execute("/jmxproxy/?set=" + URLEncoder.encode(bean, getCharset()) 
+                    + "&att=" + URLEncoder.encode(attribute, getCharset()) 
+                    + "&val=" + URLEncoder.encode(value, getCharset()));
+        } catch (UnsupportedEncodingException e) {
+            throw new BuildException
+                ("Invalid 'charset' attribute: " + getCharset());
+        }
     }
 }

Modified: tomcat/trunk/java/org/apache/catalina/ant/ResourcesTask.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/ResourcesTask.java?rev=1075458&r1=1075457&r2=1075458&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ant/ResourcesTask.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ant/ResourcesTask.java Mon Feb 28 
18:15:48 2011
@@ -19,6 +19,9 @@
 package org.apache.catalina.ant;
 
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
 import org.apache.tools.ant.BuildException;
 
 
@@ -64,7 +67,13 @@ public class ResourcesTask extends Abstr
 
         super.execute();
         if (type != null) {
-            execute("/resources?type=" + type);
+            try {
+                execute("/resources?type=" +
+                        URLEncoder.encode(type, getCharset()));
+            } catch (UnsupportedEncodingException e) {
+                throw new BuildException
+                    ("Invalid 'charset' attribute: " + getCharset());
+            }
         } else {
             execute("/resources");
         }

Modified: tomcat/trunk/java/org/apache/catalina/ant/UndeployTask.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/UndeployTask.java?rev=1075458&r1=1075457&r2=1075458&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ant/UndeployTask.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ant/UndeployTask.java Mon Feb 28 
18:15:48 2011
@@ -19,6 +19,9 @@
 package org.apache.catalina.ant;
 
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
 import org.apache.tools.ant.BuildException;
 
 
@@ -66,7 +69,13 @@ public class UndeployTask extends Abstra
                 ("Must specify 'path' attribute");
         }
 
-        execute("/undeploy?path=" + this.path);
+        try {
+            execute("/undeploy?path=" +
+                    URLEncoder.encode(this.path, getCharset()));
+        } catch (UnsupportedEncodingException e) {
+            throw new BuildException
+                ("Invalid 'charset' attribute: " + getCharset());
+        }
     }
 
 

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1075458&r1=1075457&r2=1075458&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Mon Feb 28 18:15:48 2011
@@ -42,6 +42,17 @@
   General, Catalina, Coyote, Jasper, Cluster, Web applications, Extras, Tribes,
   Other
 -->
+<section name="Tomcat 7.0.10 (markt)">
+  <subsection name="Catalina">
+    <changelog>
+      <fix>
+        <bug>28852</bug>: Add URL encoding where missing to parameters in URLs
+        presented by Ant tasks to the Manager application. Based on a patch by
+        Stephane Bailliez. (mark) 
+      </fix>
+    </changelog>
+  </subsection>
+</section>
 <section name="Tomcat 7.0.9 (markt)">
   <subsection name="Catalina">
     <changelog>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to