Author: markt
Date: Mon Nov 17 08:06:24 2014
New Revision: 1640089

URL: http://svn.apache.org/r1640089
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=57216
Catch "/" as an invalid setting for context path and improve handling of
null values.

Modified:
    tomcat/tc8.0.x/trunk/   (props changed)
    tomcat/tc8.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
    tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1640088

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1640089&r1=1640088&r2=1640089&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/catalina/core/StandardContext.java 
(original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/core/StandardContext.java Mon 
Nov 17 08:06:24 2014
@@ -2008,13 +2008,20 @@ public class StandardContext extends Con
      */
     @Override
     public void setPath(String path) {
-        if (path == null || (!path.equals("") && !path.startsWith("/"))) {
+        boolean invalid = false;
+        if (path == null || path.equals("/")) {
+            path = "";
+            invalid = true;
+        } else if (!path.equals("") && !path.startsWith("/")) {
             this.path = "/" + path;
-            log.warn(sm.getString(
-                    "standardContext.pathInvalid", path, this.path));
+            invalid = true;
         } else {
             this.path = path;
         }
+        if (invalid) {
+            log.warn(sm.getString(
+                    "standardContext.pathInvalid", path, this.path));
+        }
         encodedPath = urlEncoder.encode(this.path);
         if (getName() == null) {
             setName(this.path);

Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1640089&r1=1640088&r2=1640089&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Mon Nov 17 08:06:24 2014
@@ -60,6 +60,12 @@
         in a directory context for a user with specified user name. Based on
         a patch provided by Jason McIntosh. (violetagg)
       </fix>
+      <fix>
+        <bug>57216</bug>: Improve handling of invalid context paths. A value of
+        <code>null</code> is now correctly changed to <code>&quot;&quot;</code>
+        and a value of <code>&quot;/&quot;</code> is now also changed to
+        <code>&quot;&quot;</code> and logged as invalid. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">



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

Reply via email to