Applied patch to decode reference URLs. (FELIX-731)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@698228 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/cache/BundleArchive.java b/framework/src/main/java/org/apache/felix/framework/cache/BundleArchive.java
index 18c6c88..bb132f2 100644
--- a/framework/src/main/java/org/apache/felix/framework/cache/BundleArchive.java
+++ b/framework/src/main/java/org/apache/felix/framework/cache/BundleArchive.java
@@ -19,6 +19,7 @@
package org.apache.felix.framework.cache;
import java.io.*;
+import java.net.URLDecoder;
import org.apache.felix.framework.Logger;
import org.apache.felix.framework.util.ObjectInputStreamX;
@@ -1040,6 +1041,9 @@
throw new IOException("Reference URLs can only be files: " + location);
}
+ // Decode any URL escaped sequences.
+ location = URLDecoder.decode(location);
+
// Make sure the referenced file exists.
File file = new File(location.substring(FILE_PROTOCOL.length()));
if (!BundleCache.getSecureAction().fileExists(file))