diff options
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 16 | ||||
-rw-r--r-- | bin/config-include/osslEnable.ini | 116 |
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 | ||