aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bin/config-include/osslEnable.ini
blob: 1828da1da91c32f7f78c67207c72a9732177d7f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
; Enable OSSL functions.
; Including this file in a region's set of INI files, causes the OpenSimulator
;   specific functions to be enabled.
; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and
;   refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions.

; The below file lists all the functions and specifies who has permission to
;   execute the function. Some of the functions are for maintainance or can be
;   mis-used so the permission to execute a function can be limited. Ability to
;   execute a function is based on the owner of the prim holding the script.

[XEngine]
  ; Allow the use of os* functions (some are dangerous)
  AllowOSFunctions = true

  ; Allow the user of mod* functions.  This allows a script to pass messages
  ;   to a region module via the modSendCommand() function and is used by some
  ;   modules to extend the scripting language.
  AllowMODFunctions = true

  ; Allow the use of LightShare functions.
  ; The setting enable_windlight = true must also be enabled in the [LightShare] section.
  AllowLightShareFunctions = true

  ; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe.
  ; See http://opensimulator.org/wiki/Threat_level for more information on these levels.
  ; This is the default level and can be overridden with the Allow_ specifications.
  ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher
  ;   than 'Low' unless you have a high level of trust in all the users that can run scripts
  ;   in your simulator.  It is safer to explicitly allow certain types of user to run
  ;   higher threat level OSSL functions, as detailed later on.
  OSFunctionThreatLevel = Moderate

  ; Some of the OSSL functions can be enabled or disabled individually.
  ; To disable, set the value to 'false'.
  ; To enable for everyone, set the value to 'true'.
  ; To enable for individuals or groups, set it to a comma separated list. This checks
  ;    against the owner of the object containing the script.
  ;    The comma separated entries in the list may be one of:
  ;           "GRID_GOD" -- enable for users with UserLevel >= 200
  ;           "GOD" -- enable for users with rights to be god (local or grid)
  ;           "ACTIVE_GOD" -- enable for users that are present and with active god power
  ;           "ESTATE_MANAGER" -- enable for estate manager
  ;           "ESTATE_OWNER" -- enable for estate owner
  ;           "PARCEL_OWNER" -- enable for parcel owner
  ;           "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group
  ;           uuid -- enable for specified ID (may be avatar or group ID)
  ;    from this we can also create macros that can be include in the list as
  ;    ${XEngine|macroname} see examples below

  ; parcel macros
  ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if
  ;    a region is selling or otherwise giving away parcel ownership. By default, parcel
  ;    ownership or group membership does not enable OSSL functions. Uncomment the
  ;    appropriate line below to allow parcel ownership and groups to do restricted
  ;    OSSL functions. It might be better to check the list below and edit the ones
  ;    to enable individually.
  osslParcelO = "PARCEL_OWNER,"
  osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER,"

  ; NPC macros
  ; These can be mis-used so limit use to those you can trust.
  osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER

  ; The OSSL function name is prepended with "Allow_" and it checks against
  ;   the owners of the containing prim. There can also be entries beginning with
  ;   'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is
  ;   checked against the creator of the script itself.

; *************************************************

; ThreatLevel  None
; Commented functions are out of Threat level control (for reference only)
;  Allow_osCheckODE =                true
;  Allow_osClearInertia =            true
;  Allow_osCollisionSound =          true
  Allow_osDie =                     true
;  Allow_osDrawEllipse =             true
;  Allow_osDrawFilledEllipse =       true
;  Allow_osDrawFilledPolygon =       true
;  Allow_osDrawFilledRectangle =     true
;  Allow_osDrawImage =               true
;  Allow_osDrawLine =                true
;  Allow_osDrawPolygon =             true
;  Allow_osDrawRectangle =           true
;  Allow_osDrawResetTransform =      true
;  Allow_osDrawRotationTransform =   true
;  Allow_osDrawScaleTransform =      true
;  Allow_osDrawText =                true
;  Allow_osDrawTranslationTransform = true
  Allow_osFormatString =            true
;  Allow_osGetCurrentSunHour =       true
  Allow_osGetAgents =               true
  Allow_osGetAvatarList =           true
;  Allow_osGetDrawStringSize =       true
  Allow_osGetGender =               true
  Allow_osGetGridCustom =           true
  Allow_osGetGridHomeURI =          true
  Allow_osGetGridLoginURI =         true
  Allow_osGetGridName =             true
  Allow_osGetGridNick =             true
  Allow_osGetHealth =               true
  Allow_osGetHealRate =             true
;  Allow_osGetInertiaData =          true
;  Allow_osGetInventoryDesc =        true
;  Allow_osGetLinkNumber =           true
;  Allow_osGetMapTexture =           true
  ; The notecard functions can cause a lot of load on the region if over used.
  ; So can any LSL loop.  Pffft
  Allow_osGetNotecard =             true
  Allow_osGetNotecardLine =         true
  Allow_osGetNumberOfNotecardLines = true
  Allow_osMakeNotecard =            true
  Allow_osGetNPCList =              true
;  Allow_osGetPhysicsEngineName =    true
  Allow_osGetPhysicsEngineType =    true

  Allow_osGetRegionMapTexture =     true
;  Allow_osGetRegionSize =           true
  Allow_osGetRezzingObject =        true
  Allow_osGetScriptEngineName =     true
  Allow_osGetSimulatorVersion =     true
;  Allow_osGetSunParam =             true
;  Allow_osGetTerrainHeight =        true
  Allow_osGetWindParam =            true
;  Allow_osIsNpc =                   true
;  Allow_osIsUUID =                  true
  Allow_osKey2Name =                true
;  Allow_osList2Double =             true
  Allow_osListenRegex =             true
  Allow_osLoadedCreationDate =      true
  Allow_osLoadedCreationID =        true
  Allow_osLoadedCreationTime =      true
  Allow_osMatchString =             true
