--- jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/UDecoder.java.orig 2004-11-24 11:55:55.000000000 -0500 +++ jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/UDecoder.java 2007-04-27 14:30:13.000000000 -0400 @@ -29,6 +29,9 @@ */ public final class UDecoder { + protected static final boolean ALLOW_ENCODED_SLASH = + Boolean.valueOf(System.getProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "false")).booleanValue(); + public UDecoder() { } @@ -62,6 +65,8 @@ // idx will be the smallest positive inxes ( first % or + ) if( idx2 >= 0 && idx2 < idx ) idx=idx2; if( idx < 0 ) idx=idx2; + + boolean noSlash = !(ALLOW_ENCODED_SLASH || query); for( int j=idx; j= 0 && idx2 < idx ) idx=idx2; if( idx < 0 ) idx=idx2; - + + boolean noSlash = !(ALLOW_ENCODED_SLASH || query); for( int j=idx; j