mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 18:25:33 +08:00
Fix perms when linking an object. Set root part perms to the perms
of the link set to make the build floater behave consistently. Fixes permissions exploit introduced on 23 August.
This commit is contained in:
@@ -3410,11 +3410,18 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
|
||||
public void AdjustChildPrimPermissions()
|
||||
{
|
||||
uint newOwnerMask = (uint)PermissionMask.All & 0xfffffff8; // Mask folded bits
|
||||
uint foldedPerms = RootPart.OwnerMask & 3;
|
||||
|
||||
ForEachPart(part =>
|
||||
{
|
||||
newOwnerMask &= part.BaseMask;
|
||||
if (part != RootPart)
|
||||
part.ClonePermissions(RootPart);
|
||||
});
|
||||
|
||||
RootPart.OwnerMask = newOwnerMask | foldedPerms;
|
||||
RootPart.ScheduleFullUpdate();
|
||||
}
|
||||
|
||||
public void UpdatePermissions(UUID AgentID, byte field, uint localID,
|
||||
|
||||
Reference in New Issue
Block a user