FELIX-6522 Empty name is not allowed in permissions. (#143)

- presumption: such capability can be removed as impliesDirect would return
  false too.
diff --git a/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java b/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java
index 0e970bc..ea2536c 100644
--- a/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java
@@ -389,10 +389,15 @@
 
         if (System.getSecurityManager() != null)
         {
-            for (Iterator<BundleCapability> iter = capList.iterator();iter.hasNext();)
+            for (Iterator<BundleCapability> iter = capList.iterator(); iter.hasNext();)
             {
                 BundleCapability cap = iter.next();
-                if (cap.getNamespace().equals(BundleRevision.PACKAGE_NAMESPACE))
+                String bundleNamespace = cap.getNamespace();
+                if (bundleNamespace.isEmpty())
+                {
+                    iter.remove();
+                }
+                else if (bundleNamespace.equals(BundleRevision.PACKAGE_NAMESPACE))
                 {
                     if (!((BundleProtectionDomain) ((BundleRevisionImpl) cap.getRevision()).getProtectionDomain()).impliesDirect(
                             new PackagePermission((String) cap.getAttributes().get(BundleRevision.PACKAGE_NAMESPACE), PackagePermission.EXPORTONLY)))
@@ -400,11 +405,12 @@
                         iter.remove();
                     }
                 }
-                else if (!cap.getNamespace().equals(BundleRevision.HOST_NAMESPACE) && !cap.getNamespace().equals(BundleRevision.BUNDLE_NAMESPACE) &&
-                        !cap.getNamespace().equals("osgi.ee"))
+                else if (!bundleNamespace.equals(BundleRevision.HOST_NAMESPACE)
+                    && !bundleNamespace.equals(BundleRevision.BUNDLE_NAMESPACE)
+                    && !bundleNamespace.equals("osgi.ee"))
                 {
-                    if (!((BundleProtectionDomain) ((BundleRevisionImpl) cap.getRevision()).getProtectionDomain()).impliesDirect(
-                            new CapabilityPermission(cap.getNamespace(), CapabilityPermission.PROVIDE)))
+                    CapabilityPermission permission = new CapabilityPermission(bundleNamespace, CapabilityPermission.PROVIDE);
+                    if (!((BundleProtectionDomain) ((BundleRevisionImpl) cap.getRevision()).getProtectionDomain()).impliesDirect(permission))
                     {
                         iter.remove();
                     }