aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/ClientView.cs
diff options
context:
space:
mode:
authorTeravus Ovares2007-12-07 07:42:03 +0000
committerTeravus Ovares2007-12-07 07:42:03 +0000
commit57f666497bef6a68df9cc6e37ccf288c462a37b5 (patch)
tree4a1f4c3061ddca46fbe789191b45a6967a7a6889 /OpenSim/Region/ClientStack/ClientView.cs
parentadded timer_Script to OpenSim.ini.example (diff)
downloadopensim-SC-57f666497bef6a68df9cc6e37ccf288c462a37b5.zip
opensim-SC-57f666497bef6a68df9cc6e37ccf288c462a37b5.tar.gz
opensim-SC-57f666497bef6a68df9cc6e37ccf288c462a37b5.tar.bz2
opensim-SC-57f666497bef6a68df9cc6e37ccf288c462a37b5.tar.xz
* Added hacked support for 'anyone can move' and 'anyone can copy'.
* BACKUP YOUR PRIM BEFORE UPDATING TO THIS and then double check the prim permissions after applying it with a different avatar (then the master avatar or the prim owner avatar). * Also, beware that any objects created under the old permission scheme may react oddly. They may automatically allow anyone to modify them, (which you'll then have to un-set). * It's hacked support because when 'anyone can move is set', any avatar can modify the prim (texture, shape, scale, etc)
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs38
1 files changed, 23 insertions, 15 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index 5a3e4b7..284a2de 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -1092,11 +1092,13 @@ namespace OpenSim.Region.ClientStack
1092 descend.ItemData[i].SaleType = 0; 1092 descend.ItemData[i].SaleType = 0;
1093 descend.ItemData[i].Type = (sbyte) item.assetType; 1093 descend.ItemData[i].Type = (sbyte) item.assetType;
1094 descend.ItemData[i].CRC = 1094 descend.ItemData[i].CRC =
1095 Helpers.InventoryCRC(1000, 0, descend.ItemData[i].InvType, descend.ItemData[i].Type, 1095
1096 descend.ItemData[i].AssetID, descend.ItemData[i].GroupID, 100, 1096 Helpers.InventoryCRC(descend.ItemData[i].CreationDate, descend.ItemData[i].SaleType,
1097 descend.ItemData[i].InvType, descend.ItemData[i].Type,
1098 descend.ItemData[i].AssetID, descend.ItemData[i].GroupID, descend.ItemData[i].SalePrice,
1097 descend.ItemData[i].OwnerID, descend.ItemData[i].CreatorID, 1099 descend.ItemData[i].OwnerID, descend.ItemData[i].CreatorID,
1098 descend.ItemData[i].ItemID, descend.ItemData[i].FolderID, FULL_MASK_PERMISSIONS, 1100 descend.ItemData[i].ItemID, descend.ItemData[i].FolderID, descend.ItemData[i].EveryoneMask,
1099 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); 1101 descend.ItemData[i].Flags, descend.ItemData[i].OwnerMask, descend.ItemData[i].GroupMask, item.inventoryCurrentPermissions);
1100 1102
1101 i++; 1103 i++;
1102 count++; 1104 count++;
@@ -1168,13 +1170,15 @@ namespace OpenSim.Region.ClientStack
1168 inventoryReply.InventoryData[0].SaleType = 0; 1170 inventoryReply.InventoryData[0].SaleType = 0;
1169 inventoryReply.InventoryData[0].Type = (sbyte) item.assetType; 1171 inventoryReply.InventoryData[0].Type = (sbyte) item.assetType;
1170 inventoryReply.InventoryData[0].CRC = 1172 inventoryReply.InventoryData[0].CRC =
1171 Helpers.InventoryCRC(1000, 0, inventoryReply.InventoryData[0].InvType, 1173 Helpers.InventoryCRC(inventoryReply.InventoryData[0].CreationDate, inventoryReply.InventoryData[0].SaleType,
1174 inventoryReply.InventoryData[0].InvType,
1172 inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID, 1175 inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID,
1173 inventoryReply.InventoryData[0].GroupID, 100, 1176 inventoryReply.InventoryData[0].GroupID, inventoryReply.InventoryData[0].SalePrice,
1174 inventoryReply.InventoryData[0].OwnerID, inventoryReply.InventoryData[0].CreatorID, 1177 inventoryReply.InventoryData[0].OwnerID, inventoryReply.InventoryData[0].CreatorID,
1175 inventoryReply.InventoryData[0].ItemID, inventoryReply.InventoryData[0].FolderID, 1178 inventoryReply.InventoryData[0].ItemID, inventoryReply.InventoryData[0].FolderID,
1176 FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, 1179 inventoryReply.InventoryData[0].EveryoneMask, inventoryReply.InventoryData[0].Flags,
1177 FULL_MASK_PERMISSIONS); 1180 inventoryReply.InventoryData[0].NextOwnerMask, inventoryReply.InventoryData[0].GroupMask,
1181 inventoryReply.InventoryData[0].OwnerMask);
1178 1182
1179 OutPacket(inventoryReply, ThrottleOutPacketType.Asset); 1183 OutPacket(inventoryReply, ThrottleOutPacketType.Asset);
1180 } 1184 }
@@ -1209,13 +1213,16 @@ namespace OpenSim.Region.ClientStack
1209 InventoryReply.InventoryData[0].SaleType = 0; 1213 InventoryReply.InventoryData[0].SaleType = 0;
1210 InventoryReply.InventoryData[0].Type = (sbyte) Item.assetType; 1214 InventoryReply.InventoryData[0].Type = (sbyte) Item.assetType;
1211 InventoryReply.InventoryData[0].CRC = 1215 InventoryReply.InventoryData[0].CRC =
1212 Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, 1216 Helpers.InventoryCRC(InventoryReply.InventoryData[0].CreationDate, InventoryReply.InventoryData[0].SaleType,
1217 InventoryReply.InventoryData[0].InvType,
1213 InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, 1218 InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID,
1214 InventoryReply.InventoryData[0].GroupID, 100, 1219 InventoryReply.InventoryData[0].GroupID, InventoryReply.InventoryData[0].SalePrice,
1215 InventoryReply.InventoryData[0].OwnerID, InventoryReply.InventoryData[0].CreatorID, 1220 InventoryReply.InventoryData[0].OwnerID, InventoryReply.InventoryData[0].CreatorID,
1216 InventoryReply.InventoryData[0].ItemID, InventoryReply.InventoryData[0].FolderID, 1221 InventoryReply.InventoryData[0].ItemID, InventoryReply.InventoryData[0].FolderID,
1217 FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, 1222 InventoryReply.InventoryData[0].EveryoneMask, InventoryReply.InventoryData[0].Flags,
1218 FULL_MASK_PERMISSIONS); 1223 InventoryReply.InventoryData[0].NextOwnerMask, InventoryReply.InventoryData[0].GroupMask,
1224 InventoryReply.InventoryData[0].OwnerMask);
1225
1219 1226
1220 OutPacket(InventoryReply, ThrottleOutPacketType.Asset); 1227 OutPacket(InventoryReply, ThrottleOutPacketType.Asset);
1221 } 1228 }
@@ -1595,6 +1602,7 @@ namespace OpenSim.Region.ClientStack
1595 outPacket.ObjectData[0].ClickAction = clickAction; 1602 outPacket.ObjectData[0].ClickAction = clickAction;
1596 //outPacket.ObjectData[0].Flags = 0; 1603 //outPacket.ObjectData[0].Flags = 0;
1597 outPacket.ObjectData[0].Radius = 20; 1604 outPacket.ObjectData[0].Radius = 20;
1605
1598 1606
1599 byte[] pb = pos.GetBytes(); 1607 byte[] pb = pos.GetBytes();
1600 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); 1608 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
@@ -2039,7 +2047,7 @@ namespace OpenSim.Region.ClientStack
2039 2047
2040 for (int i = 0; i < multipleupdate.ObjectData.Length; i++) 2048 for (int i = 0; i < multipleupdate.ObjectData.Length; i++)
2041 { 2049 {
2042 if (tScene.PermissionsMngr.CanEditObject(simClient.AgentId, tScene.GetSceneObjectPart(multipleupdate.ObjectData[i].ObjectLocalID).UUID)) 2050 if (tScene.PermissionsMngr.CanEditObjectPosition(simClient.AgentId, tScene.GetSceneObjectPart(multipleupdate.ObjectData[i].ObjectLocalID).UUID))
2043 { 2051 {
2044 #region position 2052 #region position
2045 2053
@@ -2896,7 +2904,7 @@ namespace OpenSim.Region.ClientStack
2896 { 2904 {
2897 if (OnObjectDescription != null) 2905 if (OnObjectDescription != null)
2898 { 2906 {
2899 OnObjectDescription(objDes.ObjectData[i].LocalID, 2907 OnObjectDescription(this,objDes.ObjectData[i].LocalID,
2900 enc.GetString(objDes.ObjectData[i].Description)); 2908 enc.GetString(objDes.ObjectData[i].Description));
2901 } 2909 }
2902 } 2910 }
@@ -2907,7 +2915,7 @@ namespace OpenSim.Region.ClientStack
2907 { 2915 {
2908 if (OnObjectName != null) 2916 if (OnObjectName != null)
2909 { 2917 {
2910 OnObjectName(objName.ObjectData[i].LocalID, enc.GetString(objName.ObjectData[i].Name)); 2918 OnObjectName(this,objName.ObjectData[i].LocalID, enc.GetString(objName.ObjectData[i].Name));
2911 } 2919 }
2912 } 2920 }
2913 break; 2921 break;