aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-03-12 23:05:16 +0000
committerJustin Clark-Casey (justincc)2014-03-12 23:05:16 +0000
commit296d63e20b0b77ba70257726ae519ef733865534 (patch)
treeccb78b6140f8f19cbe1d933e1891f26db0587c0d /OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
parentWhen sending group notices through group messaging, allow the agent ID to use... (diff)
downloadopensim-SC_OLD-296d63e20b0b77ba70257726ae519ef733865534.zip
opensim-SC_OLD-296d63e20b0b77ba70257726ae519ef733865534.tar.gz
opensim-SC_OLD-296d63e20b0b77ba70257726ae519ef733865534.tar.bz2
opensim-SC_OLD-296d63e20b0b77ba70257726ae519ef733865534.tar.xz
Implement osForceCreateLink() and osForceBreakLink()
These are identical to llCreateLink() and llBreakLink() except that they don't require script permissions. However, osForceCreateLink() still requires that linked and linkee still have the same owner. There's also an AutomaticLinkPermission setting in [XEngine] that could be set to true to prevent the LSL function checks. But this doesn't allow the finer control over which users/scripts, etc. can do this that the OSSL functions provide.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 4cd683c..cfc48e9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -2330,6 +2330,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2330 return retVal; 2330 return retVal;
2331 } 2331 }
2332 2332
2333 public void osForceCreateLink(string target, int parent)
2334 {
2335 CheckThreatLevel(ThreatLevel.VeryLow, "osForceCreateLink");
2336
2337 m_host.AddScriptLPS(1);
2338
2339 InitLSL();
2340 ((LSL_Api)m_LSL_Api).CreateLink(target, parent);
2341 }
2342
2343 public void osForceBreakLink(int linknum)
2344 {
2345 CheckThreatLevel(ThreatLevel.VeryLow, "osForceBreakLink");
2346
2347 m_host.AddScriptLPS(1);
2348
2349 InitLSL();
2350 ((LSL_Api)m_LSL_Api).BreakLink(linknum);
2351 }
2352
2333 public LSL_Integer osIsNpc(LSL_Key npc) 2353 public LSL_Integer osIsNpc(LSL_Key npc)
2334 { 2354 {
2335 CheckThreatLevel(ThreatLevel.None, "osIsNpc"); 2355 CheckThreatLevel(ThreatLevel.None, "osIsNpc");