You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2013/01/31 22:40:03 UTC

svn commit: r1441207 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java

Author: rickhall
Date: Thu Jan 31 21:40:03 2013
New Revision: 1441207

URL: http://svn.apache.org/viewvc?rev=1441207&view=rev
Log:
Don't allow generic capabilities or requirements to the osgi.wiring namespace. (FELIX-3618)

Modified:
    felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java?rev=1441207&r1=1441206&r2=1441207&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java Thu Jan 31 21:40:03 2013
@@ -552,6 +552,13 @@ public class ManifestParser
                     : new SimpleFilter(null, null, SimpleFilter.MATCH_ALL);
                 for (String path : clause.m_paths)
                 {
+                    if (path.startsWith("osgi.wiring."))
+                    {
+                        throw new BundleException("Manifest cannot use Require-Capability for '"
+                            + path
+                            + "' namespace.");
+                    }
+
                     // Create requirement and add to requirement list.
                     reqList.add(
                         new BundleRequirementImpl(
@@ -678,12 +685,20 @@ public class ManifestParser
 
     private static List<BundleCapability> convertProvideCapabilities(
         List<ParsedHeaderClause> clauses, BundleRevision owner)
+        throws BundleException
     {
         List<BundleCapability> capList = new ArrayList();
         for (ParsedHeaderClause clause : clauses)
         {
             for (String path : clause.m_paths)
             {
+                if (path.startsWith("osgi.wiring."))
+                {
+                    throw new BundleException("Manifest cannot use Provide-Capability for '"
+                        + path
+                        + "' namespace.");
+                }
+
                 // Create package capability and add to capability list.
                 capList.add(
                     new BundleCapabilityImpl(