[ 
https://issues.apache.org/jira/browse/DERBY-4292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tiago R. Espinha updated DERBY-4292:
------------------------------------

    Attachment: DERBY-4292-ReproTest.patch
                DERBY-4292-Fix.patch

Attaching a new fix and repro test that takes Kathey's comments into 
consideration.

- Add Apache licence header to new files -  CHECK
- For your privilege block in Main.java, use PrivilegedExceptionAction instead 
of PrivilegedAction so you can throw the original exception instead of creating 
a new one if the file is not found. See 
PrivilegedFileOpsForTests.getFileOutputStream() for an example. - CHECK
- In the test if it is using the standard policy file, why do we need to copy 
it to a special one for this test? - CHECK
- The test should be added to a suite. - CHECK
- I would keep the same name when copying IjSecurityManagerTest.sql - CHECK
- Regarding the output I am not sure the best way to handle it. There is 
System.setOut that could be set and restored, but that seems extreme. I will 
think about it.  - CHECK

Please note that both patches have to be committed. One is the repro test that 
makes the bug show, the other is the fix to patch it.

> creation of FileInputStream in org.apache.derby.impl.tools.ij.Main not 
> wrapped in privilege  block which can cause problems running under 
> SecurityManager
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4292
>                 URL: https://issues.apache.org/jira/browse/DERBY-4292
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.2.1, 10.4.2.0, 10.5.1.1, 
> 10.6.0.0
>            Reporter: Kathey Marsden
>            Assignee: Tiago R. Espinha
>         Attachments: DERBY-4292-Fix.patch, DERBY-4292-Fix.patch, 
> DERBY-4292-ReproTest.patch, DERBY-4292-ReproTest.patch, derby4292.zip
>
>
> org.apache.derby.impl.tools.ij.Main has this code where the call to 
> FileInputStream is not wrapped in a privilege block:
>                    try {
>                         in1 = new FileInputStream(file);
>                         if (in1 != null) {
>                             in1 = new BufferedInputStream(in1, 
> utilMain.BUFFEREDFILESIZE);
>                             in = langUtil.getNewInput(in1);
>                         }
>                     } catch (FileNotFoundException e) {
>                         if (Boolean.getBoolean("ij.searchClassPath")) {
>                             in = 
> langUtil.getNewInput(util.getResourceAsStream(file));
>                         }
> This can cause issues when running under SecurityManager

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to