diff options
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 21 | ||||
-rw-r--r-- | bin/OpenSim.ini.example | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 1ec96a0..b21793e 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -91,6 +91,10 @@ namespace OpenSim | |||
91 | 91 | ||
92 | protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>(); | 92 | protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>(); |
93 | 93 | ||
94 | private List<string> m_permsModules; | ||
95 | |||
96 | private bool m_securePermissionsLoading = true; | ||
97 | |||
94 | /// <value> | 98 | /// <value> |
95 | /// The config information passed into the OpenSimulator region server. | 99 | /// The config information passed into the OpenSimulator region server. |
96 | /// </value> | 100 | /// </value> |
@@ -188,6 +192,11 @@ namespace OpenSim | |||
188 | CreatePIDFile(pidFile); | 192 | CreatePIDFile(pidFile); |
189 | 193 | ||
190 | userStatsURI = startupConfig.GetString("Stats_URI", String.Empty); | 194 | userStatsURI = startupConfig.GetString("Stats_URI", String.Empty); |
195 | |||
196 | m_securePermissionsLoading = startupConfig.GetBoolean("SecurePermissionsLoading", true); | ||
197 | |||
198 | string permissionModules = startupConfig.GetString("permissionmodules", "DefaultPermissionsModule"); | ||
199 | m_permsModules = new List<string>(permissionModules.Split(',')); | ||
191 | } | 200 | } |
192 | 201 | ||
193 | base.StartupSpecific(); | 202 | base.StartupSpecific(); |
@@ -345,6 +354,18 @@ namespace OpenSim | |||
345 | } | 354 | } |
346 | else m_log.Error("[MODULES]: The new RegionModulesController is missing..."); | 355 | else m_log.Error("[MODULES]: The new RegionModulesController is missing..."); |
347 | 356 | ||
357 | if (m_securePermissionsLoading) | ||
358 | { | ||
359 | foreach (string s in m_permsModules) | ||
360 | { | ||
361 | if (!scene.RegionModules.ContainsKey(s)) | ||
362 | { | ||
363 | m_log.Fatal("[MODULES]: Required module " + s + " not found."); | ||
364 | Environment.Exit(0); | ||
365 | } | ||
366 | } | ||
367 | } | ||
368 | |||
348 | scene.SetModuleInterfaces(); | 369 | scene.SetModuleInterfaces(); |
349 | // First Step of bootreport sequence | 370 | // First Step of bootreport sequence |
350 | if (scene.SnmpService != null) | 371 | if (scene.SnmpService != null) |
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 526bae7..f37e3f3 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -202,6 +202,9 @@ | |||
202 | 202 | ||
203 | ;permissionmodules = "DefaultPermissionsModule" | 203 | ;permissionmodules = "DefaultPermissionsModule" |
204 | 204 | ||
205 | ;If any of the specified permissions modules fail to load, quit? | ||
206 | SecurePermissionsLoading = true | ||
207 | |||
205 | ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy | 208 | ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy |
206 | ; any item, etc. This may not yet be implemented uniformally. | 209 | ; any item, etc. This may not yet be implemented uniformally. |
207 | ; If set to true, then all permissions checks are carried out | 210 | ; If set to true, then all permissions checks are carried out |