aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs21
-rw-r--r--bin/OpenSim.ini.example3
2 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 27cb137..9267721 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -88,6 +88,10 @@ namespace OpenSim
88 88
89 protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>(); 89 protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
90 90
91 private List<string> m_permsModules;
92
93 private bool m_securePermissionsLoading = true;
94
91 /// <value> 95 /// <value>
92 /// The config information passed into the OpenSimulator region server. 96 /// The config information passed into the OpenSimulator region server.
93 /// </value> 97 /// </value>
@@ -185,6 +189,11 @@ namespace OpenSim
185 CreatePIDFile(pidFile); 189 CreatePIDFile(pidFile);
186 190
187 userStatsURI = startupConfig.GetString("Stats_URI", String.Empty); 191 userStatsURI = startupConfig.GetString("Stats_URI", String.Empty);
192
193 m_securePermissionsLoading = startupConfig.GetBoolean("SecurePermissionsLoading", true);
194
195 string permissionModules = startupConfig.GetString("permissionmodules", "DefaultPermissionsModule");
196 m_permsModules = new List<string>(permissionModules.Split(','));
188 } 197 }
189 198
190 base.StartupSpecific(); 199 base.StartupSpecific();
@@ -342,6 +351,18 @@ namespace OpenSim
342 } 351 }
343 else m_log.Error("[MODULES]: The new RegionModulesController is missing..."); 352 else m_log.Error("[MODULES]: The new RegionModulesController is missing...");
344 353
354 if (m_securePermissionsLoading)
355 {
356 foreach (string s in m_permsModules)
357 {
358 if (!scene.RegionModules.ContainsKey(s))
359 {
360 m_log.Fatal("[MODULES]: Required module " + s + " not found.");
361 Environment.Exit(0);
362 }
363 }
364 }
365
345 scene.SetModuleInterfaces(); 366 scene.SetModuleInterfaces();
346// First Step of bootreport sequence 367// First Step of bootreport sequence
347 if (scene.SnmpService != null) 368 if (scene.SnmpService != null)
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 1527334..2c105bd 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -178,6 +178,9 @@
178 178
179 ;permissionmodules = "DefaultPermissionsModule" 179 ;permissionmodules = "DefaultPermissionsModule"
180 180
181 ;If any of the specified permissions modules fail to load, quit?
182 SecurePermissionsLoading = true
183
181 ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy 184 ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy
182 ; any item, etc. This may not yet be implemented uniformally. 185 ; any item, etc. This may not yet be implemented uniformally.
183 ; If set to true, then all permissions checks are carried out 186 ; If set to true, then all permissions checks are carried out