[ 
https://issues.apache.org/jira/browse/DERBY-2206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466190
 ] 

Rick Hillegas commented on DERBY-2206:
--------------------------------------

Thanks for those pointers. I have run a couple experiments on the Sun 1.4, 1.5, 
and 1.6 solaris vms. I get identical results on all vms. Here are those results:

By default, I have three classloaders:

1) A sun.misc.Launcher$AppClassLoader. This is the classloader returned by 
ClassLoader.getSystemClassLoader(). It is the ClassLoader which loads classes 
which I have written. I believe that this ClassLoader is responsible for 
classes visible on the CLASSPATH. I'm going to call this the System classloader.

2) That ClassLoader has a parent, which is a sun.misc.Launcher$ExtClassLoader. 
This parent ClassLoader seems to be responsible for loading classes from jar 
files in jre/lib/ext. I'm going to call this the Extensions classloader.

3) That ClassLoader has a null parent. I sampled some classes which appear in 
the javadoc for the Sun JREs. All of the the sampled classes have null as their 
ClassLoader. This includes classes in java.*, javax.*, org.w3c.dom.*, etc. I 
think that this null represents the JRE's ClassLoader.

In trying to map this onto the concepts on the wiki page, I come up with 
something like the following:

A) SYS.CLASSPATH embraces all classes whose ClassLoader is the System 
classloader. At a minimum.

B) I don't know where to fit the classes loaded by the Extensions classloader.

C) SYS.JRE could embrace all classes whose ClassLoader is null.  I don't know 
whether the UR classloader is represented as null by other VM vendors. I also 
don't know if other vendors manage the same set of classes with their UR 
classloaders. I am worried about defining SYS.JRE as just the classes in 
java.*. I think that it would be prudent to respect the VM vendor's judgment 
about which classes cohere together under the UR classloader.





> Provide complete security model for Java routines
> -------------------------------------------------
>
>                 Key: DERBY-2206
>                 URL: https://issues.apache.org/jira/browse/DERBY-2206
>             Project: Derby
>          Issue Type: New Feature
>          Components: Security, SQL
>            Reporter: Rick Hillegas
>             Fix For: 10.3.0.0
>
>
> Add GRANT/REVOKE mechanisms to control which jar files can be mined for 
> user-created objects such as Functions and Procedures. In the future this may 
> include Aggregates and Function Tables also. The issues are summarized on the 
> following wiki page: http://wiki.apache.org/db-derby/JavaRoutineSecurity. 
> Plugin management can be tracked by this JIRA rather than by DERBY-2109. This 
> is a master JIRA to which subtasks can be linked.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to