[ 
https://issues.apache.org/jira/browse/DERBY-4128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12696646#action_12696646
 ] 

Myrna van Lunteren commented on DERBY-4128:
-------------------------------------------

If I understand correctly, we're talking about a bit of an edge case - the case 
where a user has got traceDirectory set, the directory exists, they've got read 
and write permissions for derby.jar to the directory, but they've got write, 
but not read permissions in the policy file for derbynet.jar to the directory?

I think it would be acceptable to introduce the incompatibility of requiring 
the users to modify the policy files...It will only be for as long as they have 
traceDirectory on, which you probably wouldn't do for a production environment.
I think forcing a user to create the trace directory is a bigger 
incompatibility.

But, do you need read permission to create a directory? Or would that overwrite 
what's in the directory if it exists?


> Failure in ServerPropertiesTest due to java.security.AccessControlException 
> on the server side, in 10.4 to 10.5.1. soft upgrade mode
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4128
>                 URL: https://issues.apache.org/jira/browse/DERBY-4128
>             Project: Derby
>          Issue Type: Bug
>          Components: Regression Test Failure
>    Affects Versions: 10.5.1.0
>         Environment: Windows Vista 64, Sun JDK 1.6.0_10, Junit 3.8.2
>            Reporter: Suran Jayathilaka
>            Assignee: Kathey Marsden
>
> Soft upgrade from 10.4.2.0 to 10.5.1.0 (RC1).
> This test fails when run under suites.All as well as by itself.
> Steps to reproduce
> ---------------------------
> Steps followed are as follows.
> 1. Run setEmbeddedCP.bat from version 10.4.2.0's bin folder
> 2. In a test folder run ij
> 3. create system/wombat database.
>      ij> connect 'jdbc:derby:system/wombat;create=true';
> 4. exit ij
> 5. Copy the 10.5.1.0 derby jars (from lib folder) and the derbyTesting.jar 
> from 10.4.2.0 to the test folder and set classpath with them (including junit 
> and ORO)
> 6. Run test
>       java -Xmx512M -Xms512M -Dderby.tests.trace=true junit.textui.TestRunner 
> org.apache.derbyTesting.functionTests.tests.derbynet.ServerPropertiesTest
> -------------------------------
> The test failure stack trace is
> ---------------------------------------
> testToggleTrace(org.apache.derbyTesting.functionTests.tests.derbynet.ServerPropertiesTest)junit.framework.AssertionFailedError:
>  expected:<0> but was:<1>
>         at 
> org.apache.derbyTesting.junit.BaseTestCase.assertExecJavaCmdAsExpected(BaseTestCase.java:505)
>         at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ServerPropertiesTest.assertSuccessfulCmd(ServerPropertiesTest.java:389)
>         at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ServerPropertiesTest.testToggleTrace(ServerPropertiesTest.java:586)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:102)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at 
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
> The Server's log shows this exception.
> ----------------------------------------------------
> 2009-03-27 19:13:54.754 GMT : Apache Derby Network Server - 10.5.1.0 - 
> (757599) started and ready to accept connections on port 1527
> 2009-03-27 19:13:55.475 GMT : access denied (java.io.FilePermission 
> D:\projects\derby-testing\test-10.4-3\system read)
> java.security.AccessControlException: access denied (java.io.FilePermission 
> D:\projects\derby-testing\test-10.4-3\system read)
>       at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
>       at 
> java.security.AccessController.checkPermission(AccessController.java:546)
>       at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
>       at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
>       at java.io.File.exists(File.java:731)
>       at java.io.File.mkdirs(File.java:1181)
>       at org.apache.derby.impl.drda.DssTrace$1.run(Unknown Source)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at org.apache.derby.impl.drda.DssTrace.startComBufferTrace(Unknown 
> Source)
>       at org.apache.derby.impl.drda.Session.initTrace(Unknown Source)
>       at org.apache.derby.impl.drda.Session.setTraceOn(Unknown Source)
>       at org.apache.derby.impl.drda.NetworkServerControlImpl.setTrace(Unknown 
> Source)
>       at 
> org.apache.derby.impl.drda.NetworkServerControlImpl.processCommands(Unknown 
> Source)
>       at 
> org.apache.derby.impl.drda.DRDAConnThread.sessionInitialState(Unknown Source)
>       at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)

-- 
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