aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs16
-rw-r--r--bin/config-include/osslEnable.ini116
2 files changed, 66 insertions, 66 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index b84065f..1139579 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -452,7 +452,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
452 } 452 }
453 } 453 }
454 454
455
456 if (!m_FunctionPerms[function].AllowedCreators.Contains(m_item.CreatorID)) 455 if (!m_FunctionPerms[function].AllowedCreators.Contains(m_item.CreatorID))
457 return( 456 return(
458 String.Format("{0} permission denied. Script creator is not in the list of users allowed to execute this function and prim owner also has no permission.", 457 String.Format("{0} permission denied. Script creator is not in the list of users allowed to execute this function and prim owner also has no permission.",
@@ -1099,8 +1098,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1099 1098
1100 public string osGetAgentIP(string agent) 1099 public string osGetAgentIP(string agent)
1101 { 1100 {
1102 CheckThreatLevel(); // user god is the restriction 1101 CheckThreatLevel(ThreatLevel.Severe, "osGetAgentIP");
1103 if(!(World.Permissions.IsGod(m_host.OwnerID))) 1102 if(!(World.Permissions.IsGod(m_host.OwnerID))) // user god always needed
1104 return ""; 1103 return "";
1105 1104
1106 UUID avatarID = (UUID)agent; 1105 UUID avatarID = (UUID)agent;
@@ -1115,6 +1114,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1115 // fall through case, just return nothing 1114 // fall through case, just return nothing
1116 return ""; 1115 return "";
1117 } 1116 }
1117
1118 // Adam's super super custom animation functions 1118 // Adam's super super custom animation functions
1119 public void osAvatarPlayAnimation(string avatar, string animation) 1119 public void osAvatarPlayAnimation(string avatar, string animation)
1120 { 1120 {
@@ -1131,13 +1131,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1131 if(!UUID.TryParse(avatar, out avatarID)) 1131 if(!UUID.TryParse(avatar, out avatarID))
1132 return; 1132 return;
1133 1133
1134 if(!World.Entities.ContainsKey(avatarID)) 1134 ScenePresence target = World.GetScenePresence(avatarID);
1135 return;
1136
1137 ScenePresence target = null;
1138 if ((World.Entities[avatarID] is ScenePresence))
1139 target = (ScenePresence)World.Entities[avatarID];
1140
1141 if (target == null) 1135 if (target == null)
1142 return; 1136 return;
1143 1137
@@ -1417,7 +1411,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1417 1411
1418 public LSL_Vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize) 1412 public LSL_Vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize)
1419 { 1413 {
1420 CheckThreatLevel(ThreatLevel.VeryLow, "osGetDrawStringSize"); 1414 CheckThreatLevel();
1421 m_host.AddScriptLPS(1); 1415 m_host.AddScriptLPS(1);
1422 1416
1423 LSL_Vector vec = new LSL_Vector(0,0,0); 1417 LSL_Vector vec = new LSL_Vector(0,0,0);
diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini
index 1d03f83..83d9756 100644
--- a/bin/config-include/osslEnable.ini
+++ b/bin/config-include/osslEnable.ini
@@ -31,7 +31,7 @@
31 ; higher threat level OSSL functions, as detailed later on. 31 ; higher threat level OSSL functions, as detailed later on.
32 OSFunctionThreatLevel = VeryLow 32 OSFunctionThreatLevel = VeryLow
33 33
34 ; Each of the OSSL functions can be enabled or disabled individually. 34 ; Some of the OSSL functions can be enabled or disabled individually.
35 ; To disable, set the value to 'false'. 35 ; To disable, set the value to 'false'.
36 ; To enable for everyone, set the value to 'true'. 36 ; To enable for everyone, set the value to 'true'.
37 ; To enable for individuals or groups, set it to a comma separated list. This checks 37 ; To enable for individuals or groups, set it to a comma separated list. This checks
@@ -45,12 +45,10 @@
45 ; "PARCEL_OWNER" -- enable for parcel owner 45 ; "PARCEL_OWNER" -- enable for parcel owner
46 ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group 46 ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group
47 ; uuid -- enable for specified ID (may be avatar or group ID) 47 ; uuid -- enable for specified ID (may be avatar or group ID)
48 48 ; from this we can also create macros that can be include in the list as
49 ; The OSSL function name is prepended with "Allow_" and it checks against 49 ; ${XEngine|macroname} see examples below
50 ; the owners of the containing prim. There can also be entries beginning with 50
51 ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is 51 ; parcel macros
52 ; checked against the creator of the script itself.
53
54 ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if 52 ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if
55 ; a region is selling or otherwise giving away parcel ownership. By default, parcel 53 ; a region is selling or otherwise giving away parcel ownership. By default, parcel
56 ; ownership or group membership does not enable OSSL functions. Uncomment the 54 ; ownership or group membership does not enable OSSL functions. Uncomment the
@@ -62,69 +60,32 @@
62 ; osslParcelO = "PARCEL_OWNER," 60 ; osslParcelO = "PARCEL_OWNER,"
63 ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," 61 ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER,"
64 62
65 ; There are a block of functions for creating and controlling NPCs. 63 ; NPC macros
64 ; There are a block of macros to creating and controlling NPCs.
66 ; These can be mis-used so limit use to those you can trust. 65 ; These can be mis-used so limit use to those you can trust.
67 osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 66 osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
68
69; some ThreadLevel None functions no longer do level check. listed comment just to be visible
70 67
71 ; ThreatLevel None 68 ; The OSSL function name is prepended with "Allow_" and it checks against
69 ; the owners of the containing prim. There can also be entries beginning with
70 ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is
71 ; checked against the creator of the script itself.
72 72
73; Allow_osClearInertia() = true ; no level check 73; *************************************************
74; Allow_osCheckODE = true ; no level check 74
75; Allow_osCollisionSound = true ; no level check 75 ; ThreatLevel None
76; Allow_osDrawEllipse = true ; no level check
77; Allow_osDrawFilledEllipse = true ; no level check
78; Allow_osDrawFilledPolygon = true ; no level check
79; Allow_osDrawFilledRectangle = true ; no level check
80; Allow_osDrawResetTransform = true ; no level check
81; Allow_osDrawRotationTransform = true ; no level check
82; Allow_osDrawScaleTransform = true ; no level check
83; Allow_osDrawTranslationTransform = true ; no level check
84; Allow_osDrawImage = true ; no level check
85; Allow_osDrawLine = true ; no level check
86; Allow_osDrawPolygon = true ; no level check
87; Allow_osDrawRectangle = true ; no level check
88; Allow_osDrawText = true ; no level check
89; Allow_osGetAgentIP = ---- ;restricted to Administrators (GOD)
90 Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 76 Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
91 Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 77 Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
92; Allow_osGetCurrentSunHour = true ; no level check
93; Allow_osGetPhysicsEngineName = true ; no level check
94 Allow_osGetGender = true 78 Allow_osGetGender = true
95 Allow_osGetHealth = true 79 Allow_osGetHealth = true
96 Allow_osGetHealRate = true 80 Allow_osGetHealRate = true
97; Allow_osGetInertiaData = true ; no level check
98; Allow_osGetInventoryDesc = true ; no level check
99; Allow_osGetLinkNumber = true ; no level check
100; Allow_osGetMapTexture = true ; no level check
101 Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 81 Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
102; Allow_osGetRegionSize = true ; no level check
103 Allow_osGetRezzingObject = true 82 Allow_osGetRezzingObject = true
104; Allow_osGetSunParam = true ; no level check
105; Allow_osGetTerrainHeight = true ; no level check
106; Allow_osIsNpc = true ; no level check
107; Allow_osIsUUID = true ; no level check
108; Allow_osList2Double = true ; no level check
109; Allow_osMax = true ; no level check
110; Allow_osMin = true ; no level check
111; Allow_osMovePen = true ; no level check
112 Allow_osNpcGetOwner = ${XEngine|osslNPC} 83 Allow_osNpcGetOwner = ${XEngine|osslNPC}
113 Allow_osParseJSON = true 84 Allow_osParseJSON = true
114 Allow_osParseJSONNew = true 85 Allow_osParseJSONNew = true
115; Allow_osSetInertia = true ; no level check
116; Allow_osSetInertiaAsBox = true ; no level check
117; Allow_osSetInertiaAsSphere = true ; no level check
118; Allow_osSetInertiaAsCylinder = true ; no level check
119; Allow_osSetFontName = true ; no level check
120; Allow_osSetFontSize = true ; no level check
121; Allow_osSetPenCap = true ; no level check
122; Allow_osSetPenColor = true ; no level check
123; Allow_osSetPenSize = true ; no level check
124 Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 86 Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
125 Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 87 Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
126 Allow_osWindActiveModelPluginName = true 88 Allow_osWindActiveModelPluginName = true
127; Allow_osVolumeDetect = true ; no level check
128 89
129 ; ThreatLevel Nuisance 90 ; ThreatLevel Nuisance
130 Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER 91 Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER
@@ -134,7 +95,6 @@
134 Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 95 Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
135 Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 96 Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
136 Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 97 Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
137 Allow_osGetDrawStringSize = true
138 Allow_osGetWindParam = true 98 Allow_osGetWindParam = true
139 Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 99 Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
140 Allow_osReplaceString = true 100 Allow_osReplaceString = true
@@ -258,3 +218,49 @@
258 Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER 218 Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
259 Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER 219 Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
260 220
221; funtions ThreatLevel Severe with aditional internal restrictions
222 Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable)
223
224; avaiable funtions out of Threat level control (for reference only)
225; Allow_osClearInertia = true
226; Allow_osCheckODE = true
227; Allow_osCollisionSound = true
228; Allow_osDrawEllipse = true
229; Allow_osDrawFilledEllipse = true
230; Allow_osDrawFilledPolygon = true
231; Allow_osDrawFilledRectangle = true
232; Allow_osDrawResetTransform = true
233; Allow_osDrawRotationTransform = true
234; Allow_osDrawScaleTransform = true
235; Allow_osDrawTranslationTransform = true
236; Allow_osDrawImage = true
237; Allow_osDrawLine = true
238; Allow_osDrawPolygon = true
239; Allow_osDrawRectangle = true
240; Allow_osDrawText = true
241; Allow_osGetCurrentSunHour = true
242; Allow_osGetPhysicsEngineName = true
243; Allow_osGetInertiaData = true
244; Allow_osGetInventoryDesc = true
245; Allow_osGetLinkNumber = true
246; Allow_osGetMapTexture = true
247; Allow_osGetRegionSize = true
248; Allow_osGetSunParam = true
249; Allow_osGetTerrainHeight = true
250; Allow_osGetDrawStringSize = true
251; Allow_osIsNpc = true
252; Allow_osIsUUID = true
253; Allow_osList2Double = true
254; Allow_osMax = true
255; Allow_osMin = true
256; Allow_osMovePen = true
257; Allow_osSetInertia = true
258; Allow_osSetInertiaAsBox = true
259; Allow_osSetInertiaAsSphere = true
260; Allow_osSetInertiaAsCylinder = true
261; Allow_osSetFontName = true
262; Allow_osSetFontSize = true
263; Allow_osSetPenCap = true
264; Allow_osSetPenColor = true
265; Allow_osSetPenSize = true
266; Allow_osVolumeDetect = true