Author: markt
Date: Fri Mar 11 18:30:14 2011
New Revision: 1080714

URL: http://svn.apache.org/viewvc?rev=1080714&view=rev
Log:
Better handling for invalid context paths in server.xml

Modified:
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties?rev=1080714&r1=1080713&r2=1080714&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Fri Mar 
11 18:30:14 2011
@@ -130,6 +130,7 @@ standardContext.notStarted=Context with 
 standardContext.notWrapper=Child of a Context must be a Wrapper
 standardContext.parameter.duplicate=Duplicate context initialization parameter 
{0}
 standardContext.parameter.required=Both parameter name and parameter value are 
required
+standardContext.pathInvalid=A context path must either be an empty string or 
start with a ''/''. The path [{0}] does not meet these criteria and has been 
changed to [{1}] 
 standardContext.reloadingCompleted=Reloading Context with name [{0}] is 
completed
 standardContext.reloadingFailed=Reloading this Context failed due to previous 
errors
 standardContext.reloadingStarted=Reloading Context with name [{0}] has started

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1080714&r1=1080713&r2=1080714&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Fri Mar 11 
18:30:14 2011
@@ -2040,10 +2040,16 @@ public class StandardContext extends Con
      */
     @Override
     public void setPath(String path) {
-        this.path = path;
-        encodedPath = urlEncoder.encode(path);
+        if (path == null || (!path.equals("") && !path.startsWith("/"))) {
+            this.path = "/" + path;
+            log.warn(sm.getString(
+                    "standardContext.pathInvalid", path, this.path));
+        } else {
+            this.path = path;
+        }
+        encodedPath = urlEncoder.encode(this.path);
         if (getName() == null) {
-            setName(path);
+            setName(this.path);
         }
     }
 

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1080714&r1=1080713&r2=1080714&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Mar 11 18:30:14 2011
@@ -43,6 +43,15 @@
   Other
 -->
 <section name="Tomcat 7.0.12 (markt)">
+  <subsection name="Catalina">
+    <changelog>
+      <add>
+        Automatically correct invalid paths when specified for Context elements
+        inside server.xml and log a warning that the configuration has been
+        corrected. (markt)
+      </add>
+    </changelog>
+  </subsection>
   <subsection name="Other">
     <changelog>
       <update>



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

Reply via email to