Read repository information in a doPriv to make security easier.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@638952 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/RepositoryImpl.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/RepositoryImpl.java
index ebdb018..aed0524 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/RepositoryImpl.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/RepositoryImpl.java
@@ -26,6 +26,7 @@
 import java.util.Arrays;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
+import java.security.*;
 
 import org.apache.felix.bundlerepository.metadataparser.XmlCommonHandler;
 import org.apache.felix.bundlerepository.metadataparser.kxmlsax.KXml2SAXParser;
@@ -45,7 +46,21 @@
     public RepositoryImpl(URL url) throws Exception
     {
         m_url = url;
-        parseRepositoryFile(m_hopCount);
+        try
+        {
+            AccessController.doPrivileged(new PrivilegedExceptionAction()
+            {
+                public Object run() throws Exception
+                {
+                    parseRepositoryFile(m_hopCount);
+                    return null;
+                }
+            });
+        } 
+        catch (PrivilegedActionException ex) 
+        {
+            throw (Exception) ex.getCause();
+        }
     }
 
     public URL getURL()