aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2009-04-27 23:12:35 +0000
committerMelanie Thielker2009-04-27 23:12:35 +0000
commit6b5a110857fcc1ef7a150a51408852226bbf0eb0 (patch)
tree06100d2d05ebbff12dcb4e966075aa0a862f9d7a
parentAnother attempt at mantis #3527. (diff)
downloadopensim-SC_OLD-6b5a110857fcc1ef7a150a51408852226bbf0eb0.zip
opensim-SC_OLD-6b5a110857fcc1ef7a150a51408852226bbf0eb0.tar.gz
opensim-SC_OLD-6b5a110857fcc1ef7a150a51408852226bbf0eb0.tar.bz2
opensim-SC_OLD-6b5a110857fcc1ef7a150a51408852226bbf0eb0.tar.xz
Make sure that, on "Anyone can copy" the person copying the object
has transfer perms as well as copy perms. This may block some cases where the owner would normally be able to take copy. Fixes Mantis #3464
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index 25bfd7d..b8efc4a 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -51,7 +51,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
51 private uint PERM_COPY = (uint)32768; 51 private uint PERM_COPY = (uint)32768;
52 //private uint PERM_MODIFY = (uint)16384; 52 //private uint PERM_MODIFY = (uint)16384;
53 private uint PERM_MOVE = (uint)524288; 53 private uint PERM_MOVE = (uint)524288;
54 //private uint PERM_TRANS = (uint)8192; 54 private uint PERM_TRANS = (uint)8192;
55 private uint PERM_LOCKED = (uint)540672; 55 private uint PERM_LOCKED = (uint)540672;
56 56
57 /// <value> 57 /// <value>
@@ -1132,14 +1132,14 @@ namespace OpenSim.Region.CoreModules.World.Permissions
1132 if ((task.RootPart.EveryoneMask & PERM_COPY) != 0) 1132 if ((task.RootPart.EveryoneMask & PERM_COPY) != 0)
1133 permission = true; 1133 permission = true;
1134 1134
1135 if ((task.GetEffectivePermissions() & PERM_COPY) == 0) 1135 if ((task.GetEffectivePermissions() & (PERM_COPY | PERM_TRANS)) != (PERM_COPY | PERM_TRANS))
1136 permission = false; 1136 permission = false;
1137 } 1137 }
1138 else 1138 else
1139 { 1139 {
1140 SceneObjectGroup task = (SceneObjectGroup)m_scene.Entities[objectID]; 1140 SceneObjectGroup task = (SceneObjectGroup)m_scene.Entities[objectID];
1141 1141
1142 if ((task.GetEffectivePermissions() & PERM_COPY) == 0) 1142 if ((task.GetEffectivePermissions() & (PERM_COPY | PERM_TRANS)) != (PERM_COPY | PERM_TRANS))
1143 permission = false; 1143 permission = false;
1144 } 1144 }
1145 1145