aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2013-03-26 03:40:06 +0000
committerMelanie2013-03-26 03:40:06 +0000
commit5f4c4df227025c6b6156ce8238b56553dca4b5ae (patch)
treeb090b809346ba8e39db1e08ca24933e64dae8ab9 /OpenSim
parentBulletSim: new algorithm for vertical attraction which uses quaternion (diff)
downloadopensim-SC_OLD-5f4c4df227025c6b6156ce8238b56553dca4b5ae.zip
opensim-SC_OLD-5f4c4df227025c6b6156ce8238b56553dca4b5ae.tar.gz
opensim-SC_OLD-5f4c4df227025c6b6156ce8238b56553dca4b5ae.tar.bz2
opensim-SC_OLD-5f4c4df227025c6b6156ce8238b56553dca4b5ae.tar.xz
Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
Diffstat (limited to '')
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs1
-rw-r--r--OpenSim/Framework/Util.cs15
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs5
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs1
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs8
-rw-r--r--OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs5
-rw-r--r--OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs9
-rw-r--r--OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs1
-rw-r--r--OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs1
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs1
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs3
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs5
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs3
-rw-r--r--OpenSim/Services/InventoryService/LibraryService.cs1
-rw-r--r--OpenSim/Services/UserAccountService/UserAccountService.cs3
-rw-r--r--OpenSim/Tools/pCampBot/Bot.cs5
27 files changed, 65 insertions, 19 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
index a75d10d..6983479 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
@@ -50,6 +50,7 @@ using OpenSim.Region.Framework.Scenes;
50using OpenSim.Services.Interfaces; 50using OpenSim.Services.Interfaces;
51using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo; 51using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
52using GridRegion = OpenSim.Services.Interfaces.GridRegion; 52using GridRegion = OpenSim.Services.Interfaces.GridRegion;
53using PermissionMask = OpenSim.Framework.PermissionMask;
53 54
54namespace OpenSim.ApplicationPlugins.RemoteController 55namespace OpenSim.ApplicationPlugins.RemoteController
55{ 56{
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 94a172c..bde4673 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -54,6 +54,21 @@ using Amib.Threading;
54 54
55namespace OpenSim.Framework 55namespace OpenSim.Framework
56{ 56{
57 [Flags]
58 public enum PermissionMask : uint
59 {
60 None = 0,
61 Transfer = 1 << 13,
62 Modify = 1 << 14,
63 Copy = 1 << 15,
64 Export = 1 << 16,
65 Move = 1 << 19,
66 Damage = 1 << 20,
67 // All does not contain Export, which is special and must be
68 // explicitly given
69 All = (1 << 13) | (1 << 14) | (1 << 15) | (1 << 19)
70 }
71
57 /// <summary> 72 /// <summary>
58 /// The method used by Util.FireAndForget for asynchronously firing events 73 /// The method used by Util.FireAndForget for asynchronously firing events
59 /// </summary> 74 /// </summary>
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
index 20df8a6..8752404 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
@@ -49,6 +49,7 @@ using OpenSim.Services.Interfaces;
49using Caps = OpenSim.Framework.Capabilities.Caps; 49using Caps = OpenSim.Framework.Capabilities.Caps;
50using OSDArray = OpenMetaverse.StructuredData.OSDArray; 50using OSDArray = OpenMetaverse.StructuredData.OSDArray;
51using OSDMap = OpenMetaverse.StructuredData.OSDMap; 51using OSDMap = OpenMetaverse.StructuredData.OSDMap;
52using PermissionMask = OpenSim.Framework.PermissionMask;
52 53
53namespace OpenSim.Region.ClientStack.Linden 54namespace OpenSim.Region.ClientStack.Linden
54{ 55{
@@ -705,9 +706,9 @@ namespace OpenSim.Region.ClientStack.Linden
705 // If we set PermissionMask.All then when we rez the item the next permissions will replace the current 706 // If we set PermissionMask.All then when we rez the item the next permissions will replace the current
706 // (owner) permissions. This becomes a problem if next permissions are changed. 707 // (owner) permissions. This becomes a problem if next permissions are changed.
707 item.CurrentPermissions 708 item.CurrentPermissions
708 = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer); 709 = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer | PermissionMask.Export);
709 710
710 item.BasePermissions = (uint)PermissionMask.All; 711 item.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export;
711 item.EveryOnePermissions = 0; 712 item.EveryOnePermissions = 0;
712 item.NextPermissions = (uint)PermissionMask.All; 713 item.NextPermissions = (uint)PermissionMask.All;
713 item.CreationDate = Util.UnixTimeSinceEpoch(); 714 item.CreationDate = Util.UnixTimeSinceEpoch();
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs
index 5529550..f69a0bb 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs
@@ -44,6 +44,7 @@ using OpenSim.Region.Framework.Scenes;
44using OpenSim.Services.Interfaces; 44using OpenSim.Services.Interfaces;
45using Caps = OpenSim.Framework.Capabilities.Caps; 45using Caps = OpenSim.Framework.Capabilities.Caps;
46using OpenSim.Framework.Capabilities; 46using OpenSim.Framework.Capabilities;
47using PermissionMask = OpenSim.Framework.PermissionMask;
47 48
48namespace OpenSim.Region.ClientStack.Linden 49namespace OpenSim.Region.ClientStack.Linden
49{ 50{
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 7ea538c..110e50e 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -51,6 +51,7 @@ using RegionFlags = OpenMetaverse.RegionFlags;
51using Nini.Config; 51using Nini.Config;
52 52
53using System.IO; 53using System.IO;
54using PermissionMask = OpenSim.Framework.PermissionMask;
54 55
55namespace OpenSim.Region.ClientStack.LindenUDP 56namespace OpenSim.Region.ClientStack.LindenUDP
56{ 57{
@@ -1808,7 +1809,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1808 1809
1809 public void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item) 1810 public void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item)
1810 { 1811 {
1811 const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; 1812 // Fudge this value. It's only needed to make the CRC anyway
1813 const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff;
1812 1814
1813 FetchInventoryReplyPacket inventoryReply = (FetchInventoryReplyPacket)PacketPool.Instance.GetPacket(PacketType.FetchInventoryReply); 1815 FetchInventoryReplyPacket inventoryReply = (FetchInventoryReplyPacket)PacketPool.Instance.GetPacket(PacketType.FetchInventoryReply);
1814 // TODO: don't create new blocks if recycling an old packet 1816 // TODO: don't create new blocks if recycling an old packet
@@ -2013,7 +2015,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2013 2015
2014 protected void SendBulkUpdateInventoryItem(InventoryItemBase item) 2016 protected void SendBulkUpdateInventoryItem(InventoryItemBase item)
2015 { 2017 {
2016 const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; 2018 const uint FULL_MASK_PERMISSIONS = (uint)0x7ffffff;
2017 2019
2018 BulkUpdateInventoryPacket bulkUpdate 2020 BulkUpdateInventoryPacket bulkUpdate
2019 = (BulkUpdateInventoryPacket)PacketPool.Instance.GetPacket(PacketType.BulkUpdateInventory); 2021 = (BulkUpdateInventoryPacket)PacketPool.Instance.GetPacket(PacketType.BulkUpdateInventory);
@@ -2067,7 +2069,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2067 /// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see> 2069 /// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see>
2068 public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) 2070 public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId)
2069 { 2071 {
2070 const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; 2072 const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff;
2071 2073
2072 UpdateCreateInventoryItemPacket InventoryReply 2074 UpdateCreateInventoryItemPacket InventoryReply
2073 = (UpdateCreateInventoryItemPacket)PacketPool.Instance.GetPacket( 2075 = (UpdateCreateInventoryItemPacket)PacketPool.Instance.GetPacket(
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
index 11efe6d..5e772e6 100644
--- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
+++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs
@@ -33,6 +33,7 @@ using OpenMetaverse;
33using OpenSim.Framework; 33using OpenSim.Framework;
34using OpenSim.Region.Framework.Scenes; 34using OpenSim.Region.Framework.Scenes;
35using OpenSim.Services.Interfaces; 35using OpenSim.Services.Interfaces;
36using PermissionMask = OpenSim.Framework.PermissionMask;
36 37
37namespace OpenSim.Region.CoreModules.Agent.AssetTransaction 38namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
38{ 39{
@@ -406,8 +407,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
406 item.AssetType = type; 407 item.AssetType = type;
407 item.InvType = invType; 408 item.InvType = invType;
408 item.Folder = InventFolder; 409 item.Folder = InventFolder;
409 item.BasePermissions = 0x7fffffff; 410 item.BasePermissions = (uint)(PermissionMask.All | PermissionMask.Export);
410 item.CurrentPermissions = 0x7fffffff; 411 item.CurrentPermissions = item.BasePermissions;
411 item.GroupPermissions=0; 412 item.GroupPermissions=0;
412 item.EveryOnePermissions=0; 413 item.EveryOnePermissions=0;
413 item.NextPermissions = nextPerm; 414 item.NextPermissions = nextPerm;
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
index ff5bf9f..c7ac7c4 100644
--- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
@@ -40,6 +40,7 @@ using OpenSim.Region.Framework.Scenes;
40using OpenSim.Services.Interfaces; 40using OpenSim.Services.Interfaces;
41 41
42using Mono.Addins; 42using Mono.Addins;
43using PermissionMask = OpenSim.Framework.PermissionMask;
43 44
44namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory 45namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
45{ 46{
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
index 5ec0ea9..b44a5c9 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs
@@ -36,6 +36,7 @@ using OpenSim.Region.Framework.Interfaces;
36using OpenSim.Region.Framework.Scenes; 36using OpenSim.Region.Framework.Scenes;
37using OpenSim.Services.Interfaces; 37using OpenSim.Services.Interfaces;
38using Mono.Addins; 38using Mono.Addins;
39using PermissionMask = OpenSim.Framework.PermissionMask;
39 40
40namespace OpenSim.Region.CoreModules.Avatar.Friends 41namespace OpenSim.Region.CoreModules.Avatar.Friends
41{ 42{
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 8b7c16e..eaf4ce2 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -47,6 +47,7 @@ using OpenMetaverse;
47using log4net; 47using log4net;
48using Nini.Config; 48using Nini.Config;
49using Mono.Addins; 49using Mono.Addins;
50using PermissionMask = OpenSim.Framework.PermissionMask;
50 51
51namespace OpenSim.Region.CoreModules.Framework.InventoryAccess 52namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
52{ 53{
@@ -377,7 +378,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
377 objectGroup.RootPart.NextOwnerMask &= 378 objectGroup.RootPart.NextOwnerMask &=
378 ((uint)PermissionMask.Copy | 379 ((uint)PermissionMask.Copy |
379 (uint)PermissionMask.Transfer | 380 (uint)PermissionMask.Transfer |
380 (uint)PermissionMask.Modify); 381 (uint)PermissionMask.Modify |
382 (uint)PermissionMask.Export);
381 objectGroup.RootPart.NextOwnerMask |= 383 objectGroup.RootPart.NextOwnerMask |=
382 (uint)PermissionMask.Move; 384 (uint)PermissionMask.Move;
383 385
@@ -485,7 +487,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
485 InventoryItemBase item, SceneObjectGroup so, List<SceneObjectGroup> objsForEffectivePermissions, 487 InventoryItemBase item, SceneObjectGroup so, List<SceneObjectGroup> objsForEffectivePermissions,
486 IClientAPI remoteClient) 488 IClientAPI remoteClient)
487 { 489 {
488 uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move) | 7; 490 uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move | PermissionMask.Export) | 7;
489 foreach (SceneObjectGroup grp in objsForEffectivePermissions) 491 foreach (SceneObjectGroup grp in objsForEffectivePermissions)
490 effectivePerms &= grp.GetEffectivePermissions(); 492 effectivePerms &= grp.GetEffectivePermissions();
491 effectivePerms |= (uint)PermissionMask.Move; 493 effectivePerms |= (uint)PermissionMask.Move;
@@ -525,6 +527,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
525 (uint)PermissionMask.Transfer | 527 (uint)PermissionMask.Transfer |
526 (uint)PermissionMask.Modify | 528 (uint)PermissionMask.Modify |
527 (uint)PermissionMask.Move | 529 (uint)PermissionMask.Move |
530 (uint)PermissionMask.Export |
528 7); // Preserve folded permissions 531 7); // Preserve folded permissions
529 } 532 }
530 533
@@ -1150,4 +1153,4 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
1150 1153
1151 #endregion 1154 #endregion
1152 } 1155 }
1153} \ No newline at end of file 1156}
diff --git a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs
index ec22146..d07cff4 100644
--- a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs
@@ -43,6 +43,7 @@ using OpenMetaverse;
43using log4net; 43using log4net;
44using Mono.Addins; 44using Mono.Addins;
45using Nini.Config; 45using Nini.Config;
46using PermissionMask = OpenSim.Framework.PermissionMask;
46 47
47namespace OpenSim.Region.CoreModules.Framework.Library 48namespace OpenSim.Region.CoreModules.Framework.Library
48{ 49{
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
index 367693d..a990898 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
@@ -44,6 +44,7 @@ using Ionic.Zlib;
44using GZipStream = Ionic.Zlib.GZipStream; 44using GZipStream = Ionic.Zlib.GZipStream;
45using CompressionMode = Ionic.Zlib.CompressionMode; 45using CompressionMode = Ionic.Zlib.CompressionMode;
46using OpenSim.Framework.Serialization.External; 46using OpenSim.Framework.Serialization.External;
47using PermissionMask = OpenSim.Framework.PermissionMask;
47 48
48namespace OpenSim.Region.CoreModules.World.Archiver 49namespace OpenSim.Region.CoreModules.World.Archiver
49{ 50{
diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs
index 1e4f0a4..22a53a8 100644
--- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs
+++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs
@@ -38,6 +38,7 @@ using OpenSim.Region.Framework;
38using OpenSim.Region.Framework.Interfaces; 38using OpenSim.Region.Framework.Interfaces;
39using OpenSim.Region.Framework.Scenes; 39using OpenSim.Region.Framework.Scenes;
40using OpenSim.Region.Framework.Scenes.Serialization; 40using OpenSim.Region.Framework.Scenes.Serialization;
41using PermissionMask = OpenSim.Framework.PermissionMask;
41 42
42namespace OpenSim.Region.CoreModules.World.Objects.BuySell 43namespace OpenSim.Region.CoreModules.World.Objects.BuySell
43{ 44{
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index 121fb2a..79dd4a0 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -38,6 +38,7 @@ using OpenSim.Region.Framework.Scenes;
38using OpenSim.Services.Interfaces; 38using OpenSim.Services.Interfaces;
39 39
40using Mono.Addins; 40using Mono.Addins;
41using PermissionMask = OpenSim.Framework.PermissionMask;
41 42
42namespace OpenSim.Region.CoreModules.World.Permissions 43namespace OpenSim.Region.CoreModules.World.Permissions
43{ 44{
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 6808017..2ce778d 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -39,6 +39,7 @@ using OpenSim.Region.Framework;
39using OpenSim.Framework.Client; 39using OpenSim.Framework.Client;
40using OpenSim.Region.Framework.Interfaces; 40using OpenSim.Region.Framework.Interfaces;
41using OpenSim.Region.Framework.Scenes.Serialization; 41using OpenSim.Region.Framework.Scenes.Serialization;
42using PermissionMask = OpenSim.Framework.PermissionMask;
42 43
43namespace OpenSim.Region.Framework.Scenes 44namespace OpenSim.Region.Framework.Scenes
44{ 45{
@@ -892,7 +893,7 @@ namespace OpenSim.Region.Framework.Scenes
892 { 893 {
893 CreateNewInventoryItem( 894 CreateNewInventoryItem(
894 remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType, 895 remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType,
895 (uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate); 896 (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, 0, nextOwnerMask, 0, creationDate);
896 } 897 }
897 898
898 /// <summary> 899 /// <summary>
@@ -1010,8 +1011,8 @@ namespace OpenSim.Region.Framework.Scenes
1010 CreateNewInventoryItem( 1011 CreateNewInventoryItem(
1011 remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, 1012 remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID,
1012 name, description, 0, callbackID, asset, invType, 1013 name, description, 0, callbackID, asset, invType,
1013 (uint)PermissionMask.All, (uint)PermissionMask.All, (uint)PermissionMask.All, 1014 (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All,
1014 (uint)PermissionMask.All, (uint)PermissionMask.All, Util.UnixTimeSinceEpoch()); 1015 (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, Util.UnixTimeSinceEpoch());
1015 } 1016 }
1016 else 1017 else
1017 { 1018 {
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index e8f00a4..45cbdd5 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -51,6 +51,7 @@ using OpenSim.Region.Physics.Manager;
51using Timer=System.Timers.Timer; 51using Timer=System.Timers.Timer;
52using TPFlags = OpenSim.Framework.Constants.TeleportFlags; 52using TPFlags = OpenSim.Framework.Constants.TeleportFlags;
53using GridRegion = OpenSim.Services.Interfaces.GridRegion; 53using GridRegion = OpenSim.Services.Interfaces.GridRegion;
54using PermissionMask = OpenSim.Framework.PermissionMask;
54 55
55namespace OpenSim.Region.Framework.Scenes 56namespace OpenSim.Region.Framework.Scenes
56{ 57{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
index ddf5da0..dcb62f8 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
@@ -34,6 +34,7 @@ using OpenSim.Framework;
34using OpenSim.Region.Framework.Interfaces; 34using OpenSim.Region.Framework.Interfaces;
35using System.Collections.Generic; 35using System.Collections.Generic;
36using System.Xml; 36using System.Xml;
37using PermissionMask = OpenSim.Framework.PermissionMask;
37 38
38namespace OpenSim.Region.Framework.Scenes 39namespace OpenSim.Region.Framework.Scenes
39{ 40{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 15795e5..0621e2a 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -40,6 +40,7 @@ using OpenSim.Framework;
40using OpenSim.Region.Framework.Interfaces; 40using OpenSim.Region.Framework.Interfaces;
41using OpenSim.Region.Physics.Manager; 41using OpenSim.Region.Physics.Manager;
42using OpenSim.Region.Framework.Scenes.Serialization; 42using OpenSim.Region.Framework.Scenes.Serialization;
43using PermissionMask = OpenSim.Framework.PermissionMask;
43 44
44namespace OpenSim.Region.Framework.Scenes 45namespace OpenSim.Region.Framework.Scenes
45{ 46{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index a8b63fe..27325c5 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -43,6 +43,7 @@ using OpenSim.Region.Framework.Interfaces;
43using OpenSim.Region.Framework.Scenes.Scripting; 43using OpenSim.Region.Framework.Scenes.Scripting;
44using OpenSim.Region.Framework.Scenes.Serialization; 44using OpenSim.Region.Framework.Scenes.Serialization;
45using OpenSim.Region.Physics.Manager; 45using OpenSim.Region.Physics.Manager;
46using PermissionMask = OpenSim.Framework.PermissionMask;
46 47
47namespace OpenSim.Region.Framework.Scenes 48namespace OpenSim.Region.Framework.Scenes
48{ 49{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index db723fa..7dba7c8 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -38,6 +38,7 @@ using OpenSim.Framework;
38using OpenSim.Region.Framework.Interfaces; 38using OpenSim.Region.Framework.Interfaces;
39using OpenSim.Region.Framework.Scenes.Scripting; 39using OpenSim.Region.Framework.Scenes.Scripting;
40using OpenSim.Region.Framework.Scenes.Serialization; 40using OpenSim.Region.Framework.Scenes.Serialization;
41using PermissionMask = OpenSim.Framework.PermissionMask;
41 42
42namespace OpenSim.Region.Framework.Scenes 43namespace OpenSim.Region.Framework.Scenes
43{ 44{
diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
index e9ddbbe..54c86ae 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
@@ -40,6 +40,7 @@ using OpenSim.Framework.Monitoring;
40using OpenSim.Region.ClientStack.LindenUDP; 40using OpenSim.Region.ClientStack.LindenUDP;
41using OpenSim.Region.Framework.Interfaces; 41using OpenSim.Region.Framework.Interfaces;
42using OpenSim.Region.Framework.Scenes; 42using OpenSim.Region.Framework.Scenes;
43using PermissionMask = OpenSim.Framework.PermissionMask;
43 44
44namespace OpenSim.Region.OptionalModules.Avatar.Attachments 45namespace OpenSim.Region.OptionalModules.Avatar.Attachments
45{ 46{
diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
index 4a754a9..1bb5aee 100644
--- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
@@ -42,6 +42,7 @@ using OpenSim.Region.Framework.Scenes;
42using OpenSim.Region.Framework.Scenes.Scripting; 42using OpenSim.Region.Framework.Scenes.Scripting;
43using System.Collections.Generic; 43using System.Collections.Generic;
44using System.Text.RegularExpressions; 44using System.Text.RegularExpressions;
45using PermissionMask = OpenSim.Framework.PermissionMask;
45 46
46namespace OpenSim.Region.OptionalModules.Scripting.JsonStore 47namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
47{ 48{
@@ -643,4 +644,4 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
643 } 644 }
644 645
645 } 646 }
646} \ No newline at end of file 647}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index e1f0071..aab41f5 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -67,6 +67,7 @@ using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
67using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; 67using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
68using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; 68using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
69using System.Reflection; 69using System.Reflection;
70using PermissionMask = OpenSim.Framework.PermissionMask;
70 71
71namespace OpenSim.Region.ScriptEngine.Shared.Api 72namespace OpenSim.Region.ScriptEngine.Shared.Api
72{ 73{
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index bf1b45b..415166a 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -62,6 +62,7 @@ using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
62using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; 62using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
63using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; 63using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
64using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; 64using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
65using PermissionMask = OpenSim.Framework.PermissionMask;
65 66
66namespace OpenSim.Region.ScriptEngine.Shared.Api 67namespace OpenSim.Region.ScriptEngine.Shared.Api
67{ 68{
@@ -1787,8 +1788,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1787 taskItem.InvType = (int)InventoryType.Notecard; 1788 taskItem.InvType = (int)InventoryType.Notecard;
1788 taskItem.OwnerID = m_host.OwnerID; 1789 taskItem.OwnerID = m_host.OwnerID;
1789 taskItem.CreatorID = m_host.OwnerID; 1790 taskItem.CreatorID = m_host.OwnerID;
1790 taskItem.BasePermissions = (uint)PermissionMask.All; 1791 taskItem.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export;
1791 taskItem.CurrentPermissions = (uint)PermissionMask.All; 1792 taskItem.CurrentPermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export;
1792 taskItem.EveryonePermissions = 0; 1793 taskItem.EveryonePermissions = 0;
1793 taskItem.NextPermissions = (uint)PermissionMask.All; 1794 taskItem.NextPermissions = (uint)PermissionMask.All;
1794 taskItem.GroupID = m_host.GroupID; 1795 taskItem.GroupID = m_host.GroupID;
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
index a391275..36325ce 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
@@ -38,12 +38,14 @@ using OpenSim.Framework;
38using OpenSim.Region.Framework.Interfaces; 38using OpenSim.Region.Framework.Interfaces;
39using OpenSim.Region.Framework.Scenes; 39using OpenSim.Region.Framework.Scenes;
40using OpenSim.Services.Interfaces; 40using OpenSim.Services.Interfaces;
41using PermissionMask = OpenSim.Framework.PermissionMask;
41 42
42namespace OpenSim.Services.Connectors.SimianGrid 43namespace OpenSim.Services.Connectors.SimianGrid
43{ 44{
44 /// <summary> 45 /// <summary>
45 /// Permissions bitflags 46 /// Permissions bitflags
46 /// </summary> 47 /// </summary>
48 /*
47 [Flags] 49 [Flags]
48 public enum PermissionMask : uint 50 public enum PermissionMask : uint
49 { 51 {
@@ -55,6 +57,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
55 Damage = 1 << 20, 57 Damage = 1 << 20,
56 All = 0x7FFFFFFF 58 All = 0x7FFFFFFF
57 } 59 }
60 */
58 61
59 /// <summary> 62 /// <summary>
60 /// Connects avatar inventories to the SimianGrid backend 63 /// Connects avatar inventories to the SimianGrid backend
diff --git a/OpenSim/Services/InventoryService/LibraryService.cs b/OpenSim/Services/InventoryService/LibraryService.cs
index f90895b..c4a5572 100644
--- a/OpenSim/Services/InventoryService/LibraryService.cs
+++ b/OpenSim/Services/InventoryService/LibraryService.cs
@@ -38,6 +38,7 @@ using OpenSim.Services.Interfaces;
38using log4net; 38using log4net;
39using Nini.Config; 39using Nini.Config;
40using OpenMetaverse; 40using OpenMetaverse;
41using PermissionMask = OpenSim.Framework.PermissionMask;
41 42
42namespace OpenSim.Services.InventoryService 43namespace OpenSim.Services.InventoryService
43{ 44{
diff --git a/OpenSim/Services/UserAccountService/UserAccountService.cs b/OpenSim/Services/UserAccountService/UserAccountService.cs
index 5b4d040..1852e4f 100644
--- a/OpenSim/Services/UserAccountService/UserAccountService.cs
+++ b/OpenSim/Services/UserAccountService/UserAccountService.cs
@@ -36,6 +36,7 @@ using OpenSim.Framework;
36using OpenSim.Services.Interfaces; 36using OpenSim.Services.Interfaces;
37using OpenSim.Framework.Console; 37using OpenSim.Framework.Console;
38using GridRegion = OpenSim.Services.Interfaces.GridRegion; 38using GridRegion = OpenSim.Services.Interfaces.GridRegion;
39using PermissionMask = OpenSim.Framework.PermissionMask;
39 40
40namespace OpenSim.Services.UserAccountService 41namespace OpenSim.Services.UserAccountService
41{ 42{
@@ -665,4 +666,4 @@ namespace OpenSim.Services.UserAccountService
665 } 666 }
666 } 667 }
667 } 668 }
668} \ No newline at end of file 669}
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index daaa3c0..9821180 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -40,6 +40,7 @@ using OpenSim.Framework;
40using OpenSim.Framework.Console; 40using OpenSim.Framework.Console;
41using pCampBot.Interfaces; 41using pCampBot.Interfaces;
42using Timer = System.Timers.Timer; 42using Timer = System.Timers.Timer;
43using PermissionMask = OpenSim.Framework.PermissionMask;
43 44
44namespace pCampBot 45namespace pCampBot
45{ 46{
@@ -362,7 +363,7 @@ namespace pCampBot
362 asset.Encode(); 363 asset.Encode();
363 transid = Client.Assets.RequestUpload(asset,true); 364 transid = Client.Assets.RequestUpload(asset,true);
364 Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing, 365 Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
365 transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) 366 transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item)
366 { 367 {
367 if (success) 368 if (success)
368 { 369 {
@@ -386,7 +387,7 @@ namespace pCampBot
386 asset.Encode(); 387 asset.Encode();
387 transid = Client.Assets.RequestUpload(asset,true); 388 transid = Client.Assets.RequestUpload(asset,true);
388 Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart, 389 Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
389 transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) 390 transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item)
390 { 391 {
391 if (success) 392 if (success)
392 { 393 {