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.
This commit is contained in:
Justin Clark-Casey (justincc)
2014-03-12 23:05:16 +00:00
parent beba20846f
commit 296d63e20b
4 changed files with 62 additions and 8 deletions

View File

@@ -293,6 +293,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_List osGetLinkPrimitiveParams(int linknumber, LSL_List rules);
/// <summary>
/// Identical to llCreateLink() but does not require permission from the owner.
/// </summary>
/// <param name='target'></param>
/// <param name='parent'></param>
void osForceCreateLink(string target, int parent);
/// <summary>
/// Identical to llBreakLink() but does not require permission from the owner.
/// </summary>
/// <param name='linknum'></param>
void osForceBreakLink(int linknum);
/// <summary>
/// Check if the given key is an npc
/// </summary>