Ensure that partial package name wild carding does not work for
either boot delegation or dynamic imports. For boot delegation
we know treat it as part of the package name (i.e., ignore it)
and for dynamic imports we throw a parsing exception. (FELIX-1400)


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@796776 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/Felix.java b/framework/src/main/java/org/apache/felix/framework/Felix.java
index 37b76e2..6565b58 100644
--- a/framework/src/main/java/org/apache/felix/framework/Felix.java
+++ b/framework/src/main/java/org/apache/felix/framework/Felix.java
@@ -321,7 +321,7 @@
         for (int i = 0; i < m_bootPkgs.length; i++)
         {
             s = st.nextToken();
-            if (s.endsWith("*"))
+            if (s.equals("*") || s.endsWith(".*"))
             {
                 m_bootPkgWildcards[i] = true;
                 s = s.substring(0, s.length() - 1);
diff --git a/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java b/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
index f0e2bd7..1794db5 100644
--- a/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
+++ b/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
@@ -229,6 +229,11 @@
                 throw new BundleException(
                     "Dynamically importing java.* packages not allowed: " + pkgName);
             }
+            else if (pkgName.endsWith("*") && !pkgName.endsWith(".*"))
+            {
+                throw new BundleException(
+                    "Partial package name wild carding is not allowed: " + pkgName);
+            }
         }
 
         //