;  Allow_osMax =                     true
;  Allow_osMin =                     true
  Allow_osMessageObject =           true
;  Allow_osMovePen =                 true
  Allow_osNpcCreate =               true
  Allow_osNpcGetOwner =             true
  Allow_osNpcGetPos =               true
  Allow_osNpcGetRot =               true
  Allow_osNpcLoadAppearance =       true
  Allow_osNpcMoveTo =               true
  Allow_osNpcMoveToTarget =         true
  Allow_osNpcPlayAnimation =        true
  Allow_osNpcRemove =               true
  Allow_osNpcSaveAppearance =       true
  Allow_osNpcSay =                  true
  Allow_osNpcSetProfileAbout =      true
  Allow_osNpcSetProfileImage =      true
  Allow_osNpcSetRot =               true
  Allow_osNpcShout =                true
  Allow_osNpcSit =                  true
  Allow_osNpcStand =                true
  Allow_osNpcStopAnimation =        true
  Allow_osNpcStopMoveToTarget =     true
  Allow_osNpcTouch =                true
  Allow_osNpcWhisper =              true
  Allow_osOwnerSaveAppearance =     true
  Allow_osParseJSON =               true
  Allow_osParseJSONNew =            true
  Allow_osRegexIsMatch =            true
  Allow_osReplaceString =           true
  Allow_osSetDynamicTextureData =       true
  Allow_osSetDynamicTextureDataFace =   true
  Allow_osSetDynamicTextureDataBlend =  true
  Allow_osSetDynamicTextureDataBlendFace = true
  Allow_osSetDynamicTextureURL =        true
  Allow_osSetDynamicTextureURLBlend =   true
  Allow_osSetDynamicTextureURLBlendFace = true
;  Allow_osSetFontName =             true
;  Allow_osSetFontSize =             true
;  Allow_osSetInertia =              true
;  Allow_osSetInertiaAsBox =         true
;  Allow_osSetInertiaAsSphere =      true
;  Allow_osSetInertiaAsCylinder =    true
;  Allow_osSetPenCap =               true
;  Allow_osSetPenColor =             true
;  Allow_osSetPenSize =              true
  Allow_osSetPrimitiveParams =      true
;  Allow_osVolumeDetect =            true
  Allow_osTeleportOwner =           true
  Allow_osWindActiveModelPluginName = true
  Allow_osUnixTimeToTimestamp =     true



  ; ThreatLevel  Nuisance
  Allow_osSetEstateSunSettings =    ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetRegionSunSettings =    ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetSunParam =             ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetWindParam =            ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER

  ; ThreatLevel  VeryLow
  Allow_osEjectFromGroup =          ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osForceBreakAllLinks =      ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osForceBreakLink =          ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osForceCreateLink =         ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetLinkPrimitiveParams =  ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetPrimitiveParams =      ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osInviteToGroup =           ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetParcelMediaURL =       ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetParcelSIPAddress =     ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetPrimFloatOnWater =     true
  Allow_osTerrainFlush =            ESTATE_MANAGER,ESTATE_OWNER

  ; ThreatLevel  Low
  Allow_osAvatarName2Key =          ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetAvatarHomeURI =        ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER

  ; ThreatLevel  Moderate
  Allow_osDropAttachment =          ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osDropAttachmentAt =        ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetGridGatekeeperURI =    ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetNumberOfAttachments =  ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetRegionStats =          ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetSimulatorMemory =      ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osGetSimulatorMemoryKB =    ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osMessageAttachments =      true
  Allow_osRequestURL =              true
  Allow_osRequestSecureURL =        true
  Allow_osSetSpeed =                true

  ; ThreatLevel High
  Allow_osCauseDamage =             ESTATE_MANAGER,ESTATE_OWNER
  Allow_osCauseHealing =            ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetHealth =               ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetHealRate =             ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osForceAttachToAvatar =     ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osForceDropAttachment =     ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osForceDropAttachmentAt =   ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osParcelJoin =              ESTATE_MANAGER,ESTATE_OWNER
  Allow_osParcelSetDetails =        ESTATE_MANAGER,ESTATE_OWNER
  Allow_osParcelSubdivide =         ESTATE_MANAGER,ESTATE_OWNER
  Allow_osRegionRestart =           ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetContentType =          ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetParcelDetails =        ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetProjectionParams =     ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetRegionWaterHeight =    ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetStateEvents =          false   ; deprecated
  Allow_osSetTerrainHeight =        ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetTerrainTexture =       ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER

  ; ThreatLevel  VeryHigh
  Allow_osAgentSaveAppearance =     ESTATE_MANAGER,ESTATE_OWNER
  ; Warning: The next function allows scripts to force animations on avatars without the user giving permission.
  ;   Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations.
  ;   Similar things can be said for several of the 'force' functions. Enable with care and control.
  ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions.
  Allow_osAvatarPlayAnimation =     true
  Allow_osAvatarStopAnimation =     true
  Allow_osForceAttachToOtherAvatarFromInventory = false
  Allow_osForceDetachFromAvatar =   false
  Allow_osForceOtherSit =           false
  Allow_osRegionNotice =            ESTATE_MANAGER,ESTATE_OWNER
  Allow_osSetRot  =                 ESTATE_OWNER, ESTATE_MANAGER

  ; ThreatLevel  Severe
  Allow_osConsoleCommand =          false
  Allow_osGrantScriptPermissions =  false
  Allow_osKickAvatar =              ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osRevokeScriptPermissions = false
  Allow_osTeleportAgent =           ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
  Allow_osTeleportObject =          ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER

  ; ThreatLevel  Severe with additional internal restrictions
  Allow_osGetAgentIP =              true   ; always restricted to Administrators (true or false to disable)