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 (JIRA)" <ji...@apache.org> on 2010/04/21 12:58:49 UTC
[jira] Assigned: (FELIX-2294) Patch Framework Security for
compatibility
[ https://issues.apache.org/jira/browse/FELIX-2294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Karl Pauls reassigned FELIX-2294:
---------------------------------
Assignee: Karl Pauls
> Patch Framework Security for compatibility
> ------------------------------------------
>
> Key: FELIX-2294
> URL: https://issues.apache.org/jira/browse/FELIX-2294
> Project: Felix
> Issue Type: Task
> Components: Framework Security
> Reporter: François Goichon
> Assignee: Karl Pauls
> Priority: Minor
> Attachments: felix.security.patch
>
>
> Current version of Felix Framework Security in trunk is compatible with old 2.0.4 Felix version.
> Would it be possible to integrate something like the following patch to framework.security so that it works with current trunk ?
> Thanks,
> François
> Index: src/main/java/org/apache/felix/framework/SecurityProviderImpl.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/SecurityProviderImpl.java (révision 935820)
> +++ src/main/java/org/apache/felix/framework/SecurityProviderImpl.java (copie de travail)
> @@ -27,7 +27,8 @@
> import org.apache.felix.framework.security.util.TrustManager;
> import org.apache.felix.framework.security.verifier.BundleDNParser;
> import org.apache.felix.framework.util.SecureAction;
> -import org.apache.felix.moduleloader.IModule;
> +//import org.apache.felix.moduleloader.IModule;
> +import org.apache.felix.framework.resolver.Module;
> import org.osgi.framework.Bundle;
> /**
> @@ -59,7 +60,7 @@
> */
> public void checkBundle(Bundle bundle) throws Exception
> {
> - IModule module = ((BundleImpl) bundle).getCurrentModule();
> + Module module = ((BundleImpl) bundle).getCurrentModule();
> m_parser.checkDNChains(module, module.getContent(),
> Bundle.SIGNERS_TRUSTED);
> }
> @@ -69,7 +70,7 @@
> */
> public Object getSignerMatcher(final Bundle bundle, int signersType)
> {
> - IModule module = ((BundleImpl) bundle).getCurrentModule();
> + Module module = ((BundleImpl) bundle).getCurrentModule();
> return m_parser.getDNChains(module, module.getContent(), signersType);
> }
> @@ -84,7 +85,7 @@
> {
> BundleProtectionDomain pd = (BundleProtectionDomain) bundleProtectionDomain;
> BundleImpl bundle = pd.getBundle();
> - IModule module = pd.getModule();
> + Module module = pd.getModule();
> if (bundle.getBundleId() == 0)
> {
> @@ -131,4 +132,4 @@
> return false;
> }
> -}
> \ No newline at end of file
> +}
> Index: src/main/java/org/apache/felix/framework/security/condpermadmin/ConditionalPermissionAdminImpl.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/security/condpermadmin/ConditionalPermissionAdminImpl.java (révision 935820)
> +++ src/main/java/org/apache/felix/framework/security/condpermadmin/ConditionalPermissionAdminImpl.java (copie de travail)
> @@ -56,11 +56,20 @@
> import org.apache.felix.framework.security.util.PropertiesCache;
> import org.apache.felix.framework.util.IteratorToEnumeration;
> import org.apache.felix.framework.util.manifestparser.R4Library;
> +
> +/*
> import org.apache.felix.moduleloader.ICapability;
> import org.apache.felix.moduleloader.IContent;
> import org.apache.felix.moduleloader.IModule;
> import org.apache.felix.moduleloader.IRequirement;
> import org.apache.felix.moduleloader.IWire;
> +*/
> +import org.apache.felix.framework.capabilityset.Capability;
> +import org.apache.felix.framework.capabilityset.Requirement;
> +import org.apache.felix.framework.resolver.Content;
> +import org.apache.felix.framework.resolver.Module;
> +import org.apache.felix.framework.resolver.Wire;
> +
> import org.osgi.framework.Bundle;
> import org.osgi.framework.BundleContext;
> import org.osgi.framework.BundleException;
> @@ -654,7 +663,7 @@
> {
> return result.booleanValue();
> }
> - if (eval(posts, new IModule()
> + if (eval(posts, new Module()
> {
> public Bundle getBundle()
> @@ -662,7 +671,7 @@
> return fake;
> }
> - public ICapability[] getCapabilities()
> + public List<Capability> getCapabilities()
> {
> return null;
> }
> @@ -673,7 +682,7 @@
> return null;
> }
> - public IContent getContent()
> + public Content getContent()
> {
> return null;
> }
> @@ -683,7 +692,7 @@
> return 0;
> }
> - public IRequirement[] getDynamicRequirements()
> + public List<Requirement> getDynamicRequirements()
> {
> return null;
> }
> @@ -709,12 +718,12 @@
> return null;
> }
> - public R4Library[] getNativeLibraries()
> + public List<R4Library> getNativeLibraries()
> {
> return null;
> }
> - public IRequirement[] getRequirements()
> + public List<Requirement> getRequirements()
> {
> return null;
> }
> @@ -744,7 +753,7 @@
> return null;
> }
> - public IWire[] getWires()
> + public List<Wire> getWires()
> {
> return null;
> }
> @@ -921,7 +930,7 @@
> * @return true in case the permission is granted or there are postponed
> * tuples false if not. Again, see the spec for more explanations.
> */
> - public boolean hasPermission(IModule module, IContent content,
> + public boolean hasPermission(Module module, Content content,
> ProtectionDomain pd, Permission permission, boolean direct, Object admin)
> {
> // System.out.println(felixBundle + "-" + permission);
> @@ -1005,7 +1014,7 @@
> return result;
> }
> - public boolean impliesLocal(Bundle felixBundle, IContent content,
> + public boolean impliesLocal(Bundle felixBundle, Content content,
> Permission permission)
> {
> return m_localPermissions.implies(content, felixBundle, permission);
> @@ -1024,7 +1033,7 @@
> // then we make sure their permissions imply the permission and add them
> // to the list of posts. Return true in case we pass or have posts
> // else falls and clear the posts first.
> - private boolean eval(List posts, IModule module, Permission permission,
> + private boolean eval(List posts, Module module, Permission permission,
> Object admin)
> {
> List condPermInfos = null;
> Index: src/main/java/org/apache/felix/framework/security/permissionadmin/PermissionAdminImpl.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/security/permissionadmin/PermissionAdminImpl.java (révision 935820)
> +++ src/main/java/org/apache/felix/framework/security/permissionadmin/PermissionAdminImpl.java (copie de travail)
> @@ -30,7 +30,10 @@
> import org.apache.felix.framework.security.condpermadmin.ConditionalPermissionAdminImpl;
> import org.apache.felix.framework.security.util.Permissions;
> import org.apache.felix.framework.security.util.PropertiesCache;
> -import org.apache.felix.moduleloader.IContent;
> +
> +//import org.apache.felix.moduleloader.IContent;
> +import org.apache.felix.framework.resolver.Content;
> +
> import org.osgi.framework.Bundle;
> import org.osgi.service.permissionadmin.PermissionAdmin;
> import org.osgi.service.permissionadmin.PermissionInfo;
> @@ -124,7 +127,7 @@
> */
> public Boolean hasPermission(String location, Bundle bundle,
> Permission permission, ConditionalPermissionAdminImpl cpai,
> - ProtectionDomain pd, IContent content)
> + ProtectionDomain pd, Content content)
> {
> PermissionInfo[] permissions = null;
> PermissionInfo[] defaults = null;
> Index: src/main/java/org/apache/felix/framework/security/verifier/BundleDNParser.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/security/verifier/BundleDNParser.java (révision 935820)
> +++ src/main/java/org/apache/felix/framework/security/verifier/BundleDNParser.java (copie de travail)
> @@ -36,8 +36,14 @@
> import org.apache.felix.framework.security.util.BundleInputStream;
> import org.apache.felix.framework.security.util.TrustManager;
> +/*
> import org.apache.felix.moduleloader.IContent;
> import org.apache.felix.moduleloader.IModule;
> +*/
> +import org.apache.felix.framework.resolver.Content;
> +import org.apache.felix.framework.resolver.Module;
> +
> +
> import org.osgi.framework.Bundle;
> public final class BundleDNParser
> @@ -98,7 +104,7 @@
> }
> }
> - public void checkDNChains(IModule root, IContent content, int signersType)
> + public void checkDNChains(Module root, Content content, int signersType)
> throws Exception
> {
> if (signersType == Bundle.SIGNERS_TRUSTED)
> @@ -165,7 +171,7 @@
> }
> }
> - public Map getDNChains(IModule root, IContent bundleRevision,
> + public Map getDNChains(Module root, Content bundleRevision,
> int signersType)
> {
> if (signersType == Bundle.SIGNERS_TRUSTED)
> @@ -223,7 +229,7 @@
> return (result == null) ? new HashMap() : new HashMap(result);
> }
> - private Map _getDNChains(IContent content, boolean check)
> + private Map _getDNChains(Content content, boolean check)
> throws IOException
> {
> X509Certificate[] certificates = null;
> Index: src/main/java/org/apache/felix/framework/security/util/BundleInputStream.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/security/util/BundleInputStream.java (révision 935820)
> +++ src/main/java/org/apache/felix/framework/security/util/BundleInputStream.java (copie de travail)
> @@ -30,7 +30,8 @@
> import java.util.jar.JarOutputStream;
> import org.apache.felix.framework.util.IteratorToEnumeration;
> -import org.apache.felix.moduleloader.IContent;
> +//import org.apache.felix.moduleloader.IContent;
> +import org.apache.felix.framework.resolver.Content;
> /**
> * This class makes a given content available as a inputstream with a jar
> @@ -38,14 +39,14 @@
> */
> public final class BundleInputStream extends InputStream
> {
> - private final IContent m_root;
> + private final Content m_root;
> private final Enumeration m_content;
> private final OutputStreamBuffer m_outputBuffer = new OutputStreamBuffer();
> private ByteArrayInputStream m_buffer = null;
> private JarOutputStream m_output = null;
> - public BundleInputStream(IContent root) throws IOException
> + public BundleInputStream(Content root) throws IOException
> {
> m_root = root;
> Index: src/main/java/org/apache/felix/framework/security/util/LocalPermissions.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/security/util/LocalPermissions.java (révision 935820)
> +++ src/main/java/org/apache/felix/framework/security/util/LocalPermissions.java (copie de travail)
> @@ -28,7 +28,8 @@
> import java.util.Map;
> import java.util.WeakHashMap;
> -import org.apache.felix.moduleloader.IContent;
> +//import org.apache.felix.moduleloader.IContent;
> +import org.apache.felix.framework.resolver.Content;
> import org.osgi.framework.Bundle;
> import org.osgi.service.permissionadmin.PermissionInfo;
> @@ -65,7 +66,7 @@
> * the permission to check
> * @return true if implied by local permissions.
> */
> - public boolean implies(IContent content, Bundle bundle,
> + public boolean implies(Content content, Bundle bundle,
> Permission permission)
> {
> PermissionInfo[] permissions = null;
> Index: src/main/java/org/apache/felix/framework/security/util/Conditions.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/security/util/Conditions.java (révision 935820)
> +++ src/main/java/org/apache/felix/framework/security/util/Conditions.java (copie de travail)
> @@ -30,7 +30,10 @@
> import org.apache.felix.framework.security.condpermadmin.ConditionalPermissionInfoImpl;
> import org.apache.felix.framework.util.SecureAction;
> -import org.apache.felix.moduleloader.IModule;
> +
> +//import org.apache.felix.moduleloader.IModule;
> +import org.apache.felix.framework.resolver.Module;
> +
> import org.osgi.framework.Bundle;
> import org.osgi.service.condpermadmin.Condition;
> import org.osgi.service.condpermadmin.ConditionInfo;
> @@ -47,7 +50,7 @@
> private final Map m_cache = new WeakHashMap();
> - private final IModule m_module;
> + private final Module m_module;
> private final ConditionInfo[] m_conditionInfos;
> private final Condition[] m_conditions;
> @@ -58,7 +61,7 @@
> this(null, null, action);
> }
> - private Conditions(IModule module, ConditionInfo[] conditionInfos,
> + private Conditions(Module module, ConditionInfo[] conditionInfos,
> SecureAction action)
> {
> m_module = module;
> @@ -92,7 +95,7 @@
> m_action = action;
> }
> - public Conditions getConditions(IModule key, ConditionInfo[] conditions)
> + public Conditions getConditions(Module key, ConditionInfo[] conditions)
> {
> Conditions result = null;
> Map index = null;
> Index: pom.xml
> ===================================================================
> --- pom.xml (révision 936143)
> +++ pom.xml (copie de travail)
> @@ -40,13 +40,21 @@
> <dependency>
> <groupId>${pom.groupId}</groupId>
> <artifactId>org.apache.felix.framework</artifactId>
> - <version>2.0.4</version>
> + <version>2.1.0-SNAPSHOT</version>
> <scope>provided</scope>
> </dependency>
> </dependencies>
> <build>
> <plugins>
> <plugin>
> + <groupId>org.apache.maven.plugins</groupId>
> + <artifactId>maven-compiler-plugin</artifactId>
> + <configuration>
> + <target>jsr14</target>
> + <source>1.5</source>
> + </configuration>
> + </plugin>
> + <plugin>
> <groupId>org.apache.felix</groupId>
> <artifactId>maven-bundle-plugin</artifactId>
> <version>1.4.0</version>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.