diff options
author | Justin Clark-Casey (justincc) | 2014-03-12 23:05:16 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-03-12 23:05:16 +0000 |
commit | 296d63e20b0b77ba70257726ae519ef733865534 (patch) | |
tree | ccb78b6140f8f19cbe1d933e1891f26db0587c0d /OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |
parent | When sending group notices through group messaging, allow the agent ID to use... (diff) | |
download | opensim-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.cs | 20 |
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"); |