[FELIX-4975] fileinstall's ConfigInstaller leaks it's permission checks to caller

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1720103 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java
index 762591a..0ef018e 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java
@@ -20,6 +20,8 @@
 
 import java.io.*;
 import java.net.URI;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.*;
 
 import org.apache.felix.cm.file.ConfigurationHandler;
@@ -86,7 +88,28 @@
         deleteConfig(artifact);
     }
 
-    public void configurationEvent(ConfigurationEvent configurationEvent)
+    public void configurationEvent(final ConfigurationEvent configurationEvent)
+    {
+        if (System.getSecurityManager() != null)
+        {
+            AccessController.doPrivileged(
+                    new PrivilegedAction<Void>()
+                    {
+                        public Void run()
+                        {
+                            doConfigurationEvent(configurationEvent);
+                            return null;
+                        }
+                    }
+            );
+        }
+        else
+        {
+            doConfigurationEvent(configurationEvent);
+        }
+    }
+
+    public void doConfigurationEvent(ConfigurationEvent configurationEvent)
     {
         // Check if writing back configurations has been disabled.
         {