From 59290854f24f47ee7cb8b2a242e3f771fa30229b Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sun, 8 Sep 2013 17:53:21 +0200
Subject: Reinstate SecurePermissionsLoading functionality, default ON

---
 OpenSim/Region/Application/OpenSimBase.cs | 40 +++++++++++++------------------
 1 file changed, 16 insertions(+), 24 deletions(-)

(limited to 'OpenSim')

diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 7361f50..25af9ac 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -195,7 +195,9 @@ namespace OpenSim
 
                 m_securePermissionsLoading = startupConfig.GetBoolean("SecurePermissionsLoading", true);
 
-                string permissionModules = startupConfig.GetString("permissionmodules", "DefaultPermissionsModule");
+                string permissionModules = Util.GetConfigVarFromSections<string>(Config, "permissionmodules",
+                    new string[] { "Startup", "Permissions" }, "DefaultPermissionsModule");
+
                 m_permsModules = new List<string>(permissionModules.Split(','));
             }
 
@@ -392,29 +394,19 @@ namespace OpenSim
             }
             else m_log.Error("[REGIONMODULES]: The new RegionModulesController is missing...");
 
-            // XPTO: Fix this
-//            if (m_securePermissionsLoading)
-//            {
-//                foreach (string s in m_permsModules)
-//                {
-//                    if (!scene.RegionModules.ContainsKey(s))
-//                    {
-//                        bool found = false;
-//                        foreach (IRegionModule m in modules)
-//                        {
-//                            if (m.Name == s)
-//                            {
-//                                found = true;
-//                            }
-//                        }
-//                        if (!found)
-//                        {
-//                            m_log.Fatal("[MODULES]: Required module " + s + " not found.");
-//                            Environment.Exit(0);
-//                        }
-//                    }
-//                }
-//            }
+            if (m_securePermissionsLoading)
+            {
+                foreach (string s in m_permsModules)
+                {
+                    if (!scene.RegionModules.ContainsKey(s))
+                    {
+                        m_log.Fatal("[MODULES]: Required module " + s + " not found.");
+                        Environment.Exit(0);
+                    }
+                }
+
+                m_log.InfoFormat("[SCENE]: Secure permissions loading enabled, modules loaded: {0}", String.Join(" ", m_permsModules));
+            }
 
             scene.SetModuleInterfaces();
 // First Step of bootreport sequence
-- 
cgit v1.1