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))