On 12/08/2014 13:54, Konstantin Kolinko wrote: > 2014-08-05 16:55 GMT+04:00 <ma...@apache.org>: >> Author: markt >> Date: Tue Aug 5 12:55:20 2014 >> New Revision: 1615920 >> >> URL: http://svn.apache.org/r1615920 >> Log: >> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56785 >> Avoid NullPointerException if directory exists on the class path that is not >> readable by the Tomcat user. > > Would it be better if users had to opt-in for this silent skipping?
I went for behaviour that was consistent with how this was handled in previous versions. I'm not aware that the silent skipping has caused issues but I can see the benefits of such an option. I'm not going to object - unless the patch is crazy :) - if you want to add it. Mark > > My concern that I mentioned in BZ [1] is that if permissions on web > application directories are not correctly configured, it may skip > classes that define a @WebFilter. > > [1] https://issues.apache.org/bugzilla/show_bug.cgi?id=56785#c5 > > My thought is that better default behaviour would be to treat such > unreadable directories as deployment failure, unless a user opts-in > for the feature. > > > Best regards, > Konstantin Kolinko > >> Modified: >> tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java >> tomcat/trunk/webapps/docs/changelog.xml >> >> Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java >> URL: >> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1615920&r1=1615919&r2=1615920&view=diff >> ============================================================================== >> --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java >> (original) >> +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Tue Aug >> 5 12:55:20 2014 >> @@ -1960,10 +1960,13 @@ public class ContextConfig implements Li >> boolean handlesTypesOnly) { >> >> if (file.isDirectory()) { >> + // Returns null if directory is not readable >> String[] dirs = file.list(); >> - for (String dir : dirs) { >> - processAnnotationsFile( >> - new File(file,dir), fragment, handlesTypesOnly); >> + if (dirs != null) { >> + for (String dir : dirs) { >> + processAnnotationsFile( >> + new File(file,dir), fragment, handlesTypesOnly); >> + } >> } >> } else if (file.canRead() && file.getName().endsWith(".class")) { >> try (FileInputStream fis = new FileInputStream(file)) { >> >> Modified: tomcat/trunk/webapps/docs/changelog.xml >> URL: >> http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1615920&r1=1615919&r2=1615920&view=diff >> ============================================================================== >> --- tomcat/trunk/webapps/docs/changelog.xml (original) >> +++ tomcat/trunk/webapps/docs/changelog.xml Tue Aug 5 12:55:20 2014 >> @@ -81,6 +81,11 @@ >> Cédric Couralet. (markt) >> </fix> >> <fix> >> + <bug>56785</bug>: Avoid <code>NullPointerException</code> if >> directory >> + exists on the class path that is not readable by the Tomcat user. >> + (markt) >> + </fix> >> + <fix> >> <bug>56796</bug>: Remove unnecessary sleep when stopping a web >> application. (markt) >> </fix> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: dev-h...@tomcat.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org