diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 193 |
1 files changed, 99 insertions, 94 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 3f61aff..83aa245 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -209,7 +209,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
209 | 209 | ||
210 | internal void OSSLError(string msg) | 210 | internal void OSSLError(string msg) |
211 | { | 211 | { |
212 | throw new ScriptException("OSSL Runtime Error: " + msg); | 212 | OSSLShoutError("OSSL Runtime Error: " + msg); |
213 | } | 213 | } |
214 | 214 | ||
215 | /// <summary> | 215 | /// <summary> |
@@ -245,16 +245,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
245 | } | 245 | } |
246 | 246 | ||
247 | // Returns of the function is allowed. Throws a script exception if not allowed. | 247 | // Returns of the function is allowed. Throws a script exception if not allowed. |
248 | public void CheckThreatLevel(ThreatLevel level, string function) | 248 | public bool CheckThreatLevel(ThreatLevel level, string function) |
249 | { | 249 | { |
250 | if (!m_OSFunctionsEnabled) | 250 | if (!m_OSFunctionsEnabled) |
251 | OSSLError(String.Format("{0} permission denied. All OS functions are disabled.", function)); // throws | 251 | { |
252 | OSSLError(String.Format("{0} permission denied. All OS functions are disabled.", function)); | ||
253 | return false; | ||
254 | } | ||
252 | 255 | ||
253 | string reasonWhyNot = CheckThreatLevelTest(level, function); | 256 | string reasonWhyNot = CheckThreatLevelTest(level, function); |
254 | if (!String.IsNullOrEmpty(reasonWhyNot)) | 257 | if (!String.IsNullOrEmpty(reasonWhyNot)) |
255 | { | 258 | { |
256 | OSSLError(reasonWhyNot); | 259 | OSSLError(reasonWhyNot); |
260 | return false; | ||
257 | } | 261 | } |
262 | return true; | ||
258 | } | 263 | } |
259 | 264 | ||
260 | // Check to see if function is allowed. Returns an empty string if function permitted | 265 | // Check to see if function is allowed. Returns an empty string if function permitted |
@@ -422,14 +427,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
422 | 427 | ||
423 | public LSL_Integer osSetTerrainHeight(int x, int y, double val) | 428 | public LSL_Integer osSetTerrainHeight(int x, int y, double val) |
424 | { | 429 | { |
425 | CheckThreatLevel(ThreatLevel.High, "osSetTerrainHeight"); | 430 | if (!CheckThreatLevel(ThreatLevel.High, "osSetTerrainHeight")) return 0; |
426 | 431 | ||
427 | return SetTerrainHeight(x, y, val); | 432 | return SetTerrainHeight(x, y, val); |
428 | } | 433 | } |
429 | 434 | ||
430 | public LSL_Integer osTerrainSetHeight(int x, int y, double val) | 435 | public LSL_Integer osTerrainSetHeight(int x, int y, double val) |
431 | { | 436 | { |
432 | CheckThreatLevel(ThreatLevel.High, "osTerrainSetHeight"); | 437 | if (!CheckThreatLevel(ThreatLevel.High, "osTerrainSetHeight")) return 0; |
433 | OSSLDeprecated("osTerrainSetHeight", "osSetTerrainHeight"); | 438 | OSSLDeprecated("osTerrainSetHeight", "osSetTerrainHeight"); |
434 | 439 | ||
435 | return SetTerrainHeight(x, y, val); | 440 | return SetTerrainHeight(x, y, val); |
@@ -475,7 +480,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
475 | 480 | ||
476 | public void osTerrainFlush() | 481 | public void osTerrainFlush() |
477 | { | 482 | { |
478 | CheckThreatLevel(ThreatLevel.VeryLow, "osTerrainFlush"); | 483 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osTerrainFlush")) return; |
479 | m_host.AddScriptLPS(1); | 484 | m_host.AddScriptLPS(1); |
480 | 485 | ||
481 | ITerrainModule terrainModule = World.RequestModuleInterface<ITerrainModule>(); | 486 | ITerrainModule terrainModule = World.RequestModuleInterface<ITerrainModule>(); |
@@ -490,7 +495,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
490 | // The underlying functionality is fixed, since the security | 495 | // The underlying functionality is fixed, since the security |
491 | // as such is sound | 496 | // as such is sound |
492 | // | 497 | // |
493 | CheckThreatLevel(ThreatLevel.High, "osRegionRestart"); | 498 | if (!CheckThreatLevel(ThreatLevel.High, "osRegionRestart")) return 0; |
494 | 499 | ||
495 | IRestartModule restartModule = World.RequestModuleInterface<IRestartModule>(); | 500 | IRestartModule restartModule = World.RequestModuleInterface<IRestartModule>(); |
496 | m_host.AddScriptLPS(1); | 501 | m_host.AddScriptLPS(1); |
@@ -529,7 +534,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
529 | // It's high griefing potential makes this classification | 534 | // It's high griefing potential makes this classification |
530 | // necessary | 535 | // necessary |
531 | // | 536 | // |
532 | CheckThreatLevel(ThreatLevel.VeryHigh, "osRegionNotice"); | 537 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, "osRegionNotice")) return; |
533 | 538 | ||
534 | m_host.AddScriptLPS(1); | 539 | m_host.AddScriptLPS(1); |
535 | 540 | ||
@@ -544,7 +549,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
544 | // This function has no security. It can be used to destroy | 549 | // This function has no security. It can be used to destroy |
545 | // arbitrary builds the user would normally have no rights to | 550 | // arbitrary builds the user would normally have no rights to |
546 | // | 551 | // |
547 | CheckThreatLevel(ThreatLevel.VeryHigh, "osSetRot"); | 552 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, "osSetRot")) return; |
548 | 553 | ||
549 | m_host.AddScriptLPS(1); | 554 | m_host.AddScriptLPS(1); |
550 | if (World.Entities.ContainsKey(target)) | 555 | if (World.Entities.ContainsKey(target)) |
@@ -707,7 +712,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
707 | 712 | ||
708 | public bool osConsoleCommand(string command) | 713 | public bool osConsoleCommand(string command) |
709 | { | 714 | { |
710 | CheckThreatLevel(ThreatLevel.Severe, "osConsoleCommand"); | 715 | if (!CheckThreatLevel(ThreatLevel.Severe, "osConsoleCommand")) return false; |
711 | 716 | ||
712 | m_host.AddScriptLPS(1); | 717 | m_host.AddScriptLPS(1); |
713 | 718 | ||
@@ -723,7 +728,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
723 | 728 | ||
724 | public void osSetPrimFloatOnWater(int floatYN) | 729 | public void osSetPrimFloatOnWater(int floatYN) |
725 | { | 730 | { |
726 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetPrimFloatOnWater"); | 731 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osSetPrimFloatOnWater")) return; |
727 | 732 | ||
728 | m_host.AddScriptLPS(1); | 733 | m_host.AddScriptLPS(1); |
729 | 734 | ||
@@ -735,7 +740,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
735 | { | 740 | { |
736 | // High because there is no security check. High griefer potential | 741 | // High because there is no security check. High griefer potential |
737 | // | 742 | // |
738 | CheckThreatLevel(ThreatLevel.High, "osTeleportAgent"); | 743 | if (!CheckThreatLevel(ThreatLevel.High, "osTeleportAgent")) return; |
739 | 744 | ||
740 | TeleportAgent(agent, regionName, position, lookat, false); | 745 | TeleportAgent(agent, regionName, position, lookat, false); |
741 | } | 746 | } |
@@ -777,7 +782,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
777 | { | 782 | { |
778 | // High because there is no security check. High griefer potential | 783 | // High because there is no security check. High griefer potential |
779 | // | 784 | // |
780 | CheckThreatLevel(ThreatLevel.High, "osTeleportAgent"); | 785 | if (!CheckThreatLevel(ThreatLevel.High, "osTeleportAgent")) return; |
781 | 786 | ||
782 | TeleportAgent(agent, regionX, regionY, position, lookat, false); | 787 | TeleportAgent(agent, regionX, regionY, position, lookat, false); |
783 | } | 788 | } |
@@ -822,7 +827,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
822 | { | 827 | { |
823 | // High because there is no security check. High griefer potential | 828 | // High because there is no security check. High griefer potential |
824 | // | 829 | // |
825 | CheckThreatLevel(ThreatLevel.High, "osTeleportAgent"); | 830 | if (!CheckThreatLevel(ThreatLevel.High, "osTeleportAgent")) return; |
826 | 831 | ||
827 | osTeleportAgent(agent, World.RegionInfo.RegionName, position, lookat); | 832 | osTeleportAgent(agent, World.RegionInfo.RegionName, position, lookat); |
828 | } | 833 | } |
@@ -851,7 +856,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
851 | /// <param name="avatar"></param> | 856 | /// <param name="avatar"></param> |
852 | public void osForceOtherSit(string avatar) | 857 | public void osForceOtherSit(string avatar) |
853 | { | 858 | { |
854 | CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit"); | 859 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit")) return; |
855 | 860 | ||
856 | m_host.AddScriptLPS(1); | 861 | m_host.AddScriptLPS(1); |
857 | 862 | ||
@@ -866,7 +871,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
866 | /// <param name="target"></param> | 871 | /// <param name="target"></param> |
867 | public void osForceOtherSit(string avatar, string target) | 872 | public void osForceOtherSit(string avatar, string target) |
868 | { | 873 | { |
869 | CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit"); | 874 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit")) return; |
870 | 875 | ||
871 | m_host.AddScriptLPS(1); | 876 | m_host.AddScriptLPS(1); |
872 | 877 | ||
@@ -905,7 +910,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
905 | // Severe is even better coz privacy is important. | 910 | // Severe is even better coz privacy is important. |
906 | public string osGetAgentIP(string agent) | 911 | public string osGetAgentIP(string agent) |
907 | { | 912 | { |
908 | CheckThreatLevel(ThreatLevel.Severe, "osGetAgentIP"); | 913 | if (!CheckThreatLevel(ThreatLevel.Severe, "osGetAgentIP")) return ""; |
909 | 914 | ||
910 | UUID avatarID = (UUID)agent; | 915 | UUID avatarID = (UUID)agent; |
911 | 916 | ||
@@ -936,7 +941,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
936 | // Adam's super super custom animation functions | 941 | // Adam's super super custom animation functions |
937 | public void osAvatarPlayAnimation(string avatar, string animation) | 942 | public void osAvatarPlayAnimation(string avatar, string animation) |
938 | { | 943 | { |
939 | CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarPlayAnimation"); | 944 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarPlayAnimation")) return; |
940 | 945 | ||
941 | AvatarPlayAnimation(avatar, animation); | 946 | AvatarPlayAnimation(avatar, animation); |
942 | } | 947 | } |
@@ -974,7 +979,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
974 | 979 | ||
975 | public void osAvatarStopAnimation(string avatar, string animation) | 980 | public void osAvatarStopAnimation(string avatar, string animation) |
976 | { | 981 | { |
977 | CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarStopAnimation"); | 982 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarStopAnimation")) return; |
978 | 983 | ||
979 | AvatarStopAnimation(avatar, animation); | 984 | AvatarStopAnimation(avatar, animation); |
980 | } | 985 | } |
@@ -1173,7 +1178,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1173 | // It was probably added as a crutch or debugging aid, and | 1178 | // It was probably added as a crutch or debugging aid, and |
1174 | // should be removed | 1179 | // should be removed |
1175 | // | 1180 | // |
1176 | CheckThreatLevel(ThreatLevel.High, "osSetStateEvents"); | 1181 | if (!CheckThreatLevel(ThreatLevel.High, "osSetStateEvents")) return; |
1177 | m_host.AddScriptLPS(1); | 1182 | m_host.AddScriptLPS(1); |
1178 | 1183 | ||
1179 | m_host.SetScriptEvents(m_item.ItemID, events); | 1184 | m_host.SetScriptEvents(m_item.ItemID, events); |
@@ -1181,7 +1186,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1181 | 1186 | ||
1182 | public void osSetRegionWaterHeight(double height) | 1187 | public void osSetRegionWaterHeight(double height) |
1183 | { | 1188 | { |
1184 | CheckThreatLevel(ThreatLevel.High, "osSetRegionWaterHeight"); | 1189 | if (!CheckThreatLevel(ThreatLevel.High, "osSetRegionWaterHeight")) return; |
1185 | 1190 | ||
1186 | m_host.AddScriptLPS(1); | 1191 | m_host.AddScriptLPS(1); |
1187 | 1192 | ||
@@ -1196,7 +1201,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1196 | /// <param name="sunHour">The "Sun Hour" that is desired, 0...24, with 0 just after SunRise</param> | 1201 | /// <param name="sunHour">The "Sun Hour" that is desired, 0...24, with 0 just after SunRise</param> |
1197 | public void osSetRegionSunSettings(bool useEstateSun, bool sunFixed, double sunHour) | 1202 | public void osSetRegionSunSettings(bool useEstateSun, bool sunFixed, double sunHour) |
1198 | { | 1203 | { |
1199 | CheckThreatLevel(ThreatLevel.High, "osSetRegionSunSettings"); | 1204 | if (!CheckThreatLevel(ThreatLevel.High, "osSetRegionSunSettings")) return; |
1200 | 1205 | ||
1201 | m_host.AddScriptLPS(1); | 1206 | m_host.AddScriptLPS(1); |
1202 | 1207 | ||
@@ -1221,7 +1226,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1221 | /// <param name="sunHour">The "Sun Hour" that is desired, 0...24, with 0 just after SunRise</param> | 1226 | /// <param name="sunHour">The "Sun Hour" that is desired, 0...24, with 0 just after SunRise</param> |
1222 | public void osSetEstateSunSettings(bool sunFixed, double sunHour) | 1227 | public void osSetEstateSunSettings(bool sunFixed, double sunHour) |
1223 | { | 1228 | { |
1224 | CheckThreatLevel(ThreatLevel.High, "osSetEstateSunSettings"); | 1229 | if (!CheckThreatLevel(ThreatLevel.High, "osSetEstateSunSettings")) return; |
1225 | 1230 | ||
1226 | m_host.AddScriptLPS(1); | 1231 | m_host.AddScriptLPS(1); |
1227 | 1232 | ||
@@ -1288,14 +1293,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1288 | 1293 | ||
1289 | public void osSunSetParam(string param, double value) | 1294 | public void osSunSetParam(string param, double value) |
1290 | { | 1295 | { |
1291 | //// CheckThreatLevel(ThreatLevel.None, "osSunSetParam"); | 1296 | //// if (!CheckThreatLevel(ThreatLevel.None, "osSunSetParam")) return; |
1292 | OSSLDeprecated("osSunSetParam", "osSetSunParam"); | 1297 | OSSLDeprecated("osSunSetParam", "osSetSunParam"); |
1293 | SetSunParam(param, value); | 1298 | SetSunParam(param, value); |
1294 | } | 1299 | } |
1295 | 1300 | ||
1296 | public void osSetSunParam(string param, double value) | 1301 | public void osSetSunParam(string param, double value) |
1297 | { | 1302 | { |
1298 | //// CheckThreatLevel(ThreatLevel.None, "osSetSunParam"); | 1303 | //// if (!CheckThreatLevel(ThreatLevel.None, "osSetSunParam")) return; |
1299 | SetSunParam(param, value); | 1304 | SetSunParam(param, value); |
1300 | } | 1305 | } |
1301 | 1306 | ||
@@ -1325,7 +1330,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1325 | 1330 | ||
1326 | public void osSetWindParam(string plugin, string param, LSL_Float value) | 1331 | public void osSetWindParam(string plugin, string param, LSL_Float value) |
1327 | { | 1332 | { |
1328 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetWindParam"); | 1333 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osSetWindParam")) return; |
1329 | m_host.AddScriptLPS(1); | 1334 | m_host.AddScriptLPS(1); |
1330 | 1335 | ||
1331 | IWindModule module = World.RequestModuleInterface<IWindModule>(); | 1336 | IWindModule module = World.RequestModuleInterface<IWindModule>(); |
@@ -1355,7 +1360,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1355 | // Routines for creating and managing parcels programmatically | 1360 | // Routines for creating and managing parcels programmatically |
1356 | public void osParcelJoin(LSL_Vector pos1, LSL_Vector pos2) | 1361 | public void osParcelJoin(LSL_Vector pos1, LSL_Vector pos2) |
1357 | { | 1362 | { |
1358 | CheckThreatLevel(ThreatLevel.High, "osParcelJoin"); | 1363 | if (!CheckThreatLevel(ThreatLevel.High, "osParcelJoin")) return; |
1359 | m_host.AddScriptLPS(1); | 1364 | m_host.AddScriptLPS(1); |
1360 | 1365 | ||
1361 | int startx = (int)(pos1.x < pos2.x ? pos1.x : pos2.x); | 1366 | int startx = (int)(pos1.x < pos2.x ? pos1.x : pos2.x); |
@@ -1368,7 +1373,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1368 | 1373 | ||
1369 | public void osParcelSubdivide(LSL_Vector pos1, LSL_Vector pos2) | 1374 | public void osParcelSubdivide(LSL_Vector pos1, LSL_Vector pos2) |
1370 | { | 1375 | { |
1371 | CheckThreatLevel(ThreatLevel.High, "osParcelSubdivide"); | 1376 | if (!CheckThreatLevel(ThreatLevel.High, "osParcelSubdivide")) return; |
1372 | m_host.AddScriptLPS(1); | 1377 | m_host.AddScriptLPS(1); |
1373 | 1378 | ||
1374 | int startx = (int)(pos1.x < pos2.x ? pos1.x : pos2.x); | 1379 | int startx = (int)(pos1.x < pos2.x ? pos1.x : pos2.x); |
@@ -1382,7 +1387,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1382 | public void osParcelSetDetails(LSL_Vector pos, LSL_List rules) | 1387 | public void osParcelSetDetails(LSL_Vector pos, LSL_List rules) |
1383 | { | 1388 | { |
1384 | const string functionName = "osParcelSetDetails"; | 1389 | const string functionName = "osParcelSetDetails"; |
1385 | CheckThreatLevel(ThreatLevel.High, functionName); | 1390 | if (!CheckThreatLevel(ThreatLevel.High, functionName)) return; |
1386 | OSSLDeprecated(functionName, "osSetParcelDetails"); | 1391 | OSSLDeprecated(functionName, "osSetParcelDetails"); |
1387 | SetParcelDetails(pos, rules, functionName); | 1392 | SetParcelDetails(pos, rules, functionName); |
1388 | } | 1393 | } |
@@ -1390,7 +1395,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1390 | public void osSetParcelDetails(LSL_Vector pos, LSL_List rules) | 1395 | public void osSetParcelDetails(LSL_Vector pos, LSL_List rules) |
1391 | { | 1396 | { |
1392 | const string functionName = "osSetParcelDetails"; | 1397 | const string functionName = "osSetParcelDetails"; |
1393 | CheckThreatLevel(ThreatLevel.High, functionName); | 1398 | if (!CheckThreatLevel(ThreatLevel.High, functionName)) return; |
1394 | SetParcelDetails(pos, rules, functionName); | 1399 | SetParcelDetails(pos, rules, functionName); |
1395 | } | 1400 | } |
1396 | 1401 | ||
@@ -1434,19 +1439,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1434 | break; | 1439 | break; |
1435 | 1440 | ||
1436 | case ScriptBaseClass.PARCEL_DETAILS_OWNER: | 1441 | case ScriptBaseClass.PARCEL_DETAILS_OWNER: |
1437 | CheckThreatLevel(ThreatLevel.VeryHigh, functionName); | 1442 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, functionName)) return; |
1438 | if (UUID.TryParse(arg, out uuid)) | 1443 | if (UUID.TryParse(arg, out uuid)) |
1439 | newLand.OwnerID = uuid; | 1444 | newLand.OwnerID = uuid; |
1440 | break; | 1445 | break; |
1441 | 1446 | ||
1442 | case ScriptBaseClass.PARCEL_DETAILS_GROUP: | 1447 | case ScriptBaseClass.PARCEL_DETAILS_GROUP: |
1443 | CheckThreatLevel(ThreatLevel.VeryHigh, functionName); | 1448 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, functionName)) return; |
1444 | if (UUID.TryParse(arg, out uuid)) | 1449 | if (UUID.TryParse(arg, out uuid)) |
1445 | newLand.GroupID = uuid; | 1450 | newLand.GroupID = uuid; |
1446 | break; | 1451 | break; |
1447 | 1452 | ||
1448 | case ScriptBaseClass.PARCEL_DETAILS_CLAIMDATE: | 1453 | case ScriptBaseClass.PARCEL_DETAILS_CLAIMDATE: |
1449 | CheckThreatLevel(ThreatLevel.VeryHigh, functionName); | 1454 | if (!CheckThreatLevel(ThreatLevel.VeryHigh, functionName)) return; |
1450 | newLand.ClaimDate = Convert.ToInt32(arg); | 1455 | newLand.ClaimDate = Convert.ToInt32(arg); |
1451 | if (newLand.ClaimDate == 0) | 1456 | if (newLand.ClaimDate == 0) |
1452 | newLand.ClaimDate = Util.UnixTimeSinceEpoch(); | 1457 | newLand.ClaimDate = Util.UnixTimeSinceEpoch(); |
@@ -1480,7 +1485,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1480 | { | 1485 | { |
1481 | // What actually is the difference to the LL function? | 1486 | // What actually is the difference to the LL function? |
1482 | // | 1487 | // |
1483 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetParcelMediaURL"); | 1488 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osSetParcelMediaURL")) return; |
1484 | 1489 | ||
1485 | m_host.AddScriptLPS(1); | 1490 | m_host.AddScriptLPS(1); |
1486 | 1491 | ||
@@ -1496,7 +1501,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1496 | { | 1501 | { |
1497 | // What actually is the difference to the LL function? | 1502 | // What actually is the difference to the LL function? |
1498 | // | 1503 | // |
1499 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetParcelSIPAddress"); | 1504 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osSetParcelSIPAddress")) return; |
1500 | 1505 | ||
1501 | m_host.AddScriptLPS(1); | 1506 | m_host.AddScriptLPS(1); |
1502 | 1507 | ||
@@ -1643,7 +1648,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1643 | } | 1648 | } |
1644 | catch(Exception e) | 1649 | catch(Exception e) |
1645 | { | 1650 | { |
1646 | OSSLError("osParseJSONNew: Problems decoding JSON string " + JSON + " : " + e.Message) ; | 1651 | OSSLError("osParseJSONNew: Problems decoding JSON string " + JSON + " : " + e.Message); |
1647 | return null; | 1652 | return null; |
1648 | } | 1653 | } |
1649 | } | 1654 | } |
@@ -1951,7 +1956,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1951 | 1956 | ||
1952 | public string osAvatarName2Key(string firstname, string lastname) | 1957 | public string osAvatarName2Key(string firstname, string lastname) |
1953 | { | 1958 | { |
1954 | CheckThreatLevel(ThreatLevel.Low, "osAvatarName2Key"); | 1959 | if (!CheckThreatLevel(ThreatLevel.Low, "osAvatarName2Key")) return string.Empty; |
1955 | m_host.AddScriptLPS(1); | 1960 | m_host.AddScriptLPS(1); |
1956 | 1961 | ||
1957 | IUserManagement userManager = World.RequestModuleInterface<IUserManagement>(); | 1962 | IUserManagement userManager = World.RequestModuleInterface<IUserManagement>(); |
@@ -2112,7 +2117,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2112 | /// <returns></returns> | 2117 | /// <returns></returns> |
2113 | public string osGetGridNick() | 2118 | public string osGetGridNick() |
2114 | { | 2119 | { |
2115 | //// CheckThreatLevel(ThreatLevel.None, "osGetGridNick"); | 2120 | //// if (!CheckThreatLevel(ThreatLevel.None, "osGetGridNick")) return ""; |
2116 | m_host.AddScriptLPS(1); | 2121 | m_host.AddScriptLPS(1); |
2117 | 2122 | ||
2118 | string nick = String.Empty; | 2123 | string nick = String.Empty; |
@@ -2129,7 +2134,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2129 | 2134 | ||
2130 | public string osGetGridName() | 2135 | public string osGetGridName() |
2131 | { | 2136 | { |
2132 | //// CheckThreatLevel(ThreatLevel.None, "osGetGridName"); | 2137 | //// if (!CheckThreatLevel(ThreatLevel.None, "osGetGridName")) return ""; |
2133 | m_host.AddScriptLPS(1); | 2138 | m_host.AddScriptLPS(1); |
2134 | 2139 | ||
2135 | string name = String.Empty; | 2140 | string name = String.Empty; |
@@ -2146,7 +2151,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2146 | 2151 | ||
2147 | public string osGetGridLoginURI() | 2152 | public string osGetGridLoginURI() |
2148 | { | 2153 | { |
2149 | CheckThreatLevel(ThreatLevel.Moderate, "osGetGridLoginURI"); | 2154 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osGetGridLoginURI")) return ""; |
2150 | m_host.AddScriptLPS(1); | 2155 | m_host.AddScriptLPS(1); |
2151 | 2156 | ||
2152 | string loginURI = String.Empty; | 2157 | string loginURI = String.Empty; |
@@ -2163,7 +2168,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2163 | 2168 | ||
2164 | public string osGetGridHomeURI() | 2169 | public string osGetGridHomeURI() |
2165 | { | 2170 | { |
2166 | CheckThreatLevel(ThreatLevel.Moderate, "osGetGridHomeURI"); | 2171 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osGetGridHomeURI")) return ""; |
2167 | m_host.AddScriptLPS(1); | 2172 | m_host.AddScriptLPS(1); |
2168 | 2173 | ||
2169 | IConfigSource config = m_ScriptEngine.ConfigSource; | 2174 | IConfigSource config = m_ScriptEngine.ConfigSource; |
@@ -2185,7 +2190,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2185 | 2190 | ||
2186 | public string osGetGridGatekeeperURI() | 2191 | public string osGetGridGatekeeperURI() |
2187 | { | 2192 | { |
2188 | CheckThreatLevel(ThreatLevel.Moderate, "osGetGridGatekeeperURI"); | 2193 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osGetGridGatekeeperURI")) return ""; |
2189 | m_host.AddScriptLPS(1); | 2194 | m_host.AddScriptLPS(1); |
2190 | 2195 | ||
2191 | IConfigSource config = m_ScriptEngine.ConfigSource; | 2196 | IConfigSource config = m_ScriptEngine.ConfigSource; |
@@ -2204,7 +2209,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2204 | 2209 | ||
2205 | public string osGetGridCustom(string key) | 2210 | public string osGetGridCustom(string key) |
2206 | { | 2211 | { |
2207 | CheckThreatLevel(ThreatLevel.Moderate, "osGetGridCustom"); | 2212 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osGetGridCustom")) return String.Empty; |
2208 | m_host.AddScriptLPS(1); | 2213 | m_host.AddScriptLPS(1); |
2209 | 2214 | ||
2210 | string retval = String.Empty; | 2215 | string retval = String.Empty; |
@@ -2221,7 +2226,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2221 | 2226 | ||
2222 | public string osGetAvatarHomeURI(string uuid) | 2227 | public string osGetAvatarHomeURI(string uuid) |
2223 | { | 2228 | { |
2224 | CheckThreatLevel(ThreatLevel.Moderate, "osGetAvatarHomeURI"); | 2229 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osGetAvatarHomeURI")) return ""; |
2225 | m_host.AddScriptLPS(1); | 2230 | m_host.AddScriptLPS(1); |
2226 | 2231 | ||
2227 | IUserManagement userManager = m_ScriptEngine.World.RequestModuleInterface<IUserManagement>(); | 2232 | IUserManagement userManager = m_ScriptEngine.World.RequestModuleInterface<IUserManagement>(); |
@@ -2326,7 +2331,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2326 | 2331 | ||
2327 | public string osLoadedCreationDate() | 2332 | public string osLoadedCreationDate() |
2328 | { | 2333 | { |
2329 | CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationDate"); | 2334 | if (!CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationDate")) return ""; |
2330 | m_host.AddScriptLPS(1); | 2335 | m_host.AddScriptLPS(1); |
2331 | 2336 | ||
2332 | return World.RegionInfo.RegionSettings.LoadedCreationDate; | 2337 | return World.RegionInfo.RegionSettings.LoadedCreationDate; |
@@ -2334,7 +2339,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2334 | 2339 | ||
2335 | public string osLoadedCreationTime() | 2340 | public string osLoadedCreationTime() |
2336 | { | 2341 | { |
2337 | CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationTime"); | 2342 | if (!CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationTime")) return ""; |
2338 | m_host.AddScriptLPS(1); | 2343 | m_host.AddScriptLPS(1); |
2339 | 2344 | ||
2340 | return World.RegionInfo.RegionSettings.LoadedCreationTime; | 2345 | return World.RegionInfo.RegionSettings.LoadedCreationTime; |
@@ -2342,7 +2347,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2342 | 2347 | ||
2343 | public string osLoadedCreationID() | 2348 | public string osLoadedCreationID() |
2344 | { | 2349 | { |
2345 | CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationID"); | 2350 | if (!CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationID")) return ""; |
2346 | m_host.AddScriptLPS(1); | 2351 | m_host.AddScriptLPS(1); |
2347 | 2352 | ||
2348 | return World.RegionInfo.RegionSettings.LoadedCreationID; | 2353 | return World.RegionInfo.RegionSettings.LoadedCreationID; |
@@ -2363,7 +2368,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2363 | /// <returns></returns> | 2368 | /// <returns></returns> |
2364 | public LSL_List osGetLinkPrimitiveParams(int linknumber, LSL_List rules) | 2369 | public LSL_List osGetLinkPrimitiveParams(int linknumber, LSL_List rules) |
2365 | { | 2370 | { |
2366 | CheckThreatLevel(ThreatLevel.High, "osGetLinkPrimitiveParams"); | 2371 | if (!CheckThreatLevel(ThreatLevel.High, "osGetLinkPrimitiveParams")) return new LSL_List(); |
2367 | m_host.AddScriptLPS(1); | 2372 | m_host.AddScriptLPS(1); |
2368 | InitLSL(); | 2373 | InitLSL(); |
2369 | // One needs to cast m_LSL_Api because we're using functions not | 2374 | // One needs to cast m_LSL_Api because we're using functions not |
@@ -2391,7 +2396,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2391 | 2396 | ||
2392 | public void osForceCreateLink(string target, int parent) | 2397 | public void osForceCreateLink(string target, int parent) |
2393 | { | 2398 | { |
2394 | CheckThreatLevel(ThreatLevel.VeryLow, "osForceCreateLink"); | 2399 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osForceCreateLink")) return; |
2395 | 2400 | ||
2396 | m_host.AddScriptLPS(1); | 2401 | m_host.AddScriptLPS(1); |
2397 | 2402 | ||
@@ -2401,7 +2406,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2401 | 2406 | ||
2402 | public void osForceBreakLink(int linknum) | 2407 | public void osForceBreakLink(int linknum) |
2403 | { | 2408 | { |
2404 | CheckThreatLevel(ThreatLevel.VeryLow, "osForceBreakLink"); | 2409 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osForceBreakLink")) return; |
2405 | 2410 | ||
2406 | m_host.AddScriptLPS(1); | 2411 | m_host.AddScriptLPS(1); |
2407 | 2412 | ||
@@ -2411,7 +2416,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2411 | 2416 | ||
2412 | public void osForceBreakAllLinks() | 2417 | public void osForceBreakAllLinks() |
2413 | { | 2418 | { |
2414 | CheckThreatLevel(ThreatLevel.VeryLow, "osForceBreakAllLinks"); | 2419 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osForceBreakAllLinks")) return; |
2415 | 2420 | ||
2416 | m_host.AddScriptLPS(1); | 2421 | m_host.AddScriptLPS(1); |
2417 | 2422 | ||
@@ -2437,7 +2442,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2437 | 2442 | ||
2438 | public LSL_Key osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard) | 2443 | public LSL_Key osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard) |
2439 | { | 2444 | { |
2440 | CheckThreatLevel(ThreatLevel.High, "osNpcCreate"); | 2445 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcCreate")) return new LSL_Key(ScriptBaseClass.NULL_KEY); |
2441 | m_host.AddScriptLPS(1); | 2446 | m_host.AddScriptLPS(1); |
2442 | 2447 | ||
2443 | return NpcCreate(firstname, lastname, position, notecard, false, false); | 2448 | return NpcCreate(firstname, lastname, position, notecard, false, false); |
@@ -2445,7 +2450,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2445 | 2450 | ||
2446 | public LSL_Key osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard, int options) | 2451 | public LSL_Key osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard, int options) |
2447 | { | 2452 | { |
2448 | CheckThreatLevel(ThreatLevel.High, "osNpcCreate"); | 2453 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcCreate")) return new LSL_Key(ScriptBaseClass.NULL_KEY); |
2449 | m_host.AddScriptLPS(1); | 2454 | m_host.AddScriptLPS(1); |
2450 | 2455 | ||
2451 | return NpcCreate( | 2456 | return NpcCreate( |
@@ -2511,7 +2516,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2511 | /// <returns>The asset ID of the notecard saved.</returns> | 2516 | /// <returns>The asset ID of the notecard saved.</returns> |
2512 | public LSL_Key osNpcSaveAppearance(LSL_Key npc, string notecard) | 2517 | public LSL_Key osNpcSaveAppearance(LSL_Key npc, string notecard) |
2513 | { | 2518 | { |
2514 | CheckThreatLevel(ThreatLevel.High, "osNpcSaveAppearance"); | 2519 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcSaveAppearance")) return new LSL_Key(ScriptBaseClass.NULL_KEY); |
2515 | m_host.AddScriptLPS(1); | 2520 | m_host.AddScriptLPS(1); |
2516 | 2521 | ||
2517 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); | 2522 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); |
@@ -2533,7 +2538,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2533 | 2538 | ||
2534 | public void osNpcLoadAppearance(LSL_Key npc, string notecard) | 2539 | public void osNpcLoadAppearance(LSL_Key npc, string notecard) |
2535 | { | 2540 | { |
2536 | CheckThreatLevel(ThreatLevel.High, "osNpcLoadAppearance"); | 2541 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcLoadAppearance")) return; |
2537 | m_host.AddScriptLPS(1); | 2542 | m_host.AddScriptLPS(1); |
2538 | 2543 | ||
2539 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); | 2544 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); |
@@ -2609,7 +2614,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2609 | 2614 | ||
2610 | public void osNpcMoveTo(LSL_Key npc, LSL_Vector pos) | 2615 | public void osNpcMoveTo(LSL_Key npc, LSL_Vector pos) |
2611 | { | 2616 | { |
2612 | CheckThreatLevel(ThreatLevel.High, "osNpcMoveTo"); | 2617 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcMoveTo")) return; |
2613 | m_host.AddScriptLPS(1); | 2618 | m_host.AddScriptLPS(1); |
2614 | 2619 | ||
2615 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2620 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2628,7 +2633,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2628 | 2633 | ||
2629 | public void osNpcMoveToTarget(LSL_Key npc, LSL_Vector target, int options) | 2634 | public void osNpcMoveToTarget(LSL_Key npc, LSL_Vector target, int options) |
2630 | { | 2635 | { |
2631 | CheckThreatLevel(ThreatLevel.High, "osNpcMoveToTarget"); | 2636 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcMoveToTarget")) return; |
2632 | m_host.AddScriptLPS(1); | 2637 | m_host.AddScriptLPS(1); |
2633 | 2638 | ||
2634 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2639 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2676,7 +2681,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2676 | 2681 | ||
2677 | public void osNpcSetRot(LSL_Key npc, LSL_Rotation rotation) | 2682 | public void osNpcSetRot(LSL_Key npc, LSL_Rotation rotation) |
2678 | { | 2683 | { |
2679 | CheckThreatLevel(ThreatLevel.High, "osNpcSetRot"); | 2684 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcSetRot")) return; |
2680 | m_host.AddScriptLPS(1); | 2685 | m_host.AddScriptLPS(1); |
2681 | 2686 | ||
2682 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); | 2687 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); |
@@ -2698,7 +2703,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2698 | 2703 | ||
2699 | public void osNpcStopMoveToTarget(LSL_Key npc) | 2704 | public void osNpcStopMoveToTarget(LSL_Key npc) |
2700 | { | 2705 | { |
2701 | CheckThreatLevel(ThreatLevel.High, "osNpcStopMoveToTarget"); | 2706 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcStopMoveToTarget")) return; |
2702 | m_host.AddScriptLPS(1); | 2707 | m_host.AddScriptLPS(1); |
2703 | 2708 | ||
2704 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2709 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2720,7 +2725,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2720 | 2725 | ||
2721 | public void osNpcSay(LSL_Key npc, int channel, string message) | 2726 | public void osNpcSay(LSL_Key npc, int channel, string message) |
2722 | { | 2727 | { |
2723 | CheckThreatLevel(ThreatLevel.High, "osNpcSay"); | 2728 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcSay")) return; |
2724 | m_host.AddScriptLPS(1); | 2729 | m_host.AddScriptLPS(1); |
2725 | 2730 | ||
2726 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2731 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2737,7 +2742,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2737 | 2742 | ||
2738 | public void osNpcShout(LSL_Key npc, int channel, string message) | 2743 | public void osNpcShout(LSL_Key npc, int channel, string message) |
2739 | { | 2744 | { |
2740 | CheckThreatLevel(ThreatLevel.High, "osNpcShout"); | 2745 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcShout")) return; |
2741 | m_host.AddScriptLPS(1); | 2746 | m_host.AddScriptLPS(1); |
2742 | 2747 | ||
2743 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2748 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2754,7 +2759,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2754 | 2759 | ||
2755 | public void osNpcSit(LSL_Key npc, LSL_Key target, int options) | 2760 | public void osNpcSit(LSL_Key npc, LSL_Key target, int options) |
2756 | { | 2761 | { |
2757 | CheckThreatLevel(ThreatLevel.High, "osNpcSit"); | 2762 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcSit")) return; |
2758 | m_host.AddScriptLPS(1); | 2763 | m_host.AddScriptLPS(1); |
2759 | 2764 | ||
2760 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2765 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2771,7 +2776,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2771 | 2776 | ||
2772 | public void osNpcStand(LSL_Key npc) | 2777 | public void osNpcStand(LSL_Key npc) |
2773 | { | 2778 | { |
2774 | CheckThreatLevel(ThreatLevel.High, "osNpcStand"); | 2779 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcStand")) return; |
2775 | m_host.AddScriptLPS(1); | 2780 | m_host.AddScriptLPS(1); |
2776 | 2781 | ||
2777 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2782 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2788,7 +2793,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2788 | 2793 | ||
2789 | public void osNpcRemove(LSL_Key npc) | 2794 | public void osNpcRemove(LSL_Key npc) |
2790 | { | 2795 | { |
2791 | CheckThreatLevel(ThreatLevel.High, "osNpcRemove"); | 2796 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcRemove")) return; |
2792 | m_host.AddScriptLPS(1); | 2797 | m_host.AddScriptLPS(1); |
2793 | 2798 | ||
2794 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2799 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2805,7 +2810,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2805 | 2810 | ||
2806 | public void osNpcPlayAnimation(LSL_Key npc, string animation) | 2811 | public void osNpcPlayAnimation(LSL_Key npc, string animation) |
2807 | { | 2812 | { |
2808 | CheckThreatLevel(ThreatLevel.High, "osNpcPlayAnimation"); | 2813 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcPlayAnimation")) return; |
2809 | m_host.AddScriptLPS(1); | 2814 | m_host.AddScriptLPS(1); |
2810 | 2815 | ||
2811 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2816 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2820,7 +2825,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2820 | 2825 | ||
2821 | public void osNpcStopAnimation(LSL_Key npc, string animation) | 2826 | public void osNpcStopAnimation(LSL_Key npc, string animation) |
2822 | { | 2827 | { |
2823 | CheckThreatLevel(ThreatLevel.High, "osNpcStopAnimation"); | 2828 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcStopAnimation")) return; |
2824 | m_host.AddScriptLPS(1); | 2829 | m_host.AddScriptLPS(1); |
2825 | 2830 | ||
2826 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2831 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2835,7 +2840,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2835 | 2840 | ||
2836 | public void osNpcWhisper(LSL_Key npc, int channel, string message) | 2841 | public void osNpcWhisper(LSL_Key npc, int channel, string message) |
2837 | { | 2842 | { |
2838 | CheckThreatLevel(ThreatLevel.High, "osNpcWhisper"); | 2843 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcWhisper")) return; |
2839 | m_host.AddScriptLPS(1); | 2844 | m_host.AddScriptLPS(1); |
2840 | 2845 | ||
2841 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2846 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2852,7 +2857,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2852 | 2857 | ||
2853 | public void osNpcTouch(LSL_Key npcLSL_Key, LSL_Key object_key, LSL_Integer link_num) | 2858 | public void osNpcTouch(LSL_Key npcLSL_Key, LSL_Key object_key, LSL_Integer link_num) |
2854 | { | 2859 | { |
2855 | CheckThreatLevel(ThreatLevel.High, "osNpcTouch"); | 2860 | if (!CheckThreatLevel(ThreatLevel.High, "osNpcTouch")) return; |
2856 | m_host.AddScriptLPS(1); | 2861 | m_host.AddScriptLPS(1); |
2857 | 2862 | ||
2858 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2863 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2897,7 +2902,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2897 | /// <returns>The asset ID of the notecard saved.</returns> | 2902 | /// <returns>The asset ID of the notecard saved.</returns> |
2898 | public LSL_Key osOwnerSaveAppearance(string notecard) | 2903 | public LSL_Key osOwnerSaveAppearance(string notecard) |
2899 | { | 2904 | { |
2900 | CheckThreatLevel(ThreatLevel.Moderate, "osOwnerSaveAppearance"); | 2905 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osOwnerSaveAppearance")) return new LSL_Key(ScriptBaseClass.NULL_KEY); |
2901 | m_host.AddScriptLPS(1); | 2906 | m_host.AddScriptLPS(1); |
2902 | 2907 | ||
2903 | return SaveAppearanceToNotecard(m_host.OwnerID, notecard); | 2908 | return SaveAppearanceToNotecard(m_host.OwnerID, notecard); |
@@ -2905,7 +2910,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2905 | 2910 | ||
2906 | public LSL_Key osAgentSaveAppearance(LSL_Key avatarId, string notecard) | 2911 | public LSL_Key osAgentSaveAppearance(LSL_Key avatarId, string notecard) |
2907 | { | 2912 | { |
2908 | CheckThreatLevel(ThreatLevel.High, "osAgentSaveAppearance"); | 2913 | if (!CheckThreatLevel(ThreatLevel.High, "osAgentSaveAppearance")) return new LSL_Key(ScriptBaseClass.NULL_KEY); |
2909 | m_host.AddScriptLPS(1); | 2914 | m_host.AddScriptLPS(1); |
2910 | 2915 | ||
2911 | return SaveAppearanceToNotecard(avatarId, notecard); | 2916 | return SaveAppearanceToNotecard(avatarId, notecard); |
@@ -3077,7 +3082,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3077 | 3082 | ||
3078 | public int osGetSimulatorMemory() | 3083 | public int osGetSimulatorMemory() |
3079 | { | 3084 | { |
3080 | CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory"); | 3085 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory")) return 0; |
3081 | m_host.AddScriptLPS(1); | 3086 | m_host.AddScriptLPS(1); |
3082 | long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64; | 3087 | long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64; |
3083 | 3088 | ||
@@ -3091,7 +3096,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3091 | 3096 | ||
3092 | public void osSetSpeed(string UUID, LSL_Float SpeedModifier) | 3097 | public void osSetSpeed(string UUID, LSL_Float SpeedModifier) |
3093 | { | 3098 | { |
3094 | CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed"); | 3099 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed")) return; |
3095 | m_host.AddScriptLPS(1); | 3100 | m_host.AddScriptLPS(1); |
3096 | ScenePresence avatar = World.GetScenePresence(new UUID(UUID)); | 3101 | ScenePresence avatar = World.GetScenePresence(new UUID(UUID)); |
3097 | 3102 | ||
@@ -3101,7 +3106,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3101 | 3106 | ||
3102 | public void osKickAvatar(string FirstName, string SurName, string alert) | 3107 | public void osKickAvatar(string FirstName, string SurName, string alert) |
3103 | { | 3108 | { |
3104 | CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); | 3109 | if (!CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar")) return; |
3105 | m_host.AddScriptLPS(1); | 3110 | m_host.AddScriptLPS(1); |
3106 | 3111 | ||
3107 | World.ForEachRootScenePresence(delegate(ScenePresence sp) | 3112 | World.ForEachRootScenePresence(delegate(ScenePresence sp) |
@@ -3130,7 +3135,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3130 | 3135 | ||
3131 | public void osCauseDamage(string avatar, double damage) | 3136 | public void osCauseDamage(string avatar, double damage) |
3132 | { | 3137 | { |
3133 | CheckThreatLevel(ThreatLevel.High, "osCauseDamage"); | 3138 | if (!CheckThreatLevel(ThreatLevel.High, "osCauseDamage")) return; |
3134 | m_host.AddScriptLPS(1); | 3139 | m_host.AddScriptLPS(1); |
3135 | 3140 | ||
3136 | UUID avatarId = new UUID(avatar); | 3141 | UUID avatarId = new UUID(avatar); |
@@ -3158,7 +3163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3158 | 3163 | ||
3159 | public void osCauseHealing(string avatar, double healing) | 3164 | public void osCauseHealing(string avatar, double healing) |
3160 | { | 3165 | { |
3161 | CheckThreatLevel(ThreatLevel.High, "osCauseHealing"); | 3166 | if (!CheckThreatLevel(ThreatLevel.High, "osCauseHealing")) return; |
3162 | m_host.AddScriptLPS(1); | 3167 | m_host.AddScriptLPS(1); |
3163 | 3168 | ||
3164 | UUID avatarId = new UUID(avatar); | 3169 | UUID avatarId = new UUID(avatar); |
@@ -3178,7 +3183,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3178 | 3183 | ||
3179 | public LSL_List osGetPrimitiveParams(LSL_Key prim, LSL_List rules) | 3184 | public LSL_List osGetPrimitiveParams(LSL_Key prim, LSL_List rules) |
3180 | { | 3185 | { |
3181 | CheckThreatLevel(ThreatLevel.High, "osGetPrimitiveParams"); | 3186 | if (!CheckThreatLevel(ThreatLevel.High, "osGetPrimitiveParams")) return new LSL_List(); |
3182 | m_host.AddScriptLPS(1); | 3187 | m_host.AddScriptLPS(1); |
3183 | InitLSL(); | 3188 | InitLSL(); |
3184 | 3189 | ||
@@ -3187,7 +3192,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3187 | 3192 | ||
3188 | public void osSetPrimitiveParams(LSL_Key prim, LSL_List rules) | 3193 | public void osSetPrimitiveParams(LSL_Key prim, LSL_List rules) |
3189 | { | 3194 | { |
3190 | CheckThreatLevel(ThreatLevel.High, "osSetPrimitiveParams"); | 3195 | if (!CheckThreatLevel(ThreatLevel.High, "osSetPrimitiveParams")) return; |
3191 | m_host.AddScriptLPS(1); | 3196 | m_host.AddScriptLPS(1); |
3192 | InitLSL(); | 3197 | InitLSL(); |
3193 | 3198 | ||
@@ -3199,7 +3204,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3199 | /// </summary> | 3204 | /// </summary> |
3200 | public void osSetProjectionParams(bool projection, LSL_Key texture, double fov, double focus, double amb) | 3205 | public void osSetProjectionParams(bool projection, LSL_Key texture, double fov, double focus, double amb) |
3201 | { | 3206 | { |
3202 | CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams"); | 3207 | if (!CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams")) return; |
3203 | 3208 | ||
3204 | osSetProjectionParams(UUID.Zero.ToString(), projection, texture, fov, focus, amb); | 3209 | osSetProjectionParams(UUID.Zero.ToString(), projection, texture, fov, focus, amb); |
3205 | } | 3210 | } |
@@ -3209,7 +3214,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3209 | /// </summary> | 3214 | /// </summary> |
3210 | public void osSetProjectionParams(LSL_Key prim, bool projection, LSL_Key texture, double fov, double focus, double amb) | 3215 | public void osSetProjectionParams(LSL_Key prim, bool projection, LSL_Key texture, double fov, double focus, double amb) |
3211 | { | 3216 | { |
3212 | CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams"); | 3217 | if (!CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams")) return; |
3213 | m_host.AddScriptLPS(1); | 3218 | m_host.AddScriptLPS(1); |
3214 | 3219 | ||
3215 | SceneObjectPart obj = null; | 3220 | SceneObjectPart obj = null; |
@@ -3303,7 +3308,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3303 | /// <returns></returns> | 3308 | /// <returns></returns> |
3304 | public LSL_Integer osInviteToGroup(LSL_Key agentId) | 3309 | public LSL_Integer osInviteToGroup(LSL_Key agentId) |
3305 | { | 3310 | { |
3306 | CheckThreatLevel(ThreatLevel.VeryLow, "osInviteToGroup"); | 3311 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osInviteToGroup")) return ScriptBaseClass.FALSE; |
3307 | m_host.AddScriptLPS(1); | 3312 | m_host.AddScriptLPS(1); |
3308 | 3313 | ||
3309 | UUID agent = new UUID(agentId); | 3314 | UUID agent = new UUID(agentId); |
@@ -3338,7 +3343,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3338 | /// <returns></returns> | 3343 | /// <returns></returns> |
3339 | public LSL_Integer osEjectFromGroup(LSL_Key agentId) | 3344 | public LSL_Integer osEjectFromGroup(LSL_Key agentId) |
3340 | { | 3345 | { |
3341 | CheckThreatLevel(ThreatLevel.VeryLow, "osEjectFromGroup"); | 3346 | if (!CheckThreatLevel(ThreatLevel.VeryLow, "osEjectFromGroup")) return ScriptBaseClass.FALSE; |
3342 | m_host.AddScriptLPS(1); | 3347 | m_host.AddScriptLPS(1); |
3343 | 3348 | ||
3344 | UUID agent = new UUID(agentId); | 3349 | UUID agent = new UUID(agentId); |
@@ -3373,7 +3378,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3373 | /// <returns></returns> | 3378 | /// <returns></returns> |
3374 | public void osSetTerrainTexture(int level, LSL_Key texture) | 3379 | public void osSetTerrainTexture(int level, LSL_Key texture) |
3375 | { | 3380 | { |
3376 | CheckThreatLevel(ThreatLevel.High, "osSetTerrainTexture"); | 3381 | if (!CheckThreatLevel(ThreatLevel.High, "osSetTerrainTexture")) return; |
3377 | 3382 | ||
3378 | m_host.AddScriptLPS(1); | 3383 | m_host.AddScriptLPS(1); |
3379 | //Check to make sure that the script's owner is the estate manager/master | 3384 | //Check to make sure that the script's owner is the estate manager/master |
@@ -3403,7 +3408,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3403 | /// <returns></returns> | 3408 | /// <returns></returns> |
3404 | public void osSetTerrainTextureHeight(int corner, double low, double high) | 3409 | public void osSetTerrainTextureHeight(int corner, double low, double high) |
3405 | { | 3410 | { |
3406 | CheckThreatLevel(ThreatLevel.High, "osSetTerrainTextureHeight"); | 3411 | if (!CheckThreatLevel(ThreatLevel.High, "osSetTerrainTextureHeight")) return; |
3407 | 3412 | ||
3408 | m_host.AddScriptLPS(1); | 3413 | m_host.AddScriptLPS(1); |
3409 | //Check to make sure that the script's owner is the estate manager/master | 3414 | //Check to make sure that the script's owner is the estate manager/master |
@@ -3424,7 +3429,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3424 | 3429 | ||
3425 | public void osForceAttachToAvatar(int attachmentPoint) | 3430 | public void osForceAttachToAvatar(int attachmentPoint) |
3426 | { | 3431 | { |
3427 | CheckThreatLevel(ThreatLevel.High, "osForceAttachToAvatar"); | 3432 | if (!CheckThreatLevel(ThreatLevel.High, "osForceAttachToAvatar")) return; |
3428 | 3433 | ||
3429 | m_host.AddScriptLPS(1); | 3434 | m_host.AddScriptLPS(1); |
3430 | 3435 | ||
@@ -3434,7 +3439,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3434 | 3439 | ||
3435 | public void osForceAttachToAvatarFromInventory(string itemName, int attachmentPoint) | 3440 | public void osForceAttachToAvatarFromInventory(string itemName, int attachmentPoint) |
3436 | { | 3441 | { |
3437 | CheckThreatLevel(ThreatLevel.High, "osForceAttachToAvatarFromInventory"); | 3442 | if (!CheckThreatLevel(ThreatLevel.High, "osForceAttachToAvatarFromInventory")) return; |
3438 | 3443 | ||
3439 | m_host.AddScriptLPS(1); | 3444 | m_host.AddScriptLPS(1); |
3440 | 3445 | ||
@@ -3443,7 +3448,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3443 | 3448 | ||
3444 | public void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, int attachmentPoint) | 3449 | public void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, int attachmentPoint) |
3445 | { | 3450 | { |
3446 | CheckThreatLevel(ThreatLevel.Severe, "osForceAttachToOtherAvatarFromInventory"); | 3451 | if (!CheckThreatLevel(ThreatLevel.Severe, "osForceAttachToOtherAvatarFromInventory")) return; |
3447 | 3452 | ||
3448 | m_host.AddScriptLPS(1); | 3453 | m_host.AddScriptLPS(1); |
3449 | 3454 | ||
@@ -3504,7 +3509,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3504 | 3509 | ||
3505 | public void osForceDetachFromAvatar() | 3510 | public void osForceDetachFromAvatar() |
3506 | { | 3511 | { |
3507 | CheckThreatLevel(ThreatLevel.High, "osForceDetachFromAvatar"); | 3512 | if (!CheckThreatLevel(ThreatLevel.High, "osForceDetachFromAvatar")) return; |
3508 | 3513 | ||
3509 | m_host.AddScriptLPS(1); | 3514 | m_host.AddScriptLPS(1); |
3510 | 3515 | ||
@@ -3514,7 +3519,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3514 | 3519 | ||
3515 | public LSL_List osGetNumberOfAttachments(LSL_Key avatar, LSL_List attachmentPoints) | 3520 | public LSL_List osGetNumberOfAttachments(LSL_Key avatar, LSL_List attachmentPoints) |
3516 | { | 3521 | { |
3517 | CheckThreatLevel(ThreatLevel.Moderate, "osGetNumberOfAttachments"); | 3522 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osGetNumberOfAttachments")) return new LSL_List(); |
3518 | 3523 | ||
3519 | m_host.AddScriptLPS(1); | 3524 | m_host.AddScriptLPS(1); |
3520 | 3525 | ||
@@ -3550,7 +3555,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3550 | 3555 | ||
3551 | public void osMessageAttachments(LSL_Key avatar, string message, LSL_List attachmentPoints, int options) | 3556 | public void osMessageAttachments(LSL_Key avatar, string message, LSL_List attachmentPoints, int options) |
3552 | { | 3557 | { |
3553 | CheckThreatLevel(ThreatLevel.Moderate, "osMessageAttachments"); | 3558 | if (!CheckThreatLevel(ThreatLevel.Moderate, "osMessageAttachments")) return; |
3554 | m_host.AddScriptLPS(1); | 3559 | m_host.AddScriptLPS(1); |
3555 | 3560 | ||
3556 | UUID targetUUID; | 3561 | UUID targetUUID; |
@@ -3733,7 +3738,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3733 | /// <returns></returns> | 3738 | /// <returns></returns> |
3734 | public void osSetContentType(LSL_Key id, string type) | 3739 | public void osSetContentType(LSL_Key id, string type) |
3735 | { | 3740 | { |
3736 | CheckThreatLevel(ThreatLevel.High, "osSetContentType"); | 3741 | if (!CheckThreatLevel(ThreatLevel.High, "osSetContentType")) return; |
3737 | 3742 | ||
3738 | if (m_UrlModule != null) | 3743 | if (m_UrlModule != null) |
3739 | m_UrlModule.HttpContentType(new UUID(id),type); | 3744 | m_UrlModule.HttpContentType(new UUID(id),type); |
@@ -3795,7 +3800,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3795 | 3800 | ||
3796 | public void osDropAttachment() | 3801 | public void osDropAttachment() |
3797 | { | 3802 | { |
3798 | CheckThreatLevel(ThreatLevel.Low, "osDropAttachment"); | 3803 | if (!CheckThreatLevel(ThreatLevel.Low, "osDropAttachment")) return; |
3799 | m_host.AddScriptLPS(1); | 3804 | m_host.AddScriptLPS(1); |
3800 | 3805 | ||
3801 | DropAttachment(true); | 3806 | DropAttachment(true); |
@@ -3803,7 +3808,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3803 | 3808 | ||
3804 | public void osForceDropAttachment() | 3809 | public void osForceDropAttachment() |
3805 | { | 3810 | { |
3806 | CheckThreatLevel(ThreatLevel.High, "osForceDropAttachment"); | 3811 | if (!CheckThreatLevel(ThreatLevel.High, "osForceDropAttachment")) return; |
3807 | m_host.AddScriptLPS(1); | 3812 | m_host.AddScriptLPS(1); |
3808 | 3813 | ||
3809 | DropAttachment(false); | 3814 | DropAttachment(false); |
@@ -3811,7 +3816,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3811 | 3816 | ||
3812 | public void osDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) | 3817 | public void osDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) |
3813 | { | 3818 | { |
3814 | CheckThreatLevel(ThreatLevel.Low, "osDropAttachmentAt"); | 3819 | if (!CheckThreatLevel(ThreatLevel.Low, "osDropAttachmentAt")) return; |
3815 | m_host.AddScriptLPS(1); | 3820 | m_host.AddScriptLPS(1); |
3816 | 3821 | ||
3817 | DropAttachmentAt(true, pos, rot); | 3822 | DropAttachmentAt(true, pos, rot); |
@@ -3819,7 +3824,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3819 | 3824 | ||
3820 | public void osForceDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) | 3825 | public void osForceDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) |
3821 | { | 3826 | { |
3822 | CheckThreatLevel(ThreatLevel.High, "osForceDropAttachmentAt"); | 3827 | if (!CheckThreatLevel(ThreatLevel.High, "osForceDropAttachmentAt")) return; |
3823 | m_host.AddScriptLPS(1); | 3828 | m_host.AddScriptLPS(1); |
3824 | 3829 | ||
3825 | DropAttachmentAt(false, pos, rot); | 3830 | DropAttachmentAt(false, pos, rot); |