You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Daniel John Debrunner (JIRA)" <de...@db.apache.org> on 2005/11/01 23:29:56 UTC
[jira] Resolved: (DERBY-656) SecurityException with accessDeclaredMembers on DatabaseMetaData.getTables.
[ http://issues.apache.org/jira/browse/DERBY-656?page=all ]
Daniel John Debrunner resolved DERBY-656:
-----------------------------------------
Fix Version: 10.2.0.0
10.1.2.1
Resolution: Fixed
Fixed in trunk (330133) and then merged to 10.1 (330136)
> SecurityException with accessDeclaredMembers on DatabaseMetaData.getTables.
> ---------------------------------------------------------------------------
>
> Key: DERBY-656
> URL: http://issues.apache.org/jira/browse/DERBY-656
> Project: Derby
> Type: Bug
> Components: Security
> Versions: 10.1.1.0
> Reporter: Daniel John Debrunner
> Assignee: Daniel John Debrunner
> Fix For: 10.1.2.1, 10.2.0.0
>
> The code to determine the size of a class is using getDeclaredMembers which requires the permission accessDeclaredMembers. Ideally should not require to grant this permission to derby.jar. Need to see which
> class's size was being calculated. The code is not in a priv block which would require granting the permission all the way up the stack.
> Maybe if the class's declared memebrs can not be accessed and the value can not be pre-calculkated then some estimate could be made. (using public fields?).
> java.security.AccessControlException: Access denied
> (java.lang.RuntimePermission accessDeclaredMembers)
> at
> java.security.AccessController.checkPermission(AccessController.
> java:107)
> at
> java.lang.SecurityManager.checkPermission(SecurityManager.java:5
> 47)
> at
> com.ibm.ws.security.core.SecurityManager.checkPermission(Securit
> yManager.java:188)
> at
> java.lang.SecurityManager.checkMemberAccess(SecurityManager.java
> :1677)
> at java.lang.Class.checkMemberAccess(Class.java:104)
> at java.lang.Class.getDeclaredFields(Class.java:508)
> at
> org.apache.derby.iapi.services.cache.ClassSize.getSizeCoefficien
> ts(Unknown Source)
> at
> org.apache.derby.iapi.services.cache.ClassSize.estimateBase(Unkn
> own Source)
> at
> org.apache.derby.iapi.store.access.BackingStoreHashtable.<cli
> nit>(Unknown Source)
> at java.lang.J9VMInternals.initializeImpl(Native
> Method)
> at
> java.lang.J9VMInternals.initialize(J9VMInternals.java:148)
> at
> org.apache.derby.impl.sql.execute.HashTableResultSet.openCore(Un
> known Source)
> at
> org.apache.derby.impl.sql.execute.JoinResultSet.openRight(Unknow
> n Source)
> at
> org.apache.derby.impl.sql.execute.JoinResultSet.openCore(Unknown
> Source)
> at
> org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openC
> ore(Unknown Source)
> at
> org.apache.derby.impl.sql.execute.SortResultSet.openCore(Unknown
> Source)
> at
> org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(U
> nknown Source)
> at
> org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unkno
> wn Source)
> at
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unkno
> wn Source)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStateme
> nt(Unknown Source)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(U
> nknown Source)
> at
> org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getTables(Unkno
> wn Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira