db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2556) Code paths for db restore do not use doPrivileged-calls, causing SecurityException
Date Fri, 11 May 2007 23:11:15 GMT

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

Kathey Marsden updated DERBY-2556:
----------------------------------

    Attachment: derby-2556-4a_alternative-patch.diff

Thanks Kristian for the patch.

I did not notice your alternative patch until after I had made another patch myself.  I preferred
yours so made the changes to StorageFactoryService and corrected a small compile error in
the patch.
I seem to be having inconsistant results running these tests.  Now I am seeing errors starting
the database with the trace below.  This is what I was getting when I first tried your patch
and may be related to my environment.  Anyway could you give it a try and commit if it works
ok for you.

Thanks

Kathey

....XSDG8 : Unable to copy directory 'verifyKey.dat' to 'C:\test\extinout\restor
erifyKey.dat' during restore. Please make sure that there is enough space and pe
java.sql.SQLException: Unable to copy directory 'verifyKey.dat' to 'C:\test\exti
mRestored\verifyKey.dat' during restore. Please make sure that there is enough s
        at org.apache.derby.iapi.error.StandardException.newException(StandardEx
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.privRestoreD
02)
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(BaseData
        at java.security.AccessController.doPrivileged1(Native Method)
        at java.security.AccessController.doPrivileged(AccessController.java(Com
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.restoreDataD
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(BaseDat
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
        at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
        at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:183)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
        at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
        at org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessMan
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
        at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
        at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:7
        at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:196)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
        at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
        at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMo
        at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderServi
        at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndSta
        at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentSer
        at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
        at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.jav
        at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30
        at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:80
        at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:209)
        at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSo
        at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSo
        at org.apache.derbyTesting.functionTests.tests.store.EncryptionKeyTest.g

        at org.apache.derbyTesting.functionTests.tests.store.EncryptionKeyTest.a
        at org.apache.derbyTesting.functionTests.tests.store.EncryptionKeyTest$2
        at java.security.AccessController.doPrivileged1(Native Method)
        at java.security.AccessController.doPrivileged(AccessController.java(Com
        at org.apache.derbyTesting.functionTests.tests.store.EncryptionKeyTest.g
.java:552)
        at org.apache.derbyTesting.functionTests.tests.store.EncryptionKeyTest.t
java:280)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
        at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
        at junit.textui.TestRunner.doRun(TestRunner.java:116)
        at junit.textui.TestRunner.start(TestRunner.java:172)
        at junit.textui.TestRunner.main(TestRunner.java:138)




> Code paths for db restore do not use doPrivileged-calls, causing SecurityException
> ----------------------------------------------------------------------------------
>
>                 Key: DERBY-2556
>                 URL: https://issues.apache.org/jira/browse/DERBY-2556
>             Project: Derby
>          Issue Type: Bug
>          Components: Services
>    Affects Versions: 10.2.2.0, 10.3.0.0
>         Environment: Derby running with a security manager.
>            Reporter: Kristian Waagan
>         Assigned To: Kathey Marsden
>             Fix For: 10.3.0.0
>
>         Attachments: derby-2556-2a_whitespace-javadoc.diff, derby-2556-3a_alternative-patch.diff,
derby-2556-3a_alternative-patch.stat, derby-2556-4a_alternative-patch.diff, derby-2556-4a_alternative-patch.stat,
derby-2556_diff.txt, derby-2556_stat.txt
>
>
> When using 'createFrom' or 'restoreFrom' in the JDBC url to restore a database from a
backup image, a SecurityException is thrown even though the policyfile for codebase derby.jar
is correctly configured (giving Derby access to the backup image).
> A few comments on this issue can be found here (and in subsequent comments): https://issues.apache.org/jira/browse/DERBY-1001#action_12439811
> A workaround is wrapping the connection call in doPrivileged at the "application-level
code", or granting the required permissions to the application codebase as well.

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


Mime
View raw message