diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 30 |
2 files changed, 28 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index bd67f1e..c649493 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -5200,6 +5200,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5200 | } | 5200 | } |
5201 | break; | 5201 | break; |
5202 | case PacketType.UpdateTaskInventory: | 5202 | case PacketType.UpdateTaskInventory: |
5203 | m_log.DebugFormat("[AMW] UpdateTaskInventory request"); | ||
5203 | UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket)Pack; | 5204 | UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket)Pack; |
5204 | if (OnUpdateTaskInventory != null) | 5205 | if (OnUpdateTaskInventory != null) |
5205 | { | 5206 | { |
@@ -5266,7 +5267,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5266 | break; | 5267 | break; |
5267 | 5268 | ||
5268 | case PacketType.RezScript: | 5269 | case PacketType.RezScript: |
5269 | 5270 | m_log.DebugFormat("[AMW] RezScript"); | |
5270 | //Console.WriteLine(Pack.ToString()); | 5271 | //Console.WriteLine(Pack.ToString()); |
5271 | RezScriptPacket rezScriptx = (RezScriptPacket)Pack; | 5272 | RezScriptPacket rezScriptx = (RezScriptPacket)Pack; |
5272 | 5273 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index c670076..a188701 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -1186,11 +1186,21 @@ namespace OpenSim.Region.Environment.Scenes | |||
1186 | 1186 | ||
1187 | if (part != null) | 1187 | if (part != null) |
1188 | { | 1188 | { |
1189 | if (part.OwnerID != remoteClient.AgentId) | ||
1190 | return; | ||
1191 | 1189 | ||
1192 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) | 1190 | // replacing the following two checks with the |
1193 | return; | 1191 | // ExternalChecks.ExternalChecksCanEditObject(...) |
1192 | // call | ||
1193 | |||
1194 | // if (part.OwnerID != remoteClient.AgentId) | ||
1195 | // return; | ||
1196 | |||
1197 | // if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) | ||
1198 | // return; | ||
1199 | |||
1200 | if (!ExternalChecks.ExternalChecksCanEditObject(part.UUID, remoteClient.AgentId)) | ||
1201 | { | ||
1202 | return; | ||
1203 | } | ||
1194 | 1204 | ||
1195 | TaskInventoryItem currentItem = part.GetInventoryItem(itemID); | 1205 | TaskInventoryItem currentItem = part.GetInventoryItem(itemID); |
1196 | 1206 | ||
@@ -1283,11 +1293,23 @@ System.Console.WriteLine("Item asset {0}, request asset {1}", prevItem.AssetID.T | |||
1283 | SceneObjectPart part = GetSceneObjectPart(localID); | 1293 | SceneObjectPart part = GetSceneObjectPart(localID); |
1284 | if (part != null) | 1294 | if (part != null) |
1285 | { | 1295 | { |
1296 | |||
1297 | /* | ||
1286 | if (part.OwnerID != remoteClient.AgentId) | 1298 | if (part.OwnerID != remoteClient.AgentId) |
1299 | { | ||
1287 | return; | 1300 | return; |
1301 | } | ||
1288 | 1302 | ||
1289 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) | 1303 | if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) |
1304 | { | ||
1290 | return; | 1305 | return; |
1306 | } | ||
1307 | */ | ||
1308 | |||
1309 | if (!ExternalChecks.ExternalChecksCanEditObject(part.UUID, remoteClient.AgentId)) | ||
1310 | { | ||
1311 | return; | ||
1312 | } | ||
1291 | 1313 | ||
1292 | part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID); | 1314 | part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID); |
1293 | // TODO: set this to "true" when scripts in inventory have persistent state to fire on_rez | 1315 | // TODO: set this to "true" when scripts in inventory have persistent state to fire on_rez |