mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 01:06:30 +08:00
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"
This commit is contained in:
@@ -49,6 +49,7 @@ using OpenSim.Services.Interfaces;
|
||||
using Caps = OpenSim.Framework.Capabilities.Caps;
|
||||
using OSDArray = OpenMetaverse.StructuredData.OSDArray;
|
||||
using OSDMap = OpenMetaverse.StructuredData.OSDMap;
|
||||
using PermissionMask = OpenSim.Framework.PermissionMask;
|
||||
|
||||
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
|
||||
// (owner) permissions. This becomes a problem if next permissions are changed.
|
||||
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.NextPermissions = (uint)PermissionMask.All;
|
||||
item.CreationDate = Util.UnixTimeSinceEpoch();
|
||||
|
||||
@@ -44,6 +44,7 @@ using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using Caps = OpenSim.Framework.Capabilities.Caps;
|
||||
using OpenSim.Framework.Capabilities;
|
||||
using PermissionMask = OpenSim.Framework.PermissionMask;
|
||||
|
||||
namespace OpenSim.Region.ClientStack.Linden
|
||||
{
|
||||
|
||||
@@ -51,6 +51,7 @@ using RegionFlags = OpenMetaverse.RegionFlags;
|
||||
using Nini.Config;
|
||||
|
||||
using System.IO;
|
||||
using PermissionMask = OpenSim.Framework.PermissionMask;
|
||||
|
||||
namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
{
|
||||
@@ -1808,7 +1809,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
|
||||
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);
|
||||
// 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)
|
||||
{
|
||||
const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All;
|
||||
const uint FULL_MASK_PERMISSIONS = (uint)0x7ffffff;
|
||||
|
||||
BulkUpdateInventoryPacket bulkUpdate
|
||||
= (BulkUpdateInventoryPacket)PacketPool.Instance.GetPacket(PacketType.BulkUpdateInventory);
|
||||
@@ -2067,7 +2069,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
/// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see>
|
||||
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)PacketPool.Instance.GetPacket(
|
||||
|
||||
Reference in New Issue
Block a user