Author: markt Date: Sun May 4 03:41:48 2008 New Revision: 653195 URL: http://svn.apache.org/viewvc?rev=653195&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43080 and https://issues.apache.org/bugzilla/show_bug.cgi?id=43079 Move warning to StandardContext so a) we can check all url-patterns and b) we associate the message with the context.
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/java/org/apache/catalina/deploy/SecurityCollection.java 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=653195&r1=653194&r2=653195&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Sun May 4 03:41:48 2008 @@ -5040,20 +5040,38 @@ return (false); } if (urlPattern.startsWith("*.")) { - if (urlPattern.indexOf('/') < 0) + if (urlPattern.indexOf('/') < 0) { + checkUnusualURLPattern(urlPattern); return (true); - else + } else return (false); } if ( (urlPattern.startsWith("/")) && - (urlPattern.indexOf("*.") < 0)) + (urlPattern.indexOf("*.") < 0)) { + checkUnusualURLPattern(urlPattern); return (true); - else + } else return (false); } + /** + * Check for unusual but valid <code><url-pattern></code>s. + * See Bugzilla 34805, 43079 & 43080 + */ + private void checkUnusualURLPattern(String urlPattern) { + if (log.isInfoEnabled()) { + if(urlPattern.endsWith("*") && (urlPattern.length() < 2 || + urlPattern.charAt(urlPattern.length()-2) != '/')) { + log.info("Suspicious url pattern: \"" + urlPattern + "\"" + + " in context [" + getName() + "] - see" + + " section SRV.11.2 of the Servlet specification" ); + } + } + } + + // ------------------------------------------------------------- Operations Modified: tomcat/trunk/java/org/apache/catalina/deploy/SecurityCollection.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/SecurityCollection.java?rev=653195&r1=653194&r2=653195&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/deploy/SecurityCollection.java (original) +++ tomcat/trunk/java/org/apache/catalina/deploy/SecurityCollection.java Sun May 4 03:41:48 2008 @@ -21,9 +21,6 @@ import org.apache.catalina.util.RequestUtil; -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - import java.io.Serializable; @@ -44,9 +41,6 @@ public class SecurityCollection implements Serializable { - private static Log log = LogFactory.getLog(SecurityCollection.class); - - // ----------------------------------------------------------- Constructors @@ -188,17 +182,6 @@ if (pattern == null) return; - // Bugzilla 34805: add friendly warning. - if(pattern.endsWith("*")) { - if (pattern.charAt(pattern.length()-1) != '/') { - if (log.isDebugEnabled()) { - log.warn("Suspicious url pattern: \"" + pattern + "\"" + - " - see http://java.sun.com/aboutJava/communityprocess/first/jsr053/servlet23_PFD.pdf" + - " section 11.2" ); - } - } - } - pattern = RequestUtil.URLDecode(pattern); String results[] = new String[patterns.length + 1]; for (int i = 0; i < patterns.length; i++) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]