diff options
author | Charles Krinke | 2009-07-08 20:57:26 +0000 |
---|---|---|
committer | Charles Krinke | 2009-07-08 20:57:26 +0000 |
commit | 61008c9c13e88e1979fd339257497fb079170507 (patch) | |
tree | 3dba5930cf6378bb144b0c6db8b115f583aee97c | |
parent | Thank you kindly, RandomHuman for a patch that: (diff) | |
download | opensim-SC-61008c9c13e88e1979fd339257497fb079170507.zip opensim-SC-61008c9c13e88e1979fd339257497fb079170507.tar.gz opensim-SC-61008c9c13e88e1979fd339257497fb079170507.tar.bz2 opensim-SC-61008c9c13e88e1979fd339257497fb079170507.tar.xz |
Thank you kindly, SnowDrop, for a patch that:
This add a configuration option to the MRM module called "hidden".
if MRM is marked as enabled, the module will additionally check for
the "Hidden" flag, before registering for client side scriping events.
When MRM is running hidden, it will not respond to client side
scripting events, giving serverside scripting modules, like MRMLoader
and MRMAddin the ability to leverage the MRM engine. This way, even
a possible clientside exploit will not be possible, while still
allowing the MRM engine to run.
-rw-r--r-- | OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs index c4648d2..2b84016 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs | |||
@@ -67,7 +67,14 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
67 | { | 67 | { |
68 | m_log.Info("[MRM] Enabling MRM Module"); | 68 | m_log.Info("[MRM] Enabling MRM Module"); |
69 | m_scene = scene; | 69 | m_scene = scene; |
70 | scene.EventManager.OnRezScript += EventManager_OnRezScript; | 70 | |
71 | // when hidden, we don't listen for client initiated script events | ||
72 | // only making the MRM engine available for region modules | ||
73 | if(!source.Configs["MRM"].GetBoolean("Hidden", false)) | ||
74 | { | ||
75 | scene.EventManager.OnRezScript += EventManager_OnRezScript; | ||
76 | } | ||
77 | |||
71 | scene.EventManager.OnFrame += EventManager_OnFrame; | 78 | scene.EventManager.OnFrame += EventManager_OnFrame; |
72 | 79 | ||
73 | scene.RegisterModuleInterface<IMRMModule>(this); | 80 | scene.RegisterModuleInterface<IMRMModule>(this); |
@@ -158,7 +165,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
158 | m_microthreads); | 165 | m_microthreads); |
159 | 166 | ||
160 | mmb.InitMiniModule(m_world, m_host, itemID); | 167 | mmb.InitMiniModule(m_world, m_host, itemID); |
161 | |||
162 | } | 168 | } |
163 | 169 | ||
164 | public void PostInitialise() | 170 | public void PostInitialise() |
@@ -192,7 +198,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
192 | /// <returns></returns> | 198 | /// <returns></returns> |
193 | internal string CompileFromDotNetText(string Script, string uuid) | 199 | internal string CompileFromDotNetText(string Script, string uuid) |
194 | { | 200 | { |
195 | m_log.Info("MRM 1"); | 201 | m_log.Info("MRM 1"); |
196 | const string ext = ".cs"; | 202 | const string ext = ".cs"; |
197 | const string FilePrefix = "MiniModule"; | 203 | const string FilePrefix = "MiniModule"; |
198 | 204 | ||