Michael Koch wrote:
> Am Freitag, 8. Oktober 2004 09:42 schrieb Stephen Crawley:
> > [EMAIL PROTECTED] said:
> > > I would like to make this new class public to do away with the
> > > overhead (and initialization dependencies) of the security check,
> > > but that would require some VM magic to make the class
> > > inaccessible from untrusted code. Michael Koch (strongly) opposes
> > > this. How would you feel about it?
> >
> > Speaking as yet another JVM implementor, I'm against this idea for
> > the reasons given by Michael and others.
>
> In order to find a solution would the following be a solution
> for you:
>
> public final class VMSecureProperties
> {
> public String getProperty(String propName, String defaultValue)
> {
> GetPropertyAction getProp = new GetPropertyAction(propName,
> defaultValue);
> return (String)AccessController.doPrivileged(getProp);
> }
> }
>
> This reduces out code duplication and should it make possible to do
> whatever you want inside your VM.
This is basically what I proposed, but it is a security hole. Any code
can call VMSecureProperties.getProperty, because it's public (and it
needs to be public because it is accessed from all over Classpath).
However, I just discovered that we don't need a VM hack to shield off
the gnu.classpath package (or whatever package we pick), it is supported
functionality by the VM. Whenenever code tries to access a package and a
security manager is installed, SecurityManager.checkPackageAccess() is
called, so all we need to do is all the gnu.classpath package to the
package.access system property.
Regards,
Jeroen
_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/classpath