aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs47
1 files changed, 45 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index b3f5f09..54c312c 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -7091,32 +7091,75 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7091 taskID = new UUID(transfer.TransferInfo.Params, 48); 7091 taskID = new UUID(transfer.TransferInfo.Params, 48);
7092 UUID itemID = new UUID(transfer.TransferInfo.Params, 64); 7092 UUID itemID = new UUID(transfer.TransferInfo.Params, 64);
7093 UUID requestID = new UUID(transfer.TransferInfo.Params, 80); 7093 UUID requestID = new UUID(transfer.TransferInfo.Params, 80);
7094
7095// m_log.DebugFormat(
7096// "[LLCLIENTVIEW]: Got request for asset {0} from item {1} in prim {2} by {3}",
7097// requestID, itemID, taskID, Name);
7098
7094 if (!(((Scene)m_scene).Permissions.BypassPermissions())) 7099 if (!(((Scene)m_scene).Permissions.BypassPermissions()))
7095 { 7100 {
7096 if (taskID != UUID.Zero) // Prim 7101 if (taskID != UUID.Zero) // Prim
7097 { 7102 {
7098 SceneObjectPart part = ((Scene)m_scene).GetSceneObjectPart(taskID); 7103 SceneObjectPart part = ((Scene)m_scene).GetSceneObjectPart(taskID);
7104
7099 if (part == null) 7105 if (part == null)
7106 {
7107 m_log.WarnFormat(
7108 "[LLCLIENTVIEW]: {0} requested asset {1} from item {2} in prim {3} but prim does not exist",
7109 Name, requestID, itemID, taskID);
7100 return true; 7110 return true;
7111 }
7101 7112
7102 if (part.OwnerID != AgentId) 7113 if (part.OwnerID != AgentId)
7114 {
7115 m_log.WarnFormat(
7116 "[LLCLIENTVIEW]: {0} requested asset {1} from item {2} in prim {3} but the prim is owned by {4}",
7117 Name, requestID, itemID, taskID, part.OwnerID);
7103 return true; 7118 return true;
7119 }
7104 7120
7105 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) 7121 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0)
7122 {
7123 m_log.WarnFormat(
7124 "[LLCLIENTVIEW]: {0} requested asset {1} from item {2} in prim {3} but modify permissions are not set",
7125 Name, requestID, itemID, taskID);
7106 return true; 7126 return true;
7127 }
7107 7128
7108 TaskInventoryItem ti = part.Inventory.GetInventoryItem(itemID); 7129 TaskInventoryItem ti = part.Inventory.GetInventoryItem(itemID);
7109 if (ti == null) 7130 if (ti == null)
7131 {
7132 m_log.WarnFormat(
7133 "[LLCLIENTVIEW]: {0} requested asset {1} from item {2} in prim {3} but item does not exist",
7134 Name, requestID, itemID, taskID);
7110 return true; 7135 return true;
7136 }
7111 7137
7112 if (ti.OwnerID != AgentId) 7138 if (ti.OwnerID != AgentId)
7139 {
7140 m_log.WarnFormat(
7141 "[LLCLIENTVIEW]: {0} requested asset {1} from item {2} in prim {3} but the item is owned by {4}",
7142 Name, requestID, itemID, taskID, ti.OwnerID);
7113 return true; 7143 return true;
7144 }
7114 7145
7115 if ((ti.CurrentPermissions & ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) != ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer)) 7146 if ((
7147 ti.CurrentPermissions & ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer))
7148 != ((uint)PermissionMask.Modify | (uint)PermissionMask.Copy | (uint)PermissionMask.Transfer))
7149 {
7150 m_log.WarnFormat(
7151 "[LLCLIENTVIEW]: {0} requested asset {1} from item {2} in prim {3} but item permissions are not modify/copy/transfer",
7152 Name, requestID, itemID, taskID);
7116 return true; 7153 return true;
7154 }
7117 7155
7118 if (ti.AssetID != requestID) 7156 if (ti.AssetID != requestID)
7157 {
7158 m_log.WarnFormat(
7159 "[LLCLIENTVIEW]: {0} requested asset {1} from item {2} in prim {3} but this does not match item's asset {4}",
7160 Name, requestID, itemID, taskID, ti.AssetID);
7119 return true; 7161 return true;
7162 }
7120 } 7163 }
7121 else // Agent 7164 else // Agent
7122 { 7165 {
@@ -11389,7 +11432,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11389 // } 11432 // }
11390 } 11433 }
11391 11434
11392 //m_log.DebugFormat("[LLCLIENTVIEW]: {0} requesting asset {1}", Name, requestID); 11435// m_log.DebugFormat("[LLCLIENTVIEW]: {0} requesting asset {1}", Name, requestID);
11393 11436
11394 m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived); 11437 m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived);
11395 } 11438 }