[
https://issues.apache.org/jira/browse/FELIX-3163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13128565#comment-13128565
]
Yanni Yan commented on FELIX-3163:
----------------------------------
What should I do?
This is my cpa.txt content:
#Fri Oct 14 09:12:16 CST 2011
0--3078218153261167892=ALLOW {
[org.osgi.service.condpermadmin.BundleLocationCondition "System Bundle"]
(java.security.AllPermission "*" "*") } "-3078218153261167892"
I think the default will be all permission. As I assigned permission to
specific bundle, other bundle will still use the default.
Should I assigned permission to all the bundles?Can you shou me the correct
examples.
What I need is to restrict some 3rd-party bundles.This is just a test for it.
> Failed in use ConditionalPermissionAdmin
> ----------------------------------------
>
> Key: FELIX-3163
> URL: https://issues.apache.org/jira/browse/FELIX-3163
> Project: Felix
> Issue Type: Bug
> Components: Framework Security
> Affects Versions: framework-4.0.0, framework.security-2.0.0
> Reporter: Yanni Yan
> Original Estimate: 5h
> Remaining Estimate: 5h
>
> I test ConditionalPermissionAdmin as follow:
> private void setLocalCPA() throws Exception {
> ServiceReference<?> srf =
> context.getServiceReference(ConditionalPermissionAdmin.class.getName());
> if (null == srf){
> throw new BundleException("Not found service: " +
> ConditionalPermissionAdmin.class.getName());
> }
>
> ConditionalPermissionAdmin cpa =
> (ConditionalPermissionAdmin)context.getService(srf);
> if (null == cpa){
> throw new BundleException("Failed to get service :" +
> ConditionalPermissionAdmin.class.getName());
> }
>
> ConditionalPermissionUpdate cpu =
> cpa.newConditionalPermissionUpdate();
> // clear all exist permissions
> cpu.getConditionalPermissionInfos().clear();
>
> // assign all permission to all bundles
> ConditionalPermissionInfo cpi =
> cpa.newConditionalPermissionInfo(null, new ConditionInfo[]{
> new
> ConditionInfo(BundleLocationCondition.class.getName(),new String[]
> {context.getBundle(0).getLocation()})
> }, new PermissionInfo[]{
> new
> PermissionInfo(AllPermission.class.getName(), "*", "*")
> }, ConditionalPermissionInfo.ALLOW);
> cpu.getConditionalPermissionInfos().add(cpi);
> // deny FilePermission to current bundle
>
> cpu.commit();
> }
> After my bundle start, felix hunged. I restart felix, felix print as follow:
> D:\Workspace\Felix>java -Djava.security.policy=all.policy -Dorg.osgi.fr
> amework.security=osgi -jar bin/felix.jar
> ERROR: Bundle org.apache.felix.bundlerepository [1] Error starting
> file:/D:/Work
> space/UniAgent/Felix/bundle/org.apache.felix.bundlerepository-1.6.6.jar
> (org.osg
> i.framework.BundleException: Unresolved constraint in bundle
> org.apache.felix.bu
> ndlerepository [1]: Unable to resolve 1.0: missing requirement [1.0]
> osgi.wiring
> .package;
> (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=
> 2.0.0))))
> org.osgi.framework.BundleException: Unresolved constraint in bundle
> org.apache.f
> elix.bundlerepository [1]: Unable to resolve 1.0: missing requirement [1.0]
> osgi
> .wiring.package;
> (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(ve
> rsion>=2.0.0)))
> at
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
> at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
> at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle org.apache.felix.gogo.command [3] Error starting
> file:/D:/Workspac
> e/UniAgent/Felix/bundle/org.apache.felix.gogo.command-0.12.0.jar
> (org.osgi.frame
> work.BundleException: Unresolved constraint in bundle
> org.apache.felix.gogo.comm
> and [3]: Unable to resolve 3.0: missing requirement [3.0]
> osgi.wiring.package; (
> &(osgi.wiring.package=org.apache.felix.service.command)(status=provisional)(vers
> ion>=0.10.0)(!(version>=1.0.0))))
> org.osgi.framework.BundleException: Unresolved constraint in bundle
> org.apache.f
> elix.gogo.command [3]: Unable to resolve 3.0: missing requirement [3.0]
> osgi.wir
> ing.package;
> (&(osgi.wiring.package=org.apache.felix.service.command)(status=pro
> visional)(version>=0.10.0)(!(version>=1.0.0)))
> at
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
> at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
> at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle org.apache.felix.gogo.runtime [4] Error starting
> file:/D:/Workspac
> e/UniAgent/Felix/bundle/org.apache.felix.gogo.runtime-0.10.0.jar
> (org.osgi.frame
> work.BundleException: Unresolved constraint in bundle
> org.apache.felix.gogo.runt
> ime [4]: Unable to resolve 4.0: missing requirement [4.0]
> osgi.wiring.package; (
> osgi.wiring.package=org.osgi.framework))
> org.osgi.framework.BundleException: Unresolved constraint in bundle
> org.apache.f
> elix.gogo.runtime [4]: Unable to resolve 4.0: missing requirement [4.0]
> osgi.wir
> ing.package; (osgi.wiring.package=org.osgi.framework)
> at
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
> at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
> at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle org.apache.felix.gogo.shell [5] Error starting
> file:/D:/Workspace/
> UniAgent/Felix/bundle/org.apache.felix.gogo.shell-0.10.0.jar
> (org.osgi.framework
> .BundleException: Unresolved constraint in bundle org.apache.felix.gogo.shell
> [5
> ]: Unable to resolve 5.0: missing requirement [5.0] osgi.wiring.package;
> (&(osgi
> .wiring.package=org.apache.felix.service.command)(status=provisional)(version>=0
> .10.0)))
> org.osgi.framework.BundleException: Unresolved constraint in bundle
> org.apache.f
> elix.gogo.shell [5]: Unable to resolve 5.0: missing requirement [5.0]
> osgi.wirin
> g.package;
> (&(osgi.wiring.package=org.apache.felix.service.command)(status=provi
> sional)(version>=0.10.0))
> at
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
> at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
> at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle First [7] Error starting file:plugins/First_1.0.0.0.jar
> (org.osgi.
> framework.BundleException: Unresolved constraint in bundle First [7]: Unable
> to
> resolve 7.0: missing requirement [7.0] osgi.wiring.package;
> (&(osgi.wiring.packa
> ge=org.osgi.framework)(version>=1.3.0)))
> org.osgi.framework.BundleException: Unresolved constraint in bundle First
> [7]: U
> nable to resolve 7.0: missing requirement [7.0] osgi.wiring.package;
> (&(osgi.wir
> ing.package=org.osgi.framework)(version>=1.3.0))
> at
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
> at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
> at java.lang.Thread.run(Unknown Source)
> I didn't know what happend. Please help me.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira