Author: fhanik Date: Fri Mar 16 09:37:49 2007 New Revision: 519054 URL: http://svn.apache.org/viewvc?view=rev&rev=519054 Log: Add some options for handling URL chars, backport from TC 6.0.x
Modified: tomcat/container/branches/tc5.0.x/catalina/src/share/org/apache/coyote/tomcat5/CoyoteAdapter.java Modified: tomcat/container/branches/tc5.0.x/catalina/src/share/org/apache/coyote/tomcat5/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/container/branches/tc5.0.x/catalina/src/share/org/apache/coyote/tomcat5/CoyoteAdapter.java?view=diff&rev=519054&r1=519053&r2=519054 ============================================================================== --- tomcat/container/branches/tc5.0.x/catalina/src/share/org/apache/coyote/tomcat5/CoyoteAdapter.java (original) +++ tomcat/container/branches/tc5.0.x/catalina/src/share/org/apache/coyote/tomcat5/CoyoteAdapter.java Fri Mar 16 09:37:49 2007 @@ -53,6 +53,9 @@ implements Adapter { private static Log log = LogFactory.getLog(CoyoteAdapter.class); + + protected static final boolean ALLOW_BACKSLASH = + Boolean.valueOf(System.getProperty("org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH", "false")).booleanValue(); // -------------------------------------------------------------- Constants @@ -232,7 +235,7 @@ req.getURLDecoder().convert(decodedURI, false); } catch (IOException ioe) { res.setStatus(400); - res.setMessage("Invalid URI"); + res.setMessage("Invalid URI: "+ioe.getMessage()); throw ioe; } // Normalization @@ -473,8 +476,14 @@ // Replace '\' with '/' // Check for null byte for (pos = start; pos < end; pos++) { - if (b[pos] == (byte) '\\') - b[pos] = (byte) '/'; + if (b[pos] == (byte) '\\') { + if (ALLOW_BACKSLASH) { + b[pos] = (byte) '/'; + } else { + return false; + } + } + if (b[pos] == (byte) 0) return false; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]