You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Karl Pauls (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2011/10/14 20:48:12 UTC

[jira] [Issue Comment Edited] (FELIX-3163) Failed in use ConditionalPermissionAdmin

    [ https://issues.apache.org/jira/browse/FELIX-3163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13127773#comment-13127773 ] 

Karl Pauls edited comment on FELIX-3163 at 10/14/11 6:47 PM:
-------------------------------------------------------------

Well, your bundle doesn't give any permission to anybody else (except the system bundle) -- hence, as soon as your code runs, nobody can do anything anymore. I'd guess that is what you called "hunged". Furthermore, after you restart the framework, your policy is still in effect and nobody can resolve anything. The exceptions you see there are just bundles failing to resolve as they don't have permission to import/export their packages. As this is true for the shell as well, you don't get a shell either.
                
      was (Author: karlpauls):
    Well, you bundle doesn't give any permission to anybody else (except the system bundle) -- hence, as soon as your code runs, nobody can do anything anymore. I'd guess that is what you called "hunged". Furthermore, after you restart the framework, your policy is still in effect and nobody can resolve anything. The exceptions you see there are just bundles failing to resolve as they don't have permission to import/export their packages. As this is true for the shell as well, you don't get a shell either.
                  
> 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