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

Reply via email to