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"
user_profiles
Melanie 2013-03-26 03:40:06 +00:00
parent 285dc554ec
commit 5f4c4df227
27 changed files with 65 additions and 19 deletions

View File

@ -50,6 +50,7 @@ using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo; using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo;
using GridRegion = OpenSim.Services.Interfaces.GridRegion; using GridRegion = OpenSim.Services.Interfaces.GridRegion;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.ApplicationPlugins.RemoteController namespace OpenSim.ApplicationPlugins.RemoteController
{ {

View File

@ -54,6 +54,21 @@ using Amib.Threading;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
[Flags]
public enum PermissionMask : uint
{
None = 0,
Transfer = 1 << 13,
Modify = 1 << 14,
Copy = 1 << 15,
Export = 1 << 16,
Move = 1 << 19,
Damage = 1 << 20,
// All does not contain Export, which is special and must be
// explicitly given
All = (1 << 13) | (1 << 14) | (1 << 15) | (1 << 19)
}
/// <summary> /// <summary>
/// The method used by Util.FireAndForget for asynchronously firing events /// The method used by Util.FireAndForget for asynchronously firing events
/// </summary> /// </summary>

View File

@ -49,6 +49,7 @@ using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps; using Caps = OpenSim.Framework.Capabilities.Caps;
using OSDArray = OpenMetaverse.StructuredData.OSDArray; using OSDArray = OpenMetaverse.StructuredData.OSDArray;
using OSDMap = OpenMetaverse.StructuredData.OSDMap; using OSDMap = OpenMetaverse.StructuredData.OSDMap;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.ClientStack.Linden namespace OpenSim.Region.ClientStack.Linden
{ {
@ -705,9 +706,9 @@ namespace OpenSim.Region.ClientStack.Linden
// If we set PermissionMask.All then when we rez the item the next permissions will replace the current // If we set PermissionMask.All then when we rez the item the next permissions will replace the current
// (owner) permissions. This becomes a problem if next permissions are changed. // (owner) permissions. This becomes a problem if next permissions are changed.
item.CurrentPermissions item.CurrentPermissions
= (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer); = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer | PermissionMask.Export);
item.BasePermissions = (uint)PermissionMask.All; item.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export;
item.EveryOnePermissions = 0; item.EveryOnePermissions = 0;
item.NextPermissions = (uint)PermissionMask.All; item.NextPermissions = (uint)PermissionMask.All;
item.CreationDate = Util.UnixTimeSinceEpoch(); item.CreationDate = Util.UnixTimeSinceEpoch();

View File

@ -44,6 +44,7 @@ using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps; using Caps = OpenSim.Framework.Capabilities.Caps;
using OpenSim.Framework.Capabilities; using OpenSim.Framework.Capabilities;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.ClientStack.Linden namespace OpenSim.Region.ClientStack.Linden
{ {

View File

@ -51,6 +51,7 @@ using RegionFlags = OpenMetaverse.RegionFlags;
using Nini.Config; using Nini.Config;
using System.IO; using System.IO;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.ClientStack.LindenUDP namespace OpenSim.Region.ClientStack.LindenUDP
{ {
@ -1808,7 +1809,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item) public void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item)
{ {
const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; // Fudge this value. It's only needed to make the CRC anyway
const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff;
FetchInventoryReplyPacket inventoryReply = (FetchInventoryReplyPacket)PacketPool.Instance.GetPacket(PacketType.FetchInventoryReply); FetchInventoryReplyPacket inventoryReply = (FetchInventoryReplyPacket)PacketPool.Instance.GetPacket(PacketType.FetchInventoryReply);
// TODO: don't create new blocks if recycling an old packet // TODO: don't create new blocks if recycling an old packet
@ -2013,7 +2015,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
protected void SendBulkUpdateInventoryItem(InventoryItemBase item) protected void SendBulkUpdateInventoryItem(InventoryItemBase item)
{ {
const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; const uint FULL_MASK_PERMISSIONS = (uint)0x7ffffff;
BulkUpdateInventoryPacket bulkUpdate BulkUpdateInventoryPacket bulkUpdate
= (BulkUpdateInventoryPacket)PacketPool.Instance.GetPacket(PacketType.BulkUpdateInventory); = (BulkUpdateInventoryPacket)PacketPool.Instance.GetPacket(PacketType.BulkUpdateInventory);
@ -2067,7 +2069,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see> /// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see>
public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId)
{ {
const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff;
UpdateCreateInventoryItemPacket InventoryReply UpdateCreateInventoryItemPacket InventoryReply
= (UpdateCreateInventoryItemPacket)PacketPool.Instance.GetPacket( = (UpdateCreateInventoryItemPacket)PacketPool.Instance.GetPacket(

View File

@ -33,6 +33,7 @@ using OpenMetaverse;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.Agent.AssetTransaction namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
{ {
@ -406,8 +407,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
item.AssetType = type; item.AssetType = type;
item.InvType = invType; item.InvType = invType;
item.Folder = InventFolder; item.Folder = InventFolder;
item.BasePermissions = 0x7fffffff; item.BasePermissions = (uint)(PermissionMask.All | PermissionMask.Export);
item.CurrentPermissions = 0x7fffffff; item.CurrentPermissions = item.BasePermissions;
item.GroupPermissions=0; item.GroupPermissions=0;
item.EveryOnePermissions=0; item.EveryOnePermissions=0;
item.NextPermissions = nextPerm; item.NextPermissions = nextPerm;

View File

@ -40,6 +40,7 @@ using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using Mono.Addins; using Mono.Addins;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
{ {

View File

@ -36,6 +36,7 @@ using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using Mono.Addins; using Mono.Addins;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.Avatar.Friends namespace OpenSim.Region.CoreModules.Avatar.Friends
{ {

View File

@ -47,6 +47,7 @@ using OpenMetaverse;
using log4net; using log4net;
using Nini.Config; using Nini.Config;
using Mono.Addins; using Mono.Addins;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.Framework.InventoryAccess namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
{ {
@ -377,7 +378,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
objectGroup.RootPart.NextOwnerMask &= objectGroup.RootPart.NextOwnerMask &=
((uint)PermissionMask.Copy | ((uint)PermissionMask.Copy |
(uint)PermissionMask.Transfer | (uint)PermissionMask.Transfer |
(uint)PermissionMask.Modify); (uint)PermissionMask.Modify |
(uint)PermissionMask.Export);
objectGroup.RootPart.NextOwnerMask |= objectGroup.RootPart.NextOwnerMask |=
(uint)PermissionMask.Move; (uint)PermissionMask.Move;
@ -485,7 +487,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
InventoryItemBase item, SceneObjectGroup so, List<SceneObjectGroup> objsForEffectivePermissions, InventoryItemBase item, SceneObjectGroup so, List<SceneObjectGroup> objsForEffectivePermissions,
IClientAPI remoteClient) IClientAPI remoteClient)
{ {
uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move) | 7; uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move | PermissionMask.Export) | 7;
foreach (SceneObjectGroup grp in objsForEffectivePermissions) foreach (SceneObjectGroup grp in objsForEffectivePermissions)
effectivePerms &= grp.GetEffectivePermissions(); effectivePerms &= grp.GetEffectivePermissions();
effectivePerms |= (uint)PermissionMask.Move; effectivePerms |= (uint)PermissionMask.Move;
@ -525,6 +527,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
(uint)PermissionMask.Transfer | (uint)PermissionMask.Transfer |
(uint)PermissionMask.Modify | (uint)PermissionMask.Modify |
(uint)PermissionMask.Move | (uint)PermissionMask.Move |
(uint)PermissionMask.Export |
7); // Preserve folded permissions 7); // Preserve folded permissions
} }
@ -1150,4 +1153,4 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
#endregion #endregion
} }
} }

View File

@ -43,6 +43,7 @@ using OpenMetaverse;
using log4net; using log4net;
using Mono.Addins; using Mono.Addins;
using Nini.Config; using Nini.Config;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.Framework.Library namespace OpenSim.Region.CoreModules.Framework.Library
{ {

View File

@ -44,6 +44,7 @@ using Ionic.Zlib;
using GZipStream = Ionic.Zlib.GZipStream; using GZipStream = Ionic.Zlib.GZipStream;
using CompressionMode = Ionic.Zlib.CompressionMode; using CompressionMode = Ionic.Zlib.CompressionMode;
using OpenSim.Framework.Serialization.External; using OpenSim.Framework.Serialization.External;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.World.Archiver namespace OpenSim.Region.CoreModules.World.Archiver
{ {

View File

@ -38,6 +38,7 @@ using OpenSim.Region.Framework;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Region.Framework.Scenes.Serialization;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.World.Objects.BuySell namespace OpenSim.Region.CoreModules.World.Objects.BuySell
{ {

View File

@ -38,6 +38,7 @@ using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using Mono.Addins; using Mono.Addins;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.CoreModules.World.Permissions namespace OpenSim.Region.CoreModules.World.Permissions
{ {

View File

@ -39,6 +39,7 @@ using OpenSim.Region.Framework;
using OpenSim.Framework.Client; using OpenSim.Framework.Client;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Region.Framework.Scenes.Serialization;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.Framework.Scenes namespace OpenSim.Region.Framework.Scenes
{ {
@ -892,7 +893,7 @@ namespace OpenSim.Region.Framework.Scenes
{ {
CreateNewInventoryItem( CreateNewInventoryItem(
remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType, remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType,
(uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate); (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, 0, nextOwnerMask, 0, creationDate);
} }
/// <summary> /// <summary>
@ -1010,8 +1011,8 @@ namespace OpenSim.Region.Framework.Scenes
CreateNewInventoryItem( CreateNewInventoryItem(
remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID,
name, description, 0, callbackID, asset, invType, name, description, 0, callbackID, asset, invType,
(uint)PermissionMask.All, (uint)PermissionMask.All, (uint)PermissionMask.All, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All,
(uint)PermissionMask.All, (uint)PermissionMask.All, Util.UnixTimeSinceEpoch()); (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, Util.UnixTimeSinceEpoch());
} }
else else
{ {

View File

@ -51,6 +51,7 @@ using OpenSim.Region.Physics.Manager;
using Timer=System.Timers.Timer; using Timer=System.Timers.Timer;
using TPFlags = OpenSim.Framework.Constants.TeleportFlags; using TPFlags = OpenSim.Framework.Constants.TeleportFlags;
using GridRegion = OpenSim.Services.Interfaces.GridRegion; using GridRegion = OpenSim.Services.Interfaces.GridRegion;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.Framework.Scenes namespace OpenSim.Region.Framework.Scenes
{ {

View File

@ -34,6 +34,7 @@ using OpenSim.Framework;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using System.Collections.Generic; using System.Collections.Generic;
using System.Xml; using System.Xml;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.Framework.Scenes namespace OpenSim.Region.Framework.Scenes
{ {

View File

@ -40,6 +40,7 @@ using OpenSim.Framework;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Physics.Manager; using OpenSim.Region.Physics.Manager;
using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Region.Framework.Scenes.Serialization;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.Framework.Scenes namespace OpenSim.Region.Framework.Scenes
{ {

View File

@ -43,6 +43,7 @@ using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Framework.Scenes.Scripting;
using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Region.Framework.Scenes.Serialization;
using OpenSim.Region.Physics.Manager; using OpenSim.Region.Physics.Manager;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.Framework.Scenes namespace OpenSim.Region.Framework.Scenes
{ {

View File

@ -38,6 +38,7 @@ using OpenSim.Framework;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Framework.Scenes.Scripting;
using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Region.Framework.Scenes.Serialization;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.Framework.Scenes namespace OpenSim.Region.Framework.Scenes
{ {

View File

@ -40,6 +40,7 @@ using OpenSim.Framework.Monitoring;
using OpenSim.Region.ClientStack.LindenUDP; using OpenSim.Region.ClientStack.LindenUDP;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.OptionalModules.Avatar.Attachments namespace OpenSim.Region.OptionalModules.Avatar.Attachments
{ {

View File

@ -42,6 +42,7 @@ using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Framework.Scenes.Scripting;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.OptionalModules.Scripting.JsonStore namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
{ {
@ -643,4 +644,4 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
} }
} }
} }

View File

@ -67,6 +67,7 @@ using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
using System.Reflection; using System.Reflection;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.ScriptEngine.Shared.Api namespace OpenSim.Region.ScriptEngine.Shared.Api
{ {

View File

@ -62,6 +62,7 @@ using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.ScriptEngine.Shared.Api namespace OpenSim.Region.ScriptEngine.Shared.Api
{ {
@ -1787,8 +1788,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
taskItem.InvType = (int)InventoryType.Notecard; taskItem.InvType = (int)InventoryType.Notecard;
taskItem.OwnerID = m_host.OwnerID; taskItem.OwnerID = m_host.OwnerID;
taskItem.CreatorID = m_host.OwnerID; taskItem.CreatorID = m_host.OwnerID;
taskItem.BasePermissions = (uint)PermissionMask.All; taskItem.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export;
taskItem.CurrentPermissions = (uint)PermissionMask.All; taskItem.CurrentPermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export;
taskItem.EveryonePermissions = 0; taskItem.EveryonePermissions = 0;
taskItem.NextPermissions = (uint)PermissionMask.All; taskItem.NextPermissions = (uint)PermissionMask.All;
taskItem.GroupID = m_host.GroupID; taskItem.GroupID = m_host.GroupID;

View File

@ -38,12 +38,14 @@ using OpenSim.Framework;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Services.Connectors.SimianGrid namespace OpenSim.Services.Connectors.SimianGrid
{ {
/// <summary> /// <summary>
/// Permissions bitflags /// Permissions bitflags
/// </summary> /// </summary>
/*
[Flags] [Flags]
public enum PermissionMask : uint public enum PermissionMask : uint
{ {
@ -55,6 +57,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
Damage = 1 << 20, Damage = 1 << 20,
All = 0x7FFFFFFF All = 0x7FFFFFFF
} }
*/
/// <summary> /// <summary>
/// Connects avatar inventories to the SimianGrid backend /// Connects avatar inventories to the SimianGrid backend

View File

@ -38,6 +38,7 @@ using OpenSim.Services.Interfaces;
using log4net; using log4net;
using Nini.Config; using Nini.Config;
using OpenMetaverse; using OpenMetaverse;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Services.InventoryService namespace OpenSim.Services.InventoryService
{ {

View File

@ -36,6 +36,7 @@ using OpenSim.Framework;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using GridRegion = OpenSim.Services.Interfaces.GridRegion; using GridRegion = OpenSim.Services.Interfaces.GridRegion;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Services.UserAccountService namespace OpenSim.Services.UserAccountService
{ {
@ -665,4 +666,4 @@ namespace OpenSim.Services.UserAccountService
} }
} }
} }
} }

View File

@ -40,6 +40,7 @@ using OpenSim.Framework;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using pCampBot.Interfaces; using pCampBot.Interfaces;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace pCampBot namespace pCampBot
{ {
@ -362,7 +363,7 @@ namespace pCampBot
asset.Encode(); asset.Encode();
transid = Client.Assets.RequestUpload(asset,true); transid = Client.Assets.RequestUpload(asset,true);
Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing, Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item)
{ {
if (success) if (success)
{ {
@ -386,7 +387,7 @@ namespace pCampBot
asset.Encode(); asset.Encode();
transid = Client.Assets.RequestUpload(asset,true); transid = Client.Assets.RequestUpload(asset,true);
Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart, Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item)
{ {
if (success) if (success)
{ {