Hello,
jamvm -version gives the following:
java version "1.4.2"
JamVM version 1.4.5
Gnu classpath version is the 0.9.3 (on my machine the 0.9.5 compilation quickly
ends with a StackOverflowError)
Pierre
Quoting Casey Marshall <[EMAIL PROTECTED]>:
> On May 25, 2007, at 12:37 AM, Pierre Parrend wrote:
>
> >
> > Hello,
> >
> > thanks for the tip, to tell the Classes to use the right policy
> > reader is usefull. However, I now get a ugly NullPointerException
> > in policy reading, it seems that the given reader has problem
> > reading the name of the ProtectionDomain:
> >
>
> Hmm, no, this looks more like a problem with recursive permission
> checks; that is, something needs to have a permission checked while
> it's checking a permission. It also looks like Classpath will
> eventually deny the permission your code is requesting.
>
> This is a little odd, because it looks like Classpath internal code
> is being denied a permission. That's wrong; library code should be
> able to do what it pleases.
>
> This feels like a regression. What version of Classpath and jamvm are
> you using?
>
> Thanks.
>
> > java.lang.ExceptionInInitializerError
> > at gnu.java.security.x509.X509Certificate.toString
> > (X509Certificate.java:455)
> > at java.lang.StringBuffer.append(StringBuffer.java:348)
> > at java.security.CodeSource.toString(CodeSource.java:269)
> > at java.lang.StringBuffer.append(StringBuffer.java:348)
> > at java.security.ProtectionDomain.toString(ProtectionDomain.java:
> > 212)
> > at java.lang.StringBuffer.append(StringBuffer.java:348)
> > at java.security.AccessControlContext.checkPermission
> > (AccessControlContext.java:157)
> > at java.security.AccessController.checkPermission
> > (AccessController.java:76)
> > at java.lang.SecurityManager.checkPermission
> > (SecurityManager.java:356)
> > at java.lang.SecurityManager.checkPropertyAccess
> > (SecurityManager.java:820)
> > at java.lang.System.getProperty(System.java:397)
> > at org.apache.felix.main.Main.<clinit>(Main.java:66)
> > Caused by: java.lang.NullPointerException
> > at java.io.PrintWriter.println(PrintWriter.java:395)
> > at java.io.PrintWriter.println(PrintWriter.java:523)
> > at gnu.java.security.x509.X509Certificate.toString
> > (X509Certificate.java:456)
> > at java.lang.StringBuffer.append(StringBuffer.java:348)
> > at java.security.CodeSource.toString(CodeSource.java:269)
> > at java.lang.StringBuffer.append(StringBuffer.java:348)
> > at java.security.ProtectionDomain.toString(ProtectionDomain.java:
> > 212)
> > at java.lang.StringBuffer.append(StringBuffer.java:348)
> > at java.security.AccessControlContext.checkPermission
> > (AccessControlContext.java:157)
> > at java.security.AccessController.checkPermission
> > (AccessController.java:76)
> > at java.lang.SecurityManager.checkPermission
> > (SecurityManager.java:356)
> > at java.lang.SecurityManager.checkPropertyAccess
> > (SecurityManager.java:820)
> > at java.lang.System.getProperty(System.java:418)
> > at java.io.PrintWriter.<clinit>(PrintWriter.java:381)
> > at gnu.java.security.x509.X509Certificate.toString
> > (X509Certificate.java:455)
> >
> >
> >
> >
> > Quoting Casey Marshall <[EMAIL PROTECTED]>:
> >
> >> On May 24, 2007, at 1:58 PM, Pierre Parrend wrote:
> >>
> >>>
> >>> Hello,
> >>>
> >>> for instance, I have the following command:
> >>>
> >>> jamvm -Djava.security.manager -Djava.security.policy=conf/
> >>> java.policy -cp
> >>> bin/felix.jar: org.apache.felix.main.Main
> >>> (jamvm uses the Gnu classpath, with default configuration)
> >>>
> >>> with following conf/java.policy file:
> >>>
> >>> grant codeBase "/code/osgi-projects/sfelix/sfelix0.2.2/main/-" {
> >>> permission java.io.FilePermission "/home/pierre/.felix/
> >>> testSF", "read";
> >>> permission java.lang.RuntimePermission "exitVM";
> >>> };
> >>>
> >>> which gives me following error:
> >>>
> >>> Error creating bundle cache:
> >>> permission (java.io.FilePermission /home/pierre/.felix/testSF
> >>> read) not granted:
> >>> no protection domains
> >>> Could not create framework: java.security.AccessControlException:
> >>> permission
> >>> (java.lang.RuntimePermission exitVM ) not granted: no protection
> >>> domains
> >>> java.security.AccessControlException: permission
> >>> (java.lang.RuntimePermission
> >>> exitVM ) not granted: no protection domains
> >>> at
> >>> java.security.AccessControlContext.checkPermission
> >>> (AccessControlContext.java:149)
> >>> at java.security.AccessController.checkPermission
> >>> (AccessController.java:76)
> >>> at java.lang.SecurityManager.checkPermission
> >>> (SecurityManager.java:356)
> >>> at java.lang.SecurityManager.checkExit(SecurityManager.java:475)
> >>> at java.lang.Runtime.exit(Runtime.java:171)
> >>> at java.lang.System.exit(System.java:506)
> >>> at
> >>> org.apache.felix.framework.util.SecureAction$Actions.run
> >>> (SecureAction.java:843)
> >>> at java.security.AccessController.doPrivileged
> >>> (AccessController.java:195)
> >>> at org.apache.felix.framework.util.SecureAction.exit
> >>> (SecureAction.java:624)
> >>> at org.apache.felix.framework.Felix.start(Felix.java:276)
> >>> at org.apache.felix.main.Main.main(Main.java:208)
> >>>
> >>> (executed platform is the Felix OSGi implementation, which work
> >>> well without the
> >>> security set)
> >>>
> >>
> >> One problem here is that Classpath still unfortunately uses a bogus
> >> DefaultPolicy class for its policy, not the one that reads policy
> >> files. You can force using the policy file reader by adding the
> >> option:
> >>
> >> -Dpolicy.provider=gnu.java.security.PolicyFile
> >>
> >> ...I don't know why the default policy would reject the permission
> >> checks, though, since (AFAIK) the default policy grants
> >> AllPermission.
> >
> >
> >
>
>
--
Pierre Parrend
doctorant, moniteur
laboratoire CITI, 21, Av. Jean Capelle
69621 Villeurbanne Cedex
[EMAIL PROTECTED]
www.rzo.free.fr