[jira] [Created] (TIKA-2731) Unecessary call to System.getProperties() in XMLReaderUtils

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (TIKA-2731) Unecessary call to System.getProperties() in XMLReaderUtils

JIRA jira@apache.org
Ioannis Kakavas created TIKA-2731:
-------------------------------------

             Summary: Unecessary call to System.getProperties() in XMLReaderUtils
                 Key: TIKA-2731
                 URL: https://issues.apache.org/jira/browse/TIKA-2731
             Project: Tika
          Issue Type: Improvement
          Components: core
    Affects Versions: 1.19
            Reporter: Ioannis Kakavas
             Fix For: 1.20


As part of the changes introduced in [1.19 |https://github.com/apache/tika/commit/4e67928412ad56333d400f3728ecdb59d07d9d63] determineMaxEntityExpansions needs to read the jdk.xml.entityExpansionLimit System Property in order to overwrite the default value of 20, if it is set.
This is however by reading all System Properties with System.getProperties() and attempting to find the relevant key in the properties Object. The issue with this approach is that getProperties() requires
{noformat}java.util.PropertyPermission "*", "read,write"{noformat}

which is overly permissive.

A more sane approach, following the least privilege design principal would be to use System.getProperty() for the specific property that only requires
{noformat}java.util.PropertyPermission "jdk.xml.entityExpansionLimit", "read"{noformat}

 




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)