Author: rickhall
Date: Mon Mar 14 21:31:50 2011
New Revision: 1081571
URL: http://svn.apache.org/viewvc?rev=1081571&view=rev
Log:
Need to perform security check for fragments and hosts. (FELIX-2858)
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ResolverStateImpl.java
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ResolverStateImpl.java
URL:
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ResolverStateImpl.java?rev=1081571&r1=1081570&r2=1081571&view=diff
==============================================================================
---
felix/trunk/framework/src/main/java/org/apache/felix/framework/ResolverStateImpl.java
(original)
+++
felix/trunk/framework/src/main/java/org/apache/felix/framework/ResolverStateImpl.java
Mon Mar 14 21:31:50 2011
@@ -205,8 +205,21 @@ class ResolverStateImpl implements Resol
{
continue;
}
+ else if
(req.getNamespace().equals(Capability.HOST_NAMESPACE) &&
+ (!((BundleProtectionDomain)
req.getModule().getSecurityContext())
+ .impliesDirect(new BundlePermission(
+ req.getModule().getSymbolicName(),
+ BundlePermission.FRAGMENT))
+ || !((BundleProtectionDomain)
cap.getModule().getSecurityContext())
+ .impliesDirect(new BundlePermission(
+ cap.getModule().getSymbolicName(),
+ BundlePermission.HOST))))
+ {
+ continue;
+ }
}
- else if (req.getNamespace().equals(Capability.HOST_NAMESPACE)
+
+ if (req.getNamespace().equals(Capability.HOST_NAMESPACE)
&& cap.getModule().isResolved())
{
continue;