Fix ClassCastException in Permissions (FELIX-3101).
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1169678 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java b/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java
index 5427a83..2a06343 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java
@@ -69,7 +69,7 @@
*/
public Object getSignerMatcher(final Bundle bundle, int signersType)
{
- BundleRevisionImpl module = ((BundleRevisionImpl) bundle.adapt(BundleRevision.class));
+ BundleRevisionImpl module = (BundleRevisionImpl) bundle.adapt(BundleRevision.class);
return m_parser.getDNChains(module, module.getContent(), signersType);
}
diff --git a/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java b/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java
index 485652c..34468eb 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java
@@ -129,6 +129,10 @@
public boolean isSatisfied(List posts, Permissions permissions,
Permission permission)
{
+ if (m_conditionInfos == null)
+ {
+ return true;
+ }
boolean check = true;
for (int i = 0; i < m_conditionInfos.length; i++)
{
diff --git a/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java b/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java
index 651b2cd..ea190c7 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java
@@ -505,7 +505,7 @@
{
inner = new HashMap();
m_permissionCache.put(encoded,
- new SoftReference(inner, m_queue));
+ new SoftReference(inner));
}
inner.put(new Entry(permission.getClass()), new Entry(permission));
diff --git a/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java b/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java
index 1f32e91..5b2520e 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java
@@ -18,7 +18,9 @@
*/
package org.apache.felix.framework.security.util;
+import java.io.File;
import java.io.InputStream;
+import java.io.PrintStream;
import java.security.KeyStore;
import java.security.cert.CertificateFactory;
import java.util.ArrayList;
@@ -119,7 +121,7 @@
private void initCaCerts() throws Exception
{
- final Collection result = new ArrayList();
+ final Collection result = new ArrayList();
if (m_storeList.trim().length() != 0)
{