diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 178 | ||||
-rw-r--r-- | config/config-include/osslEnable.ini | 259 |
2 files changed, 127 insertions, 310 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 6202a5c..3f61aff 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -455,13 +455,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
455 | 455 | ||
456 | public LSL_Float osGetTerrainHeight(int x, int y) | 456 | public LSL_Float osGetTerrainHeight(int x, int y) |
457 | { | 457 | { |
458 | CheckThreatLevel(ThreatLevel.None, "osGetTerrainHeight"); | ||
459 | return GetTerrainHeight(x, y); | 458 | return GetTerrainHeight(x, y); |
460 | } | 459 | } |
461 | 460 | ||
462 | public LSL_Float osTerrainGetHeight(int x, int y) | 461 | public LSL_Float osTerrainGetHeight(int x, int y) |
463 | { | 462 | { |
464 | CheckThreatLevel(ThreatLevel.None, "osTerrainGetHeight"); | ||
465 | OSSLDeprecated("osTerrainGetHeight", "osGetTerrainHeight"); | 463 | OSSLDeprecated("osTerrainGetHeight", "osGetTerrainHeight"); |
466 | return GetTerrainHeight(x, y); | 464 | return GetTerrainHeight(x, y); |
467 | } | 465 | } |
@@ -569,11 +567,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
569 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, | 567 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, |
570 | int timer) | 568 | int timer) |
571 | { | 569 | { |
572 | // This may be upgraded depending on the griefing or DOS | ||
573 | // potential, or guarded with a delay | ||
574 | // | ||
575 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURL"); | ||
576 | |||
577 | m_host.AddScriptLPS(1); | 570 | m_host.AddScriptLPS(1); |
578 | if (dynamicID == String.Empty) | 571 | if (dynamicID == String.Empty) |
579 | { | 572 | { |
@@ -594,8 +587,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
594 | public string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, | 587 | public string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, |
595 | int timer, int alpha) | 588 | int timer, int alpha) |
596 | { | 589 | { |
597 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlend"); | ||
598 | |||
599 | m_host.AddScriptLPS(1); | 590 | m_host.AddScriptLPS(1); |
600 | if (dynamicID == String.Empty) | 591 | if (dynamicID == String.Empty) |
601 | { | 592 | { |
@@ -616,8 +607,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
616 | public string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, | 607 | public string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, |
617 | bool blend, int disp, int timer, int alpha, int face) | 608 | bool blend, int disp, int timer, int alpha, int face) |
618 | { | 609 | { |
619 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlendFace"); | ||
620 | |||
621 | m_host.AddScriptLPS(1); | 610 | m_host.AddScriptLPS(1); |
622 | if (dynamicID == String.Empty) | 611 | if (dynamicID == String.Empty) |
623 | { | 612 | { |
@@ -638,8 +627,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
638 | public string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, | 627 | public string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, |
639 | int timer) | 628 | int timer) |
640 | { | 629 | { |
641 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureData"); | ||
642 | |||
643 | m_host.AddScriptLPS(1); | 630 | m_host.AddScriptLPS(1); |
644 | if (dynamicID == String.Empty) | 631 | if (dynamicID == String.Empty) |
645 | { | 632 | { |
@@ -667,8 +654,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
667 | public string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, | 654 | public string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, |
668 | int timer, int alpha) | 655 | int timer, int alpha) |
669 | { | 656 | { |
670 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlend"); | ||
671 | |||
672 | m_host.AddScriptLPS(1); | 657 | m_host.AddScriptLPS(1); |
673 | if (dynamicID == String.Empty) | 658 | if (dynamicID == String.Empty) |
674 | { | 659 | { |
@@ -696,8 +681,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
696 | public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, | 681 | public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, |
697 | bool blend, int disp, int timer, int alpha, int face) | 682 | bool blend, int disp, int timer, int alpha, int face) |
698 | { | 683 | { |
699 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlendFace"); | ||
700 | |||
701 | m_host.AddScriptLPS(1); | 684 | m_host.AddScriptLPS(1); |
702 | if (dynamicID == String.Empty) | 685 | if (dynamicID == String.Empty) |
703 | { | 686 | { |
@@ -752,7 +735,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
752 | { | 735 | { |
753 | // High because there is no security check. High griefer potential | 736 | // High because there is no security check. High griefer potential |
754 | // | 737 | // |
755 | CheckThreatLevel(ThreatLevel.Severe, "osTeleportAgent"); | 738 | CheckThreatLevel(ThreatLevel.High, "osTeleportAgent"); |
756 | 739 | ||
757 | TeleportAgent(agent, regionName, position, lookat, false); | 740 | TeleportAgent(agent, regionName, position, lookat, false); |
758 | } | 741 | } |
@@ -794,7 +777,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
794 | { | 777 | { |
795 | // High because there is no security check. High griefer potential | 778 | // High because there is no security check. High griefer potential |
796 | // | 779 | // |
797 | CheckThreatLevel(ThreatLevel.Severe, "osTeleportAgent"); | 780 | CheckThreatLevel(ThreatLevel.High, "osTeleportAgent"); |
798 | 781 | ||
799 | TeleportAgent(agent, regionX, regionY, position, lookat, false); | 782 | TeleportAgent(agent, regionX, regionY, position, lookat, false); |
800 | } | 783 | } |
@@ -837,14 +820,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
837 | 820 | ||
838 | public void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) | 821 | public void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) |
839 | { | 822 | { |
823 | // High because there is no security check. High griefer potential | ||
824 | // | ||
825 | CheckThreatLevel(ThreatLevel.High, "osTeleportAgent"); | ||
826 | |||
840 | osTeleportAgent(agent, World.RegionInfo.RegionName, position, lookat); | 827 | osTeleportAgent(agent, World.RegionInfo.RegionName, position, lookat); |
841 | } | 828 | } |
842 | 829 | ||
843 | public void osTeleportOwner(string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) | 830 | public void osTeleportOwner(string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) |
844 | { | 831 | { |
845 | // Threat level None because this is what can already be done with the World Map in the viewer | ||
846 | CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); | ||
847 | |||
848 | TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat, true); | 832 | TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat, true); |
849 | } | 833 | } |
850 | 834 | ||
@@ -855,8 +839,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
855 | 839 | ||
856 | public void osTeleportOwner(int regionX, int regionY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) | 840 | public void osTeleportOwner(int regionX, int regionY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) |
857 | { | 841 | { |
858 | CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); | ||
859 | |||
860 | TeleportAgent(m_host.OwnerID.ToString(), regionX, regionY, position, lookat, true); | 842 | TeleportAgent(m_host.OwnerID.ToString(), regionX, regionY, position, lookat, true); |
861 | } | 843 | } |
862 | 844 | ||
@@ -889,8 +871,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
889 | m_host.AddScriptLPS(1); | 871 | m_host.AddScriptLPS(1); |
890 | 872 | ||
891 | UUID targetID = new UUID(target); | 873 | UUID targetID = new UUID(target); |
892 | 874 | ||
893 | ForceSit(avatar, targetID); | 875 | ForceSit(avatar, targetID); |
894 | } | 876 | } |
895 | 877 | ||
896 | public void ForceSit(string avatar, UUID targetID) | 878 | public void ForceSit(string avatar, UUID targetID) |
@@ -920,9 +902,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
920 | //resources based on the IP address of the clients connected. | 902 | //resources based on the IP address of the clients connected. |
921 | //I think High is a good risk level for this, as it is an | 903 | //I think High is a good risk level for this, as it is an |
922 | //information leak. | 904 | //information leak. |
905 | // Severe is even better coz privacy is important. | ||
923 | public string osGetAgentIP(string agent) | 906 | public string osGetAgentIP(string agent) |
924 | { | 907 | { |
925 | CheckThreatLevel(ThreatLevel.High, "osGetAgentIP"); | 908 | CheckThreatLevel(ThreatLevel.Severe, "osGetAgentIP"); |
926 | 909 | ||
927 | UUID avatarID = (UUID)agent; | 910 | UUID avatarID = (UUID)agent; |
928 | 911 | ||
@@ -932,7 +915,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
932 | ScenePresence target = (ScenePresence)World.Entities[avatarID]; | 915 | ScenePresence target = (ScenePresence)World.Entities[avatarID]; |
933 | return target.ControllingClient.RemoteEndPoint.Address.ToString(); | 916 | return target.ControllingClient.RemoteEndPoint.Address.ToString(); |
934 | } | 917 | } |
935 | 918 | ||
936 | // fall through case, just return nothing | 919 | // fall through case, just return nothing |
937 | return ""; | 920 | return ""; |
938 | } | 921 | } |
@@ -940,9 +923,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
940 | // Get a list of all the avatars/agents in the region | 923 | // Get a list of all the avatars/agents in the region |
941 | public LSL_List osGetAgents() | 924 | public LSL_List osGetAgents() |
942 | { | 925 | { |
943 | // threat level is None as we could get this information with an | ||
944 | // in-world script as well, just not as efficient | ||
945 | CheckThreatLevel(ThreatLevel.None, "osGetAgents"); | ||
946 | m_host.AddScriptLPS(1); | 926 | m_host.AddScriptLPS(1); |
947 | 927 | ||
948 | LSL_List result = new LSL_List(); | 928 | LSL_List result = new LSL_List(); |
@@ -1024,7 +1004,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1024 | else | 1004 | else |
1025 | animID = UUID.Zero; | 1005 | animID = UUID.Zero; |
1026 | } | 1006 | } |
1027 | 1007 | ||
1028 | if (animID == UUID.Zero) | 1008 | if (animID == UUID.Zero) |
1029 | target.Animator.RemoveAnimation(animation); | 1009 | target.Animator.RemoveAnimation(animation); |
1030 | else | 1010 | else |
@@ -1036,8 +1016,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1036 | //Texture draw functions | 1016 | //Texture draw functions |
1037 | public string osMovePen(string drawList, int x, int y) | 1017 | public string osMovePen(string drawList, int x, int y) |
1038 | { | 1018 | { |
1039 | CheckThreatLevel(ThreatLevel.None, "osMovePen"); | ||
1040 | |||
1041 | m_host.AddScriptLPS(1); | 1019 | m_host.AddScriptLPS(1); |
1042 | drawList += "MoveTo " + x + "," + y + ";"; | 1020 | drawList += "MoveTo " + x + "," + y + ";"; |
1043 | return drawList; | 1021 | return drawList; |
@@ -1045,8 +1023,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1045 | 1023 | ||
1046 | public string osDrawLine(string drawList, int startX, int startY, int endX, int endY) | 1024 | public string osDrawLine(string drawList, int startX, int startY, int endX, int endY) |
1047 | { | 1025 | { |
1048 | CheckThreatLevel(ThreatLevel.None, "osDrawLine"); | ||
1049 | |||
1050 | m_host.AddScriptLPS(1); | 1026 | m_host.AddScriptLPS(1); |
1051 | drawList += "MoveTo "+ startX+","+ startY +"; LineTo "+endX +","+endY +"; "; | 1027 | drawList += "MoveTo "+ startX+","+ startY +"; LineTo "+endX +","+endY +"; "; |
1052 | return drawList; | 1028 | return drawList; |
@@ -1054,8 +1030,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1054 | 1030 | ||
1055 | public string osDrawLine(string drawList, int endX, int endY) | 1031 | public string osDrawLine(string drawList, int endX, int endY) |
1056 | { | 1032 | { |
1057 | CheckThreatLevel(ThreatLevel.None, "osDrawLine"); | ||
1058 | |||
1059 | m_host.AddScriptLPS(1); | 1033 | m_host.AddScriptLPS(1); |
1060 | drawList += "LineTo " + endX + "," + endY + "; "; | 1034 | drawList += "LineTo " + endX + "," + endY + "; "; |
1061 | return drawList; | 1035 | return drawList; |
@@ -1063,8 +1037,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1063 | 1037 | ||
1064 | public string osDrawText(string drawList, string text) | 1038 | public string osDrawText(string drawList, string text) |
1065 | { | 1039 | { |
1066 | CheckThreatLevel(ThreatLevel.None, "osDrawText"); | ||
1067 | |||
1068 | m_host.AddScriptLPS(1); | 1040 | m_host.AddScriptLPS(1); |
1069 | drawList += "Text " + text + "; "; | 1041 | drawList += "Text " + text + "; "; |
1070 | return drawList; | 1042 | return drawList; |
@@ -1072,8 +1044,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1072 | 1044 | ||
1073 | public string osDrawEllipse(string drawList, int width, int height) | 1045 | public string osDrawEllipse(string drawList, int width, int height) |
1074 | { | 1046 | { |
1075 | CheckThreatLevel(ThreatLevel.None, "osDrawEllipse"); | ||
1076 | |||
1077 | m_host.AddScriptLPS(1); | 1047 | m_host.AddScriptLPS(1); |
1078 | drawList += "Ellipse " + width + "," + height + "; "; | 1048 | drawList += "Ellipse " + width + "," + height + "; "; |
1079 | return drawList; | 1049 | return drawList; |
@@ -1081,8 +1051,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1081 | 1051 | ||
1082 | public string osDrawRectangle(string drawList, int width, int height) | 1052 | public string osDrawRectangle(string drawList, int width, int height) |
1083 | { | 1053 | { |
1084 | CheckThreatLevel(ThreatLevel.None, "osDrawRectangle"); | ||
1085 | |||
1086 | m_host.AddScriptLPS(1); | 1054 | m_host.AddScriptLPS(1); |
1087 | drawList += "Rectangle " + width + "," + height + "; "; | 1055 | drawList += "Rectangle " + width + "," + height + "; "; |
1088 | return drawList; | 1056 | return drawList; |
@@ -1090,8 +1058,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1090 | 1058 | ||
1091 | public string osDrawFilledRectangle(string drawList, int width, int height) | 1059 | public string osDrawFilledRectangle(string drawList, int width, int height) |
1092 | { | 1060 | { |
1093 | CheckThreatLevel(ThreatLevel.None, "osDrawFilledRectangle"); | ||
1094 | |||
1095 | m_host.AddScriptLPS(1); | 1061 | m_host.AddScriptLPS(1); |
1096 | drawList += "FillRectangle " + width + "," + height + "; "; | 1062 | drawList += "FillRectangle " + width + "," + height + "; "; |
1097 | return drawList; | 1063 | return drawList; |
@@ -1099,8 +1065,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1099 | 1065 | ||
1100 | public string osDrawFilledPolygon(string drawList, LSL_List x, LSL_List y) | 1066 | public string osDrawFilledPolygon(string drawList, LSL_List x, LSL_List y) |
1101 | { | 1067 | { |
1102 | CheckThreatLevel(ThreatLevel.None, "osDrawFilledPolygon"); | ||
1103 | |||
1104 | m_host.AddScriptLPS(1); | 1068 | m_host.AddScriptLPS(1); |
1105 | 1069 | ||
1106 | if (x.Length != y.Length || x.Length < 3) | 1070 | if (x.Length != y.Length || x.Length < 3) |
@@ -1118,8 +1082,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1118 | 1082 | ||
1119 | public string osDrawPolygon(string drawList, LSL_List x, LSL_List y) | 1083 | public string osDrawPolygon(string drawList, LSL_List x, LSL_List y) |
1120 | { | 1084 | { |
1121 | CheckThreatLevel(ThreatLevel.None, "osDrawPolygon"); | ||
1122 | |||
1123 | m_host.AddScriptLPS(1); | 1085 | m_host.AddScriptLPS(1); |
1124 | 1086 | ||
1125 | if (x.Length != y.Length || x.Length < 3) | 1087 | if (x.Length != y.Length || x.Length < 3) |
@@ -1137,8 +1099,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1137 | 1099 | ||
1138 | public string osSetFontSize(string drawList, int fontSize) | 1100 | public string osSetFontSize(string drawList, int fontSize) |
1139 | { | 1101 | { |
1140 | CheckThreatLevel(ThreatLevel.None, "osSetFontSize"); | ||
1141 | |||
1142 | m_host.AddScriptLPS(1); | 1102 | m_host.AddScriptLPS(1); |
1143 | drawList += "FontSize "+ fontSize +"; "; | 1103 | drawList += "FontSize "+ fontSize +"; "; |
1144 | return drawList; | 1104 | return drawList; |
@@ -1146,8 +1106,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1146 | 1106 | ||
1147 | public string osSetFontName(string drawList, string fontName) | 1107 | public string osSetFontName(string drawList, string fontName) |
1148 | { | 1108 | { |
1149 | CheckThreatLevel(ThreatLevel.None, "osSetFontName"); | ||
1150 | |||
1151 | m_host.AddScriptLPS(1); | 1109 | m_host.AddScriptLPS(1); |
1152 | drawList += "FontName "+ fontName +"; "; | 1110 | drawList += "FontName "+ fontName +"; "; |
1153 | return drawList; | 1111 | return drawList; |
@@ -1155,8 +1113,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1155 | 1113 | ||
1156 | public string osSetPenSize(string drawList, int penSize) | 1114 | public string osSetPenSize(string drawList, int penSize) |
1157 | { | 1115 | { |
1158 | CheckThreatLevel(ThreatLevel.None, "osSetPenSize"); | ||
1159 | |||
1160 | m_host.AddScriptLPS(1); | 1116 | m_host.AddScriptLPS(1); |
1161 | drawList += "PenSize " + penSize + "; "; | 1117 | drawList += "PenSize " + penSize + "; "; |
1162 | return drawList; | 1118 | return drawList; |
@@ -1164,8 +1120,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1164 | 1120 | ||
1165 | public string osSetPenColor(string drawList, string color) | 1121 | public string osSetPenColor(string drawList, string color) |
1166 | { | 1122 | { |
1167 | CheckThreatLevel(ThreatLevel.None, "osSetPenColor"); | ||
1168 | |||
1169 | m_host.AddScriptLPS(1); | 1123 | m_host.AddScriptLPS(1); |
1170 | drawList += "PenColor " + color + "; "; | 1124 | drawList += "PenColor " + color + "; "; |
1171 | return drawList; | 1125 | return drawList; |
@@ -1174,7 +1128,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1174 | // Deprecated | 1128 | // Deprecated |
1175 | public string osSetPenColour(string drawList, string colour) | 1129 | public string osSetPenColour(string drawList, string colour) |
1176 | { | 1130 | { |
1177 | CheckThreatLevel(ThreatLevel.None, "osSetPenColour"); | ||
1178 | OSSLDeprecated("osSetPenColour", "osSetPenColor"); | 1131 | OSSLDeprecated("osSetPenColour", "osSetPenColor"); |
1179 | 1132 | ||
1180 | m_host.AddScriptLPS(1); | 1133 | m_host.AddScriptLPS(1); |
@@ -1184,8 +1137,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1184 | 1137 | ||
1185 | public string osSetPenCap(string drawList, string direction, string type) | 1138 | public string osSetPenCap(string drawList, string direction, string type) |
1186 | { | 1139 | { |
1187 | CheckThreatLevel(ThreatLevel.None, "osSetPenCap"); | ||
1188 | |||
1189 | m_host.AddScriptLPS(1); | 1140 | m_host.AddScriptLPS(1); |
1190 | drawList += "PenCap " + direction + "," + type + "; "; | 1141 | drawList += "PenCap " + direction + "," + type + "; "; |
1191 | return drawList; | 1142 | return drawList; |
@@ -1193,8 +1144,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1193 | 1144 | ||
1194 | public string osDrawImage(string drawList, int width, int height, string imageUrl) | 1145 | public string osDrawImage(string drawList, int width, int height, string imageUrl) |
1195 | { | 1146 | { |
1196 | CheckThreatLevel(ThreatLevel.None, "osDrawImage"); | ||
1197 | |||
1198 | m_host.AddScriptLPS(1); | 1147 | m_host.AddScriptLPS(1); |
1199 | drawList +="Image " +width + "," + height+ ","+ imageUrl +"; " ; | 1148 | drawList +="Image " +width + "," + height+ ","+ imageUrl +"; " ; |
1200 | return drawList; | 1149 | return drawList; |
@@ -1202,7 +1151,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1202 | 1151 | ||
1203 | public LSL_Vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize) | 1152 | public LSL_Vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize) |
1204 | { | 1153 | { |
1205 | CheckThreatLevel(ThreatLevel.VeryLow, "osGetDrawStringSize"); | ||
1206 | m_host.AddScriptLPS(1); | 1154 | m_host.AddScriptLPS(1); |
1207 | 1155 | ||
1208 | LSL_Vector vec = new LSL_Vector(0,0,0); | 1156 | LSL_Vector vec = new LSL_Vector(0,0,0); |
@@ -1297,8 +1245,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1297 | /// <returns></returns> | 1245 | /// <returns></returns> |
1298 | public double osGetCurrentSunHour() | 1246 | public double osGetCurrentSunHour() |
1299 | { | 1247 | { |
1300 | CheckThreatLevel(ThreatLevel.None, "osGetCurrentSunHour"); | ||
1301 | |||
1302 | m_host.AddScriptLPS(1); | 1248 | m_host.AddScriptLPS(1); |
1303 | 1249 | ||
1304 | // Must adjust for the fact that Region Sun Settings are still LL offset | 1250 | // Must adjust for the fact that Region Sun Settings are still LL offset |
@@ -1316,14 +1262,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1316 | 1262 | ||
1317 | public double osSunGetParam(string param) | 1263 | public double osSunGetParam(string param) |
1318 | { | 1264 | { |
1319 | CheckThreatLevel(ThreatLevel.None, "osSunGetParam"); | ||
1320 | OSSLDeprecated("osSunGetParam", "osGetSunParam"); | 1265 | OSSLDeprecated("osSunGetParam", "osGetSunParam"); |
1321 | return GetSunParam(param); | 1266 | return GetSunParam(param); |
1322 | } | 1267 | } |
1323 | 1268 | ||
1324 | public double osGetSunParam(string param) | 1269 | public double osGetSunParam(string param) |
1325 | { | 1270 | { |
1326 | CheckThreatLevel(ThreatLevel.None, "osGetSunParam"); | ||
1327 | return GetSunParam(param); | 1271 | return GetSunParam(param); |
1328 | } | 1272 | } |
1329 | 1273 | ||
@@ -1344,14 +1288,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1344 | 1288 | ||
1345 | public void osSunSetParam(string param, double value) | 1289 | public void osSunSetParam(string param, double value) |
1346 | { | 1290 | { |
1347 | CheckThreatLevel(ThreatLevel.None, "osSunSetParam"); | 1291 | //// CheckThreatLevel(ThreatLevel.None, "osSunSetParam"); |
1348 | OSSLDeprecated("osSunSetParam", "osSetSunParam"); | 1292 | OSSLDeprecated("osSunSetParam", "osSetSunParam"); |
1349 | SetSunParam(param, value); | 1293 | SetSunParam(param, value); |
1350 | } | 1294 | } |
1351 | 1295 | ||
1352 | public void osSetSunParam(string param, double value) | 1296 | public void osSetSunParam(string param, double value) |
1353 | { | 1297 | { |
1354 | CheckThreatLevel(ThreatLevel.None, "osSetSunParam"); | 1298 | //// CheckThreatLevel(ThreatLevel.None, "osSetSunParam"); |
1355 | SetSunParam(param, value); | 1299 | SetSunParam(param, value); |
1356 | } | 1300 | } |
1357 | 1301 | ||
@@ -1368,7 +1312,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1368 | 1312 | ||
1369 | public string osWindActiveModelPluginName() | 1313 | public string osWindActiveModelPluginName() |
1370 | { | 1314 | { |
1371 | CheckThreatLevel(ThreatLevel.None, "osWindActiveModelPluginName"); | ||
1372 | m_host.AddScriptLPS(1); | 1315 | m_host.AddScriptLPS(1); |
1373 | 1316 | ||
1374 | IWindModule module = World.RequestModuleInterface<IWindModule>(); | 1317 | IWindModule module = World.RequestModuleInterface<IWindModule>(); |
@@ -1398,7 +1341,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1398 | 1341 | ||
1399 | public LSL_Float osGetWindParam(string plugin, string param) | 1342 | public LSL_Float osGetWindParam(string plugin, string param) |
1400 | { | 1343 | { |
1401 | CheckThreatLevel(ThreatLevel.VeryLow, "osGetWindParam"); | ||
1402 | m_host.AddScriptLPS(1); | 1344 | m_host.AddScriptLPS(1); |
1403 | 1345 | ||
1404 | IWindModule module = World.RequestModuleInterface<IWindModule>(); | 1346 | IWindModule module = World.RequestModuleInterface<IWindModule>(); |
@@ -1522,8 +1464,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1522 | // is not allowed to contain any. | 1464 | // is not allowed to contain any. |
1523 | // This really should be removed. | 1465 | // This really should be removed. |
1524 | // | 1466 | // |
1525 | CheckThreatLevel(ThreatLevel.None, "osList2Double"); | ||
1526 | |||
1527 | m_host.AddScriptLPS(1); | 1467 | m_host.AddScriptLPS(1); |
1528 | if (index < 0) | 1468 | if (index < 0) |
1529 | { | 1469 | { |
@@ -1584,8 +1524,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1584 | // that trigger engine-specific failures. | 1524 | // that trigger engine-specific failures. |
1585 | // Besides, public grid users aren't supposed to know. | 1525 | // Besides, public grid users aren't supposed to know. |
1586 | // | 1526 | // |
1587 | CheckThreatLevel(ThreatLevel.High, "osGetScriptEngineName"); | 1527 | // On the other hand, what other script engines are there? |
1588 | 1528 | // | |
1589 | m_host.AddScriptLPS(1); | 1529 | m_host.AddScriptLPS(1); |
1590 | 1530 | ||
1591 | int scriptEngineNameIndex = 0; | 1531 | int scriptEngineNameIndex = 0; |
@@ -1637,15 +1577,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1637 | // throwing an exception. | 1577 | // throwing an exception. |
1638 | m_host.AddScriptLPS(1); | 1578 | m_host.AddScriptLPS(1); |
1639 | string ret = String.Empty; | 1579 | string ret = String.Empty; |
1640 | if (String.IsNullOrEmpty(CheckThreatLevelTest(ThreatLevel.High, "osGetPhysicsEngineType"))) | 1580 | if (m_ScriptEngine.World.PhysicsScene != null) |
1641 | { | 1581 | { |
1642 | if (m_ScriptEngine.World.PhysicsScene != null) | 1582 | ret = m_ScriptEngine.World.PhysicsScene.EngineType; |
1643 | { | 1583 | // An old physics engine might have an uninitialized engine type |
1644 | ret = m_ScriptEngine.World.PhysicsScene.EngineType; | 1584 | if (ret == null) |
1645 | // An old physics engine might have an uninitialized engine type | 1585 | ret = "unknown"; |
1646 | if (ret == null) | ||
1647 | ret = "unknown"; | ||
1648 | } | ||
1649 | } | 1586 | } |
1650 | 1587 | ||
1651 | return ret; | 1588 | return ret; |
@@ -1653,12 +1590,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1653 | 1590 | ||
1654 | public string osGetSimulatorVersion() | 1591 | public string osGetSimulatorVersion() |
1655 | { | 1592 | { |
1656 | // High because it can be used to target attacks to known weaknesses | ||
1657 | // This would allow a new class of griefer scripts that don't even | ||
1658 | // require their user to know what they are doing (see script | ||
1659 | // kiddie) | ||
1660 | // | ||
1661 | CheckThreatLevel(ThreatLevel.High,"osGetSimulatorVersion"); | ||
1662 | m_host.AddScriptLPS(1); | 1593 | m_host.AddScriptLPS(1); |
1663 | 1594 | ||
1664 | return m_ScriptEngine.World.GetSimulatorVersion(); | 1595 | return m_ScriptEngine.World.GetSimulatorVersion(); |
@@ -1703,8 +1634,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1703 | 1634 | ||
1704 | public Object osParseJSONNew(string JSON) | 1635 | public Object osParseJSONNew(string JSON) |
1705 | { | 1636 | { |
1706 | CheckThreatLevel(ThreatLevel.None, "osParseJSONNew"); | ||
1707 | |||
1708 | m_host.AddScriptLPS(1); | 1637 | m_host.AddScriptLPS(1); |
1709 | 1638 | ||
1710 | try | 1639 | try |
@@ -1721,8 +1650,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1721 | 1650 | ||
1722 | public Hashtable osParseJSON(string JSON) | 1651 | public Hashtable osParseJSON(string JSON) |
1723 | { | 1652 | { |
1724 | CheckThreatLevel(ThreatLevel.None, "osParseJSON"); | ||
1725 | |||
1726 | m_host.AddScriptLPS(1); | 1653 | m_host.AddScriptLPS(1); |
1727 | 1654 | ||
1728 | Object decoded = osParseJSONNew(JSON); | 1655 | Object decoded = osParseJSONNew(JSON); |
@@ -1754,7 +1681,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1754 | /// <param name="message"></param> | 1681 | /// <param name="message"></param> |
1755 | public void osMessageObject(LSL_Key objectUUID, string message) | 1682 | public void osMessageObject(LSL_Key objectUUID, string message) |
1756 | { | 1683 | { |
1757 | CheckThreatLevel(ThreatLevel.Low, "osMessageObject"); | ||
1758 | m_host.AddScriptLPS(1); | 1684 | m_host.AddScriptLPS(1); |
1759 | 1685 | ||
1760 | UUID objUUID; | 1686 | UUID objUUID; |
@@ -1796,7 +1722,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1796 | /// <param name="contents">The contents of the notecard.</param> | 1722 | /// <param name="contents">The contents of the notecard.</param> |
1797 | public void osMakeNotecard(string notecardName, LSL_Types.list contents) | 1723 | public void osMakeNotecard(string notecardName, LSL_Types.list contents) |
1798 | { | 1724 | { |
1799 | CheckThreatLevel(ThreatLevel.High, "osMakeNotecard"); | ||
1800 | m_host.AddScriptLPS(1); | 1725 | m_host.AddScriptLPS(1); |
1801 | 1726 | ||
1802 | StringBuilder notecardData = new StringBuilder(); | 1727 | StringBuilder notecardData = new StringBuilder(); |
@@ -1885,16 +1810,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1885 | if (assetID != UUID.Zero) | 1810 | if (assetID != UUID.Zero) |
1886 | { | 1811 | { |
1887 | StringBuilder notecardData = new StringBuilder(); | 1812 | StringBuilder notecardData = new StringBuilder(); |
1888 | 1813 | ||
1889 | for (int count = 0; count < NotecardCache.GetLines(assetID); count++) | 1814 | for (int count = 0; count < NotecardCache.GetLines(assetID); count++) |
1890 | { | 1815 | { |
1891 | string line = NotecardCache.GetLine(assetID, count) + "\n"; | 1816 | string line = NotecardCache.GetLine(assetID, count) + "\n"; |
1892 | 1817 | ||
1893 | // m_log.DebugFormat("[OSSL]: From notecard {0} loading line {1}", notecardNameOrUuid, line); | 1818 | // m_log.DebugFormat("[OSSL]: From notecard {0} loading line {1}", notecardNameOrUuid, line); |
1894 | 1819 | ||
1895 | notecardData.Append(line); | 1820 | notecardData.Append(line); |
1896 | } | 1821 | } |
1897 | 1822 | ||
1898 | return notecardData.ToString(); | 1823 | return notecardData.ToString(); |
1899 | } | 1824 | } |
1900 | 1825 | ||
@@ -1955,7 +1880,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1955 | /// <returns>Notecard line</returns> | 1880 | /// <returns>Notecard line</returns> |
1956 | public string osGetNotecardLine(string name, int line) | 1881 | public string osGetNotecardLine(string name, int line) |
1957 | { | 1882 | { |
1958 | CheckThreatLevel(ThreatLevel.VeryHigh, "osGetNotecardLine"); | ||
1959 | m_host.AddScriptLPS(1); | 1883 | m_host.AddScriptLPS(1); |
1960 | 1884 | ||
1961 | UUID assetID = CacheNotecard(name); | 1885 | UUID assetID = CacheNotecard(name); |
@@ -1983,7 +1907,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1983 | /// <returns>Notecard text</returns> | 1907 | /// <returns>Notecard text</returns> |
1984 | public string osGetNotecard(string name) | 1908 | public string osGetNotecard(string name) |
1985 | { | 1909 | { |
1986 | CheckThreatLevel(ThreatLevel.VeryHigh, "osGetNotecard"); | ||
1987 | m_host.AddScriptLPS(1); | 1910 | m_host.AddScriptLPS(1); |
1988 | 1911 | ||
1989 | string text = LoadNotecard(name); | 1912 | string text = LoadNotecard(name); |
@@ -2013,7 +1936,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2013 | /// <returns></returns> | 1936 | /// <returns></returns> |
2014 | public int osGetNumberOfNotecardLines(string name) | 1937 | public int osGetNumberOfNotecardLines(string name) |
2015 | { | 1938 | { |
2016 | CheckThreatLevel(ThreatLevel.VeryHigh, "osGetNumberOfNotecardLines"); | ||
2017 | m_host.AddScriptLPS(1); | 1939 | m_host.AddScriptLPS(1); |
2018 | 1940 | ||
2019 | UUID assetID = CacheNotecard(name); | 1941 | UUID assetID = CacheNotecard(name); |
@@ -2081,7 +2003,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2081 | 2003 | ||
2082 | public string osKey2Name(string id) | 2004 | public string osKey2Name(string id) |
2083 | { | 2005 | { |
2084 | CheckThreatLevel(ThreatLevel.Low, "osKey2Name"); | ||
2085 | m_host.AddScriptLPS(1); | 2006 | m_host.AddScriptLPS(1); |
2086 | 2007 | ||
2087 | UUID key = new UUID(); | 2008 | UUID key = new UUID(); |
@@ -2108,7 +2029,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2108 | } | 2029 | } |
2109 | } | 2030 | } |
2110 | } | 2031 | } |
2111 | 2032 | ||
2112 | return ""; | 2033 | return ""; |
2113 | } | 2034 | } |
2114 | 2035 | ||
@@ -2191,7 +2112,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2191 | /// <returns></returns> | 2112 | /// <returns></returns> |
2192 | public string osGetGridNick() | 2113 | public string osGetGridNick() |
2193 | { | 2114 | { |
2194 | CheckThreatLevel(ThreatLevel.Moderate, "osGetGridNick"); | 2115 | //// CheckThreatLevel(ThreatLevel.None, "osGetGridNick"); |
2195 | m_host.AddScriptLPS(1); | 2116 | m_host.AddScriptLPS(1); |
2196 | 2117 | ||
2197 | string nick = String.Empty; | 2118 | string nick = String.Empty; |
@@ -2208,7 +2129,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2208 | 2129 | ||
2209 | public string osGetGridName() | 2130 | public string osGetGridName() |
2210 | { | 2131 | { |
2211 | CheckThreatLevel(ThreatLevel.Moderate, "osGetGridName"); | 2132 | //// CheckThreatLevel(ThreatLevel.None, "osGetGridName"); |
2212 | m_host.AddScriptLPS(1); | 2133 | m_host.AddScriptLPS(1); |
2213 | 2134 | ||
2214 | string name = String.Empty; | 2135 | string name = String.Empty; |
@@ -2300,7 +2221,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2300 | 2221 | ||
2301 | public string osGetAvatarHomeURI(string uuid) | 2222 | public string osGetAvatarHomeURI(string uuid) |
2302 | { | 2223 | { |
2303 | CheckThreatLevel(ThreatLevel.Low, "osGetAvatarHomeURI"); | 2224 | CheckThreatLevel(ThreatLevel.Moderate, "osGetAvatarHomeURI"); |
2304 | m_host.AddScriptLPS(1); | 2225 | m_host.AddScriptLPS(1); |
2305 | 2226 | ||
2306 | IUserManagement userManager = m_ScriptEngine.World.RequestModuleInterface<IUserManagement>(); | 2227 | IUserManagement userManager = m_ScriptEngine.World.RequestModuleInterface<IUserManagement>(); |
@@ -2333,7 +2254,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2333 | 2254 | ||
2334 | public LSL_String osFormatString(string str, LSL_List strings) | 2255 | public LSL_String osFormatString(string str, LSL_List strings) |
2335 | { | 2256 | { |
2336 | CheckThreatLevel(ThreatLevel.VeryLow, "osFormatString"); | ||
2337 | m_host.AddScriptLPS(1); | 2257 | m_host.AddScriptLPS(1); |
2338 | 2258 | ||
2339 | return String.Format(str, strings.Data); | 2259 | return String.Format(str, strings.Data); |
@@ -2341,7 +2261,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2341 | 2261 | ||
2342 | public LSL_List osMatchString(string src, string pattern, int start) | 2262 | public LSL_List osMatchString(string src, string pattern, int start) |
2343 | { | 2263 | { |
2344 | CheckThreatLevel(ThreatLevel.VeryLow, "osMatchString"); | ||
2345 | m_host.AddScriptLPS(1); | 2264 | m_host.AddScriptLPS(1); |
2346 | 2265 | ||
2347 | LSL_List result = new LSL_List(); | 2266 | LSL_List result = new LSL_List(); |
@@ -2383,7 +2302,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2383 | 2302 | ||
2384 | public LSL_String osReplaceString(string src, string pattern, string replace, int count, int start) | 2303 | public LSL_String osReplaceString(string src, string pattern, string replace, int count, int start) |
2385 | { | 2304 | { |
2386 | CheckThreatLevel(ThreatLevel.VeryLow, "osReplaceString"); | ||
2387 | m_host.AddScriptLPS(1); | 2305 | m_host.AddScriptLPS(1); |
2388 | 2306 | ||
2389 | // Normalize indices (if negative). | 2307 | // Normalize indices (if negative). |
@@ -2503,7 +2421,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2503 | 2421 | ||
2504 | public LSL_Integer osIsNpc(LSL_Key npc) | 2422 | public LSL_Integer osIsNpc(LSL_Key npc) |
2505 | { | 2423 | { |
2506 | CheckThreatLevel(ThreatLevel.None, "osIsNpc"); | ||
2507 | m_host.AddScriptLPS(1); | 2424 | m_host.AddScriptLPS(1); |
2508 | 2425 | ||
2509 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2426 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
@@ -2648,7 +2565,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2648 | 2565 | ||
2649 | public LSL_Key osNpcGetOwner(LSL_Key npc) | 2566 | public LSL_Key osNpcGetOwner(LSL_Key npc) |
2650 | { | 2567 | { |
2651 | CheckThreatLevel(ThreatLevel.None, "osNpcGetOwner"); | ||
2652 | m_host.AddScriptLPS(1); | 2568 | m_host.AddScriptLPS(1); |
2653 | 2569 | ||
2654 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); | 2570 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); |
@@ -2670,7 +2586,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2670 | 2586 | ||
2671 | public LSL_Vector osNpcGetPos(LSL_Key npc) | 2587 | public LSL_Vector osNpcGetPos(LSL_Key npc) |
2672 | { | 2588 | { |
2673 | CheckThreatLevel(ThreatLevel.High, "osNpcGetPos"); | ||
2674 | m_host.AddScriptLPS(1); | 2589 | m_host.AddScriptLPS(1); |
2675 | 2590 | ||
2676 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); | 2591 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); |
@@ -2706,7 +2621,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2706 | 2621 | ||
2707 | if (!module.CheckPermissions(npcId, m_host.OwnerID)) | 2622 | if (!module.CheckPermissions(npcId, m_host.OwnerID)) |
2708 | return; | 2623 | return; |
2709 | 2624 | ||
2710 | module.MoveToTarget(npcId, World, pos, false, true, false); | 2625 | module.MoveToTarget(npcId, World, pos, false, true, false); |
2711 | } | 2626 | } |
2712 | } | 2627 | } |
@@ -2738,7 +2653,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2738 | 2653 | ||
2739 | public LSL_Rotation osNpcGetRot(LSL_Key npc) | 2654 | public LSL_Rotation osNpcGetRot(LSL_Key npc) |
2740 | { | 2655 | { |
2741 | CheckThreatLevel(ThreatLevel.High, "osNpcGetRot"); | ||
2742 | m_host.AddScriptLPS(1); | 2656 | m_host.AddScriptLPS(1); |
2743 | 2657 | ||
2744 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); | 2658 | INPCModule npcModule = World.RequestModuleInterface<INPCModule>(); |
@@ -2940,7 +2854,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2940 | { | 2854 | { |
2941 | CheckThreatLevel(ThreatLevel.High, "osNpcTouch"); | 2855 | CheckThreatLevel(ThreatLevel.High, "osNpcTouch"); |
2942 | m_host.AddScriptLPS(1); | 2856 | m_host.AddScriptLPS(1); |
2943 | 2857 | ||
2944 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | 2858 | INPCModule module = World.RequestModuleInterface<INPCModule>(); |
2945 | int linkNum = link_num.value; | 2859 | int linkNum = link_num.value; |
2946 | if (module != null || (linkNum < 0 && linkNum != ScriptBaseClass.LINK_THIS)) | 2860 | if (module != null || (linkNum < 0 && linkNum != ScriptBaseClass.LINK_THIS)) |
@@ -2983,7 +2897,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2983 | /// <returns>The asset ID of the notecard saved.</returns> | 2897 | /// <returns>The asset ID of the notecard saved.</returns> |
2984 | public LSL_Key osOwnerSaveAppearance(string notecard) | 2898 | public LSL_Key osOwnerSaveAppearance(string notecard) |
2985 | { | 2899 | { |
2986 | CheckThreatLevel(ThreatLevel.High, "osOwnerSaveAppearance"); | 2900 | CheckThreatLevel(ThreatLevel.Moderate, "osOwnerSaveAppearance"); |
2987 | m_host.AddScriptLPS(1); | 2901 | m_host.AddScriptLPS(1); |
2988 | 2902 | ||
2989 | return SaveAppearanceToNotecard(m_host.OwnerID, notecard); | 2903 | return SaveAppearanceToNotecard(m_host.OwnerID, notecard); |
@@ -2991,7 +2905,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2991 | 2905 | ||
2992 | public LSL_Key osAgentSaveAppearance(LSL_Key avatarId, string notecard) | 2906 | public LSL_Key osAgentSaveAppearance(LSL_Key avatarId, string notecard) |
2993 | { | 2907 | { |
2994 | CheckThreatLevel(ThreatLevel.VeryHigh, "osAgentSaveAppearance"); | 2908 | CheckThreatLevel(ThreatLevel.High, "osAgentSaveAppearance"); |
2995 | m_host.AddScriptLPS(1); | 2909 | m_host.AddScriptLPS(1); |
2996 | 2910 | ||
2997 | return SaveAppearanceToNotecard(avatarId, notecard); | 2911 | return SaveAppearanceToNotecard(avatarId, notecard); |
@@ -3043,7 +2957,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3043 | /// <returns>"male" or "female" or "unknown"</returns> | 2957 | /// <returns>"male" or "female" or "unknown"</returns> |
3044 | public LSL_String osGetGender(LSL_Key rawAvatarId) | 2958 | public LSL_String osGetGender(LSL_Key rawAvatarId) |
3045 | { | 2959 | { |
3046 | CheckThreatLevel(ThreatLevel.None, "osGetGender"); | ||
3047 | m_host.AddScriptLPS(1); | 2960 | m_host.AddScriptLPS(1); |
3048 | 2961 | ||
3049 | UUID avatarId; | 2962 | UUID avatarId; |
@@ -3087,7 +3000,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3087 | /// <returns></returns> | 3000 | /// <returns></returns> |
3088 | public LSL_Key osGetMapTexture() | 3001 | public LSL_Key osGetMapTexture() |
3089 | { | 3002 | { |
3090 | CheckThreatLevel(ThreatLevel.None, "osGetMapTexture"); | ||
3091 | m_host.AddScriptLPS(1); | 3003 | m_host.AddScriptLPS(1); |
3092 | 3004 | ||
3093 | return m_ScriptEngine.World.RegionInfo.RegionSettings.TerrainImageID.ToString(); | 3005 | return m_ScriptEngine.World.RegionInfo.RegionSettings.TerrainImageID.ToString(); |
@@ -3100,7 +3012,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3100 | /// <returns></returns> | 3012 | /// <returns></returns> |
3101 | public LSL_Key osGetRegionMapTexture(string regionName) | 3013 | public LSL_Key osGetRegionMapTexture(string regionName) |
3102 | { | 3014 | { |
3103 | CheckThreatLevel(ThreatLevel.High, "osGetRegionMapTexture"); | ||
3104 | m_host.AddScriptLPS(1); | 3015 | m_host.AddScriptLPS(1); |
3105 | 3016 | ||
3106 | Scene scene = m_ScriptEngine.World; | 3017 | Scene scene = m_ScriptEngine.World; |
@@ -3129,7 +3040,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3129 | /// <returns>List of floats</returns> | 3040 | /// <returns>List of floats</returns> |
3130 | public LSL_List osGetRegionStats() | 3041 | public LSL_List osGetRegionStats() |
3131 | { | 3042 | { |
3132 | CheckThreatLevel(ThreatLevel.Moderate, "osGetRegionStats"); | ||
3133 | m_host.AddScriptLPS(1); | 3043 | m_host.AddScriptLPS(1); |
3134 | LSL_List ret = new LSL_List(); | 3044 | LSL_List ret = new LSL_List(); |
3135 | float[] stats = World.StatsReporter.LastReportedSimStats; | 3045 | float[] stats = World.StatsReporter.LastReportedSimStats; |
@@ -3143,7 +3053,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3143 | 3053 | ||
3144 | public LSL_Vector osGetRegionSize() | 3054 | public LSL_Vector osGetRegionSize() |
3145 | { | 3055 | { |
3146 | CheckThreatLevel(ThreatLevel.None, "osGetRegionSize"); | ||
3147 | m_host.AddScriptLPS(1); | 3056 | m_host.AddScriptLPS(1); |
3148 | 3057 | ||
3149 | bool isMegaregion; | 3058 | bool isMegaregion; |
@@ -3211,7 +3120,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3211 | 3120 | ||
3212 | public LSL_Float osGetHealth(string avatar) | 3121 | public LSL_Float osGetHealth(string avatar) |
3213 | { | 3122 | { |
3214 | CheckThreatLevel(ThreatLevel.None, "osGetHealth"); | ||
3215 | m_host.AddScriptLPS(1); | 3123 | m_host.AddScriptLPS(1); |
3216 | 3124 | ||
3217 | LSL_Float health = new LSL_Float(-1); | 3125 | LSL_Float health = new LSL_Float(-1); |
@@ -3273,7 +3181,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3273 | CheckThreatLevel(ThreatLevel.High, "osGetPrimitiveParams"); | 3181 | CheckThreatLevel(ThreatLevel.High, "osGetPrimitiveParams"); |
3274 | m_host.AddScriptLPS(1); | 3182 | m_host.AddScriptLPS(1); |
3275 | InitLSL(); | 3183 | InitLSL(); |
3276 | 3184 | ||
3277 | return m_LSL_Api.GetPrimitiveParamsEx(prim, rules); | 3185 | return m_LSL_Api.GetPrimitiveParamsEx(prim, rules); |
3278 | } | 3186 | } |
3279 | 3187 | ||
@@ -3282,10 +3190,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3282 | CheckThreatLevel(ThreatLevel.High, "osSetPrimitiveParams"); | 3190 | CheckThreatLevel(ThreatLevel.High, "osSetPrimitiveParams"); |
3283 | m_host.AddScriptLPS(1); | 3191 | m_host.AddScriptLPS(1); |
3284 | InitLSL(); | 3192 | InitLSL(); |
3285 | 3193 | ||
3286 | m_LSL_Api.SetPrimitiveParamsEx(prim, rules, "osSetPrimitiveParams"); | 3194 | m_LSL_Api.SetPrimitiveParamsEx(prim, rules, "osSetPrimitiveParams"); |
3287 | } | 3195 | } |
3288 | 3196 | ||
3289 | /// <summary> | 3197 | /// <summary> |
3290 | /// Set parameters for light projection in host prim | 3198 | /// Set parameters for light projection in host prim |
3291 | /// </summary> | 3199 | /// </summary> |
@@ -3332,7 +3240,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3332 | /// <returns>Strided list of the UUID, position and name of each avatar in the region</returns> | 3240 | /// <returns>Strided list of the UUID, position and name of each avatar in the region</returns> |
3333 | public LSL_List osGetAvatarList() | 3241 | public LSL_List osGetAvatarList() |
3334 | { | 3242 | { |
3335 | CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); | ||
3336 | m_host.AddScriptLPS(1); | 3243 | m_host.AddScriptLPS(1); |
3337 | 3244 | ||
3338 | LSL_List result = new LSL_List(); | 3245 | LSL_List result = new LSL_List(); |
@@ -3356,7 +3263,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3356 | /// <returns></returns> | 3263 | /// <returns></returns> |
3357 | public LSL_String osUnixTimeToTimestamp(long time) | 3264 | public LSL_String osUnixTimeToTimestamp(long time) |
3358 | { | 3265 | { |
3359 | CheckThreatLevel(ThreatLevel.VeryLow, "osUnixTimeToTimestamp"); | ||
3360 | m_host.AddScriptLPS(1); | 3266 | m_host.AddScriptLPS(1); |
3361 | 3267 | ||
3362 | long baseTicks = 621355968000000000; | 3268 | long baseTicks = 621355968000000000; |
@@ -3537,7 +3443,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3537 | 3443 | ||
3538 | public void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, int attachmentPoint) | 3444 | public void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, int attachmentPoint) |
3539 | { | 3445 | { |
3540 | CheckThreatLevel(ThreatLevel.VeryHigh, "osForceAttachToOtherAvatarFromInventory"); | 3446 | CheckThreatLevel(ThreatLevel.Severe, "osForceAttachToOtherAvatarFromInventory"); |
3541 | 3447 | ||
3542 | m_host.AddScriptLPS(1); | 3448 | m_host.AddScriptLPS(1); |
3543 | 3449 | ||
@@ -3782,7 +3688,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3782 | /// <returns>1 if thing is a valid UUID, 0 otherwise</returns> | 3688 | /// <returns>1 if thing is a valid UUID, 0 otherwise</returns> |
3783 | public LSL_Integer osIsUUID(string thing) | 3689 | public LSL_Integer osIsUUID(string thing) |
3784 | { | 3690 | { |
3785 | CheckThreatLevel(ThreatLevel.None, "osIsUUID"); | ||
3786 | m_host.AddScriptLPS(1); | 3691 | m_host.AddScriptLPS(1); |
3787 | 3692 | ||
3788 | UUID test; | 3693 | UUID test; |
@@ -3797,7 +3702,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3797 | /// <returns></returns> | 3702 | /// <returns></returns> |
3798 | public LSL_Float osMin(double a, double b) | 3703 | public LSL_Float osMin(double a, double b) |
3799 | { | 3704 | { |
3800 | CheckThreatLevel(ThreatLevel.None, "osMin"); | ||
3801 | m_host.AddScriptLPS(1); | 3705 | m_host.AddScriptLPS(1); |
3802 | 3706 | ||
3803 | return Math.Min(a, b); | 3707 | return Math.Min(a, b); |
@@ -3811,7 +3715,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3811 | /// <returns></returns> | 3715 | /// <returns></returns> |
3812 | public LSL_Float osMax(double a, double b) | 3716 | public LSL_Float osMax(double a, double b) |
3813 | { | 3717 | { |
3814 | CheckThreatLevel(ThreatLevel.None, "osMax"); | ||
3815 | m_host.AddScriptLPS(1); | 3718 | m_host.AddScriptLPS(1); |
3816 | 3719 | ||
3817 | return Math.Max(a, b); | 3720 | return Math.Max(a, b); |
@@ -3819,7 +3722,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3819 | 3722 | ||
3820 | public LSL_Key osGetRezzingObject() | 3723 | public LSL_Key osGetRezzingObject() |
3821 | { | 3724 | { |
3822 | CheckThreatLevel(ThreatLevel.None, "osGetRezzingObject"); | ||
3823 | m_host.AddScriptLPS(1); | 3725 | m_host.AddScriptLPS(1); |
3824 | 3726 | ||
3825 | return new LSL_Key(m_host.ParentGroup.FromPartID.ToString()); | 3727 | return new LSL_Key(m_host.ParentGroup.FromPartID.ToString()); |
@@ -3893,7 +3795,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3893 | 3795 | ||
3894 | public void osDropAttachment() | 3796 | public void osDropAttachment() |
3895 | { | 3797 | { |
3896 | CheckThreatLevel(ThreatLevel.Moderate, "osDropAttachment"); | 3798 | CheckThreatLevel(ThreatLevel.Low, "osDropAttachment"); |
3897 | m_host.AddScriptLPS(1); | 3799 | m_host.AddScriptLPS(1); |
3898 | 3800 | ||
3899 | DropAttachment(true); | 3801 | DropAttachment(true); |
@@ -3909,7 +3811,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3909 | 3811 | ||
3910 | public void osDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) | 3812 | public void osDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) |
3911 | { | 3813 | { |
3912 | CheckThreatLevel(ThreatLevel.Moderate, "osDropAttachmentAt"); | 3814 | CheckThreatLevel(ThreatLevel.Low, "osDropAttachmentAt"); |
3913 | m_host.AddScriptLPS(1); | 3815 | m_host.AddScriptLPS(1); |
3914 | 3816 | ||
3915 | DropAttachmentAt(true, pos, rot); | 3817 | DropAttachmentAt(true, pos, rot); |
@@ -3925,7 +3827,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3925 | 3827 | ||
3926 | public LSL_Integer osListenRegex(int channelID, string name, string ID, string msg, int regexBitfield) | 3828 | public LSL_Integer osListenRegex(int channelID, string name, string ID, string msg, int regexBitfield) |
3927 | { | 3829 | { |
3928 | CheckThreatLevel(ThreatLevel.Low, "osListenRegex"); | ||
3929 | m_host.AddScriptLPS(1); | 3830 | m_host.AddScriptLPS(1); |
3930 | UUID keyID; | 3831 | UUID keyID; |
3931 | UUID.TryParse(ID, out keyID); | 3832 | UUID.TryParse(ID, out keyID); |
@@ -3973,7 +3874,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3973 | 3874 | ||
3974 | public LSL_Integer osRegexIsMatch(string input, string pattern) | 3875 | public LSL_Integer osRegexIsMatch(string input, string pattern) |
3975 | { | 3876 | { |
3976 | CheckThreatLevel(ThreatLevel.Low, "osRegexIsMatch"); | ||
3977 | m_host.AddScriptLPS(1); | 3877 | m_host.AddScriptLPS(1); |
3978 | try | 3878 | try |
3979 | { | 3879 | { |
diff --git a/config/config-include/osslEnable.ini b/config/config-include/osslEnable.ini index 0a03d4c..0d333c4 100644 --- a/config/config-include/osslEnable.ini +++ b/config/config-include/osslEnable.ini | |||
@@ -9,15 +9,21 @@ | |||
9 | ; mis-used so the permission to execute a function can be limited. Ability to | 9 | ; mis-used so the permission to execute a function can be limited. Ability to |
10 | ; execute a function is based on the owner of the prim holding the script. | 10 | ; execute a function is based on the owner of the prim holding the script. |
11 | 11 | ||
12 | [LightShare] | ||
13 | ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. | ||
14 | ; It has no ill effect on viewers which do not support server-side windlight settings. | ||
15 | enable_windlight = true | ||
16 | |||
17 | |||
18 | [NPC] | ||
19 | ;; Enable Non Player Character (NPC) facilities | ||
20 | Enabled = true | ||
21 | |||
22 | |||
12 | [XEngine] | 23 | [XEngine] |
13 | ; Allow the use of os* functions (some are dangerous) | 24 | ; Allow the use of os* functions (some are dangerous) |
14 | AllowOSFunctions = true | 25 | AllowOSFunctions = true |
15 | 26 | ||
16 | ; Allow the user of mod* functions. This allows a script to pass messages | ||
17 | ; to a region module via the modSendCommand() function and is used by some | ||
18 | ; modules to extend the scripting language. | ||
19 | AllowMODFunctions = true | ||
20 | |||
21 | ; Allow the use of LightShare functions. | 27 | ; Allow the use of LightShare functions. |
22 | ; The setting enable_windlight = true must also be enabled in the [LightShare] section. | 28 | ; The setting enable_windlight = true must also be enabled in the [LightShare] section. |
23 | AllowLightShareFunctions = true | 29 | AllowLightShareFunctions = true |
@@ -29,7 +35,7 @@ | |||
29 | ; than 'Low' unless you have a high level of trust in all the users that can run scripts | 35 | ; than 'Low' unless you have a high level of trust in all the users that can run scripts |
30 | ; in your simulator. It is safer to explicitly allow certain types of user to run | 36 | ; in your simulator. It is safer to explicitly allow certain types of user to run |
31 | ; higher threat level OSSL functions, as detailed later on. | 37 | ; higher threat level OSSL functions, as detailed later on. |
32 | OSFunctionThreatLevel = VeryLow | 38 | OSFunctionThreatLevel = Moderate |
33 | 39 | ||
34 | ; Each of the OSSL functions can be enabled or disabled individually. | 40 | ; Each of the OSSL functions can be enabled or disabled individually. |
35 | ; To disable, set the value to 'false'. | 41 | ; To disable, set the value to 'false'. |
@@ -48,183 +54,94 @@ | |||
48 | ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is | 54 | ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is |
49 | ; checked against the creator of the script itself. | 55 | ; checked against the creator of the script itself. |
50 | 56 | ||
51 | ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if | ||
52 | ; a region is selling or otherwise giving away parcel ownership. By default, parcel | ||
53 | ; ownership or group membership does not enable OSSL functions. Uncomment the | ||
54 | ; appropriate line below to allow parcel ownership and groups to do restricted | ||
55 | ; OSSL functions. It might be better to check the list below and edit the ones | ||
56 | ; to enable individually. | ||
57 | osslParcelO = "" | ||
58 | osslParcelOG = "" | ||
59 | ; osslParcelO = "PARCEL_OWNER," | ||
60 | ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," | ||
61 | |||
62 | ; There are a block of functions for creating and controlling NPCs. | ||
63 | ; These can be mis-used so limit use to those you can trust. | ||
64 | osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
65 | |||
66 | ; ThreatLevel None | ||
67 | Allow_osDrawEllipse = true | ||
68 | Allow_osDrawFilledPolygon = true | ||
69 | Allow_osDrawFilledRectangle = true | ||
70 | Allow_osDrawImage = true | ||
71 | Allow_osDrawLine = true | ||
72 | Allow_osDrawPolygon = true | ||
73 | Allow_osDrawRectangle = true | ||
74 | Allow_osDrawText = true | ||
75 | Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
76 | Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
77 | Allow_osGetCurrentSunHour = true | ||
78 | Allow_osGetGender = true | ||
79 | Allow_osGetHealth = true | ||
80 | Allow_osGetInventoryDesc = true | ||
81 | Allow_osGetMapTexture = true | ||
82 | Allow_osGetRegionSize = true | ||
83 | Allow_osGetRezzingObject = true | ||
84 | Allow_osGetSunParam = true | ||
85 | Allow_osGetTerrainHeight = true | ||
86 | Allow_osIsNpc = true | ||
87 | Allow_osIsUUID = true | ||
88 | Allow_osList2Double = true | ||
89 | Allow_osMax = true | ||
90 | Allow_osMin = true | ||
91 | Allow_osMovePen = true | ||
92 | Allow_osNpcGetOwner = ${XEngine|osslNPC} | ||
93 | Allow_osParseJSON = true | ||
94 | Allow_osParseJSONNew = true | ||
95 | Allow_osSetFontName = true | ||
96 | Allow_osSetFontSize = true | ||
97 | Allow_osSetPenCap = true | ||
98 | Allow_osSetPenColor = true | ||
99 | Allow_osSetPenSize = true | ||
100 | Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
101 | Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
102 | Allow_osWindActiveModelPluginName = true | ||
103 | Allow_osCheckODE = true ; Here for completeness. This function cannot be turned off | ||
104 | |||
105 | ; ThreatLevel Nuisance | ||
106 | Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER | ||
107 | Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER | ||
108 | |||
109 | ; ThreatLevel VeryLow | 57 | ; ThreatLevel VeryLow |
110 | Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 58 | Allow_osEjectFromGroup = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
111 | Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 59 | Allow_osForceBreakAllLinks = ESTATE_MANAGER,ESTATE_OWNER |
112 | Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 60 | Allow_osForceBreakLink = ESTATE_MANAGER,ESTATE_OWNER |
113 | Allow_osGetDrawStringSize = true | 61 | Allow_osForceCreateLink = ESTATE_MANAGER,ESTATE_OWNER |
114 | Allow_osGetWindParam = true | 62 | Allow_osInviteToGroup = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
115 | Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 63 | Allow_osSetParcelMediaURL = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
116 | Allow_osReplaceString = true | 64 | Allow_osSetParcelSIPAddress = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
117 | Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
118 | Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
119 | Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
120 | Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
121 | Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
122 | Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
123 | Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
124 | Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
125 | Allow_osSetPrimFloatOnWater = true | 65 | Allow_osSetPrimFloatOnWater = true |
126 | Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 66 | Allow_osSetWindParam = ESTATE_MANAGER,ESTATE_OWNER |
127 | Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER | 67 | Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
128 | Allow_osUnixTimeToTimestamp = true | 68 | |
129 | |||
130 | ; ThreatLevel Low | 69 | ; ThreatLevel Low |
131 | Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 70 | Allow_osDropAttachment = ESTATE_MANAGER,ESTATE_OWNER |
132 | Allow_osFormatString = true | 71 | Allow_osDropAttachmentAt = ESTATE_MANAGER,ESTATE_OWNER |
133 | Allow_osKey2Name = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 72 | Allow_osAvatarName2Key = ESTATE_MANAGER,ESTATE_OWNER |
134 | Allow_osListenRegex = true | 73 | Allow_osLoadedCreationDate = ESTATE_MANAGER,ESTATE_OWNER |
135 | Allow_osLoadedCreationDate = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 74 | Allow_osLoadedCreationID = ESTATE_MANAGER,ESTATE_OWNER |
136 | Allow_osLoadedCreationID = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 75 | Allow_osLoadedCreationTime = ESTATE_MANAGER,ESTATE_OWNER |
137 | Allow_osLoadedCreationTime = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 76 | |
138 | Allow_osMessageObject = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
139 | Allow_osRegexIsMatch = true | ||
140 | Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
141 | |||
142 | ; ThreatLevel Moderate | 77 | ; ThreatLevel Moderate |
143 | Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 78 | Allow_osGetAvatarHomeURI = ESTATE_MANAGER,ESTATE_OWNER |
144 | Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 79 | Allow_osGetGridCustom = ESTATE_MANAGER,ESTATE_OWNER |
145 | Allow_osGetGridCustom = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 80 | Allow_osGetGridGatekeeperURI = ESTATE_MANAGER,ESTATE_OWNER |
146 | Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 81 | Allow_osGetGridHomeURI = ESTATE_MANAGER,ESTATE_OWNER |
147 | Allow_osGetGridHomeURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 82 | Allow_osGetGridLoginURI = ESTATE_MANAGER,ESTATE_OWNER |
148 | Allow_osGetGridLoginURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 83 | Allow_osGetSimulatorMemory = ESTATE_MANAGER,ESTATE_OWNER |
149 | Allow_osGetGridName = true | 84 | Allow_osGetNumberOfAttachments = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
150 | Allow_osGetGridNick = true | 85 | Allow_osOwnerSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER |
151 | Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 86 | Allow_osMessageAttachments = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
152 | Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 87 | Allow_osSetSpeed = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER |
153 | Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 88 | |
154 | Allow_osMessageAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
155 | Allow_osSetSpeed = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
156 | |||
157 | ; ThreatLevel High | 89 | ; ThreatLevel High |
158 | Allow_osCauseDamage = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 90 | Allow_osAgentSaveAppearance = ESTATE_OWNER,ESTATE_MANAGER |
159 | Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 91 | Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
160 | Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 92 | Allow_osCauseHealing = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
161 | Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 93 | Allow_osForceAttachToAvatar = ESTATE_MANAGER,ESTATE_OWNER |
162 | Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 94 | Allow_osForceAttachToAvatarFromInventory = ESTATE_MANAGER,ESTATE_OWNER |
163 | Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 95 | Allow_osForceDetachFromAvatar = ESTATE_MANAGER,ESTATE_OWNER |
164 | Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 96 | Allow_osForceDropAttachment = ESTATE_MANAGER,ESTATE_OWNER |
165 | Allow_osGetAgentIP = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 97 | Allow_osForceDropAttachmentAt = ESTATE_MANAGER,ESTATE_OWNER |
166 | Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 98 | Allow_osGetLinkPrimitiveParams = ESTATE_MANAGER,ESTATE_OWNER |
167 | Allow_osGetPhysicsEngineType = true | 99 | Allow_osGetPrimitiveParams = ESTATE_MANAGER,ESTATE_OWNER |
168 | Allow_osGetPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 100 | Allow_osNpcCreate = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
169 | Allow_osGetRegionMapTexture = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 101 | Allow_osNpcLoadAppearance = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
170 | Allow_osGetScriptEngineName = true | 102 | Allow_osNpcMoveTo = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
171 | Allow_osGetSimulatorVersion = true | 103 | Allow_osNpcMoveToTarget = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
172 | Allow_osMakeNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 104 | Allow_osNpcRemove = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
173 | Allow_osMatchString = true | 105 | Allow_osNpcSaveAppearance = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
174 | Allow_osNpcCreate = ${XEngine|osslNPC} | 106 | Allow_osNpcSay = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
175 | Allow_osNpcGetPos = ${XEngine|osslNPC} | 107 | Allow_osNpcSetRot = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
176 | Allow_osNpcGetRot = ${XEngine|osslNPC} | 108 | Allow_osNpcShout = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
177 | Allow_osNpcLoadAppearance = ${XEngine|osslNPC} | 109 | Allow_osNpcSit = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
178 | Allow_osNpcMoveTo = ${XEngine|osslNPC} | 110 | Allow_osNpcStand = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
179 | Allow_osNpcMoveToTarget = ${XEngine|osslNPC} | 111 | Allow_osNpcStopMoveToTarget = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
180 | Allow_osNpcPlayAnimation = ${XEngine|osslNPC} | 112 | Allow_osNpcPlayAnimation = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
181 | Allow_osNpcRemove = ${XEngine|osslNPC} | 113 | Allow_osNpcStopAnimation = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
182 | Allow_osNpcSaveAppearance = ${XEngine|osslNPC} | 114 | Allow_osNpcTouch = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
183 | Allow_osNpcSay = ${XEngine|osslNPC} | 115 | Allow_osNpcWhisper = PARCEL_OWNER,ESTATE_OWNER,ESTATE_MANAGER |
184 | Allow_osNpcSetRot = ${XEngine|osslNPC} | ||
185 | Allow_osNpcShout = ${XEngine|osslNPC} | ||
186 | Allow_osNpcSit = ${XEngine|osslNPC} | ||
187 | Allow_osNpcStand = ${XEngine|osslNPC} | ||
188 | Allow_osNpcStopAnimation = ${XEngine|osslNPC} | ||
189 | Allow_osNpcStopMoveToTarget = ${XEngine|osslNPC} | ||
190 | Allow_osNpcTouch = ${XEngine|osslNPC} | ||
191 | Allow_osNpcWhisper = ${XEngine|osslNPC} | ||
192 | Allow_osOwnerSaveAppearance = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
193 | Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER | 116 | Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER |
194 | Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER | 117 | Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER |
195 | Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER | 118 | Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER |
196 | Allow_osSetContentType = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 119 | Allow_osSetContentType = ESTATE_MANAGER,ESTATE_OWNER |
197 | Allow_osSetPrimitiveParams = false | 120 | Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER |
198 | Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 121 | Allow_osSetParcelDetails = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
122 | Allow_osSetPrimitiveParams = ESTATE_MANAGER,ESTATE_OWNER | ||
123 | Allow_osSetProjectionParams = ESTATE_MANAGER,ESTATE_OWNER | ||
199 | Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER | 124 | Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER |
125 | Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER | ||
200 | Allow_osSetStateEvents = false ; deprecated | 126 | Allow_osSetStateEvents = false ; deprecated |
201 | Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER | 127 | Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
202 | Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER | 128 | Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER |
203 | Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER | 129 | Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER |
204 | 130 | Allow_osTeleportAgent = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER | |
131 | |||
205 | ; ThreatLevel VeryHigh | 132 | ; ThreatLevel VeryHigh |
206 | Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER | 133 | Allow_osAvatarPlayAnimation = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER |
207 | ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. | 134 | Allow_osAvatarStopAnimation = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER |
208 | ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. | 135 | Allow_osForceOtherSit = ESTATE_MANAGER,ESTATE_OWNER |
209 | ; Similar things can be said for several of the 'force' functions. Enable with care and control. | ||
210 | ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. | ||
211 | Allow_osAvatarPlayAnimation = false | ||
212 | Allow_osAvatarStopAnimation = false | ||
213 | Allow_osForceDetachFromAvatar = false | ||
214 | Allow_osForceOtherSit = false | ||
215 | ; The notecard functions can cause a lot of load on the region if over used | ||
216 | Allow_osGetNotecard = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
217 | Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
218 | Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
219 | Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER | 136 | Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER |
220 | Allow_osSetRot = false | 137 | Allow_osSetRot = ESTATE_MANAGER,ESTATE_OWNER |
221 | Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 138 | |
222 | |||
223 | ; ThreatLevel Severe | 139 | ; ThreatLevel Severe |
224 | Allow_osConsoleCommand = false | 140 | Allow_osConsoleCommand = ESTATE_OWNER |
225 | Allow_osForceAttachToOtherAvatarFromInventory = false | 141 | Allow_osForceAttachToOtherAvatarFromInventory = ESTATE_MANAGER,ESTATE_OWNER |
226 | Allow_osGrantScriptPermissions = false | 142 | Allow_osGetAgentIP = ESTATE_OWNER |
227 | Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 143 | Allow_osKickAvatar = ESTATE_MANAGER,ESTATE_OWNER,PARCEL_OWNER |
228 | Allow_osRevokeScriptPermissions = false | 144 | |
229 | Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 145 | |
230 | 146 | ||
147 | |